Thema: Delphi 2d game:ping-pong

Einzelnen Beitrag anzeigen

Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#2

Re: 2d game:ping-pong

  Alt 9. Apr 2005, 11:02
Zitat:
Habt ihr vorschläge wie wir den Ball zum bewegen kriegen können und wie die Flugbahn berechnet werden soll?..
Das Abprallen eines Balls an vier Wänden, die in einem Rechteck angeordnet sind, löse ich folgendermaßen (Pseudocode).
Wenn der Ball an Schlägern abprallt, geht es im Prinzip genauso nur musst du vorher abfragen ob der Ball überhaupt auf den Schläger auftrifft oder ins "Aus" geht.
Code:
boolean outside=false;
   // Kollision mit linker und rechter Wand überprüfen:
if (kollision mit linker oder rechter wand) then
   if (not outside)
   begin
      bewegung.x := -bewegung.x;
      outside:=true;
   end;

if (kollision mit oberer oder unterer wand) then
   if (not outside)
   begin
      bewegung.y := -bewegung.y;
      outside:=true;
   end;

if (ballposition + ballradius > LinkeWand) AND (ballposition + ballradius < RechteWand) AND (ballposition - ballradius > UntereWand) AND (ballposition - ballradius < ObereWand) then outside:=false;
Ich kann dir keinen Delphicode geben weil das Programm nicht in Delphi geschrieben ist. Sollte aber keine Probleme machen den Pseudocode zu verstehen, ansonsten --> fragen.
Lukas
  Mit Zitat antworten Zitat