Thema: Delphi Pacman

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Pacman

  Alt 15. Jun 2009, 18:22
Deine Geister dürfen nicht bei jedem Schritt eine neue Richtung bekommen,
sondern nur wenn sie auf ein Hindernis getroffen sind.
in Pseudocode:
Delphi-Quellcode:
procedure BewegeGeist(geist);
begin
  repeat
    neuePos := BrechneNeueKoordinaten(geist.aktuellePosition, geist.Richtung);
    Wenn neuePos frei ist dann
      geist.aktuellePosition = neuePos
      ZeicheGeist(geist)
      Bewegt := True
      if neuePos = Spieler dann
         MampfMampf
    else
      geist.Richtung := zufallsrichtung
  until Bewegt;
end;
Man kann das noch verfeinern, wenn man zusätzlich zur Zufallsrichtung noch zufällig die Anzahl der max. Schritte (zwischen 2 und 10) festlegt.
Jeder Geist zählt dann die Schritte runter bis auf 0 (falls er nicht vorher auf Hindernis drauf) und bekommt dann eine neue Richtung.
Andreas
  Mit Zitat antworten Zitat