Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Snake Steuerung (https://www.delphipraxis.net/131457-snake-steuerung.html)

michi2415 25. Mär 2009 13:45

Re: Snake Steuerung
 
ja das weiß ich doch habe es oben in dem Programm auch eingebaut. Es geht aber nicht

cruiser 25. Mär 2009 14:00

Re: Snake Steuerung
 
Mal der Auszug aus deinem Code + ein Kommentar:
Delphi-Quellcode:
if Direction = sUp then
    schlange[0].Y:= schlange[0].Y - 1
else if Direction = sDown then
    schlange[0].Y:= schlange[0].Y + 1
  else if Direction = sLeft then
    schlange[0].X:= schlange[0].X - 1
   else if Direction = sRight then
    schlange[0].X:= schlange[0].X + 1
// ▼ da ist der Fehler
  else if Karte[schlange[0].X, schlange[0].y] = Wand then
    begin
      GameOver;
      exit;
    end;
Begründung... du gehst entweder in eine der 4 Richtungen ODER prüfst auf Wand einschlag... und eine der 4 Richtungen hat da immer Vorrang :mrgreen:

michi2415 25. Mär 2009 14:12

Re: Snake Steuerung
 
danke schön

mimi 28. Mär 2009 11:05

Re: Snake Steuerung
 
Zitat:

PS: Die Verwaltung deiner Schlange ist durch das umkopieren im Array relativ langsam. Ich habe damals deshalb dann auf eine doppelt verlinkte Liste gewechselt.
Ich wollte dazu noch mal was sagen: Bei Größeren Listen trifft das durchaus zu, aber bei einem Snake wo evlt. gerade mal um die 20 Einträge zusammen kommen mit etwas glück ist der Aufwand mit einer normalen Liste nicht Unbedingt größer bzw. Langsamer. Ich würde auch die TObjectList empfehlen.

Im Übrigen habe ich hier ein Snake Tutorial verfasst... Ich habe auch mehrer Projekte wo ich unter anderem ein Snake geschrieben habe. Allerdings ist das ein Teil meines GamePackts für Lazarus. Aber zum rein schauen dürfte das doch gehen oder ? Wenn ihr wollt kann ich das Projekt ja mal hochladen. Die Struktur sieht so aus:
Meine 2D Engine
- Mein GamePack
- Snake
- Weitere ca 4 Spiele
Kompilieren geht unter Delphi wahrscheinlich nicht. Nicht ohne kleine Anpassungen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz