Ihr habt ja vielleicht schon die Kollision der Schlange mit sich selbst und mit den Äpfeln/Mäusen eingebaut?
So ähnlich sollte das auch mit den Wänden gehen:
- Wände als zweidimensionales/n (?
) Array laden
- in einer doppelten For-Schleife die Position des Schlangenkopfes mit der Position der aktuellen Wand vergleichen
[edit] Warum bitte speichert ihr den Quellcode als *.doc?!
Ihr habt es ja schon fast:
Delphi-Quellcode:
for i := 0 to breite do
for j := 0 to hoehe do
begin
case map[i, j] of
-1: col := farben[1];
0: col := farben[0];
else
col := farben[2];
end;
PaintBox1.Canvas.Brush.Color:=col;
PaintBox1.Canvas.FillRect(Rect(i*raster, j*raster, (i+1)*raster, (j+1)*raster));
end;
//jetzt nur noch das gleiche mit dem Vergleich zwischen Wand- und Kopfposition ;)
Allerdings: Wie macht ihr das, wenn die Schlange mal "um die Ecke" geht? Wie ich das sehe, habt ihr zwar die Position des Kopfes, aber nur die Länge des gesamten Körpers. Bei meinem Snake-Spiel hatte ich für die Positionen der Körpersegmente ein eigenes Array benutzt. Oder werden die bei euch auch in der Map gespeichert..?[edit]