Thema: Delphi Snake (das Spiel)

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#23

Re: Snake (das Spiel)

  Alt 25. Mai 2004, 17:23
Das interessante bei der Sache ist das die Schlange im Speicher nicht verschoben wird, sondern ich setze den Anfang nur neu.

Bsp.:
Speicher:

Code:
  iHead = 2
  iLen = 3
  ((1, 2), (1, 3), (2, 3), (?, ?), (?, ?), ...)
Nach der Bewegung:
Code:
  iHead = 3
  iLen = 3
  ((1, 2), (1, 3), (2, 3), (3, 3), (?, ?), ...)
Noch eine:
Code:
  iHead = 4
  iLen = 3
  ((1, 2), (1, 3), (2, 3), (3, 3), (4, 3), (?, ?), ...)
(Index bei 0 beginnend)


Das Grow (Wachstum) kümmert sich um das längerwerden der Schlange.

Ungefähr so:

Delphi-Quellcode:
if iGrow > 0 then
   begin
     Inc(iLen);
     Dec(iGrow);
   end;
Bsp:
Code:
  iGrow = 2
  iHead = 2
  iLen = 3
  ((1, 2), (1, 3), (2, 3), (?, ?), (?, ?), ...)
Bewegung:
Code:
  iGrow = 1
  iHead = 3
  iLen = 4
  ((1, 2), (1, 3), (2, 3), (3, 3), (?, ?), ...)
Noch eine:
Code:
  iGrow = 0
  iHead = 4
  iLen = 5
  ((1, 2), (1, 3), (2, 3), (3, 3), (4, 3), (?, ?), ...)
Eine ohne Wachstum da iGrow = 0
Code:
  iGrow = 0
  iHead = 5
  iLen = 5
  ((1, 2), (1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (?, ?), ...)
Wie man sieht kommt man bei meinen Algo ohne irgentwelche aufwendigen Schleifen aus. Was bei Handy, GTR oder alten Rechnern wichtig ist. Da die ja nicht so Schnell sind.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat