Thema: Delphi Kollisionsabfrage

Einzelnen Beitrag anzeigen

Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#2

Re: Kollisionsabfrage

  Alt 10. Dez 2009, 14:19
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]
  Mit Zitat antworten Zitat