Einzelnen Beitrag anzeigen

zahor

Registriert seit: 27. Jun 2006
Ort: im hintersten Winkel des RAMs
182 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Abprallen des Balles Minigolf

  Alt 24. Okt 2008, 11:10
also ich habs mir grade mal überlegt wie man das machen müsste. Nur so hingeschrieben, nicht ausprobiert.
ich gehe mal davon aus, dass du das nicht objektorientiert machen willst, also:
zuerst braucht man ne variable für die richtung, in die der Ball fliegt.
das ist dann ne gradangabe.
dann muss die timer-methode etwa so aussehen:
Delphi-Quellcode:
procedure TForm1.MoveTimer(Sender: TObject);
  with ball do
  begin
    if (top <= 0) or (top >= hoehe) then
      richtung := Abs(360 - richtung) mod 360;
    if left <= 0 then
      richtung := Abs(180 - richtung) mod 360;
    if left >= breite then
      richtung := Abs(540 - richtung) mod 360;
  end;
also das ist nur das für die Spielfeldwände. dabei ist hoehe die Spielfeldhöhe und breite die Spielfeldbreite. dann musst du das ganze noch zeichnen - die winkel sind wie im einheitskreis angegeben.
sprich 0° ist gerade nach rechts, 90° gerade nach oben, 180° dementsprechend gerade nach links, 270° nach unten, und 360° wieder nach rechts.
bei unklarheiten wie ich auf die richtungsberechnungen gekommen bin frag einfach nach.
Real Programmers always confuse Christmas and Halloween because Oct31 = Dec25. - Andrew Rutherford
  Mit Zitat antworten Zitat