Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
Delphi 7 Architect
|
Re: Snake (das Spiel)
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!
|