Thema: Delphi Counter Strike in 2D

Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#14

Re: Counter Strike in 2D

  Alt 10. Okt 2004, 11:56
Hi mimi,

es wär aber besser, Gegner im Umkreis von z.B. 500 Pixel zu finden:

Ich nehme jetzt einfach an, dass Player[0] der PC-Spieler ist, und der Rest KI-Spieler.
Delphi-Quellcode:
for i := 1 to Players.Count-1 do
begin
  if Players[0].Team <> Players[i].Team then
  begin
    if Sqr(Players[0].Position.X-Players[i].Position.X)+Sqr(Players[0].Position.Y-Players[i].Position.Y) > Sqr(Umkreis) then
      //Gegner markieren
  end;
end;
Hier werden nur Spieler überprüft, die nicht im Team des PC-Spielers sind. Die if-Abfrage berechnet den Abstand zwischen den Spielern, und vergleicht ihn mit dem maximalen Abstand (Umkreis). Dieser muss quadriert werden, außer du willst die Wurzel des linken Teils des Vergleichs ziehen. Hier fehlt allerdings noch eine Überprüfung, ob ein Objekt im Weg ist. Das wird schon etwas komplizierter.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat