Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [PONG] Kollision mit Schläger funktioniert nicht (https://www.delphipraxis.net/25304-%5Bpong%5D-kollision-mit-schlaeger-funktioniert-nicht.html)

flomei 4. Jul 2004 14:10


[PONG] Kollision mit Schläger funktioniert nicht
 
Hallo!
Wahrscheinlich ist es mal wieder ein ganz dämlicher Fehler in meinem grausamen Code der mir das Weiterarbeiten erschwert, deshalb würde ich mich sehr freuen, wenn mal einer gucken könnte woran es liegt.

DANKE!

Delphi-Quellcode:
// Ball bewegen
procedure TMainForm.TimerMoveBallTimer(Sender: TObject);
  begin
    ShpBall.Left := ShpBall.Left + x_step;
    ShpBall.Top := ShpBall.Top  + y_step;

    begin
      if
        (ShpBall.Left > Screen.Width - ShpBall.Width - 1) or (ShpBall.Left < 1)
      then
          x_step := x_step * -1;
      if
        (ShpBall.Top > Screen.Height - ShpBall.Height - 1) or (ShpBall.Top < 1)
      then
        y_step := y_step * -1;
    end;
    begin
      if
        (((ShpBall.Left = 110) and ((ShpBall.Top >= PnlLeftPaddle.Top) and (ShpBall.Top <= PnlLeftPaddle.Top + 100)))
          OR
         ((ShpBall.Left = Screen.Width - 110) and ((ShpBall.Top >= PnlRightPaddle.Top) and (ShpBall.Top <= PnlRightPaddle.Top + 100))))
      then
        begin
          x_step := x_step * -1;
          y_step := y_step * -1;
        end
    end
  end;
MfG Florian :hi:

tommie-lie 4. Jul 2004 14:27

Re: [PONG] Kollision mit Schläger funktioniert nicht
 
Was geht denn nicht?
Ich bin der Meinung, daß in der unteren if-Abfrage (mit den Panels) nur "x_step := x_step * -1;" hingehört, die y-Richtung wird ja nicht verändert. Und irgendwie muss doch für die Abfrage für die untere Seite auch noch der Durchmesser des Balls abgezogen werden... :gruebel:
Und daß du in der ersten if-Abfrage (mit dem Screen) auch den rechten und linken Rand berücksichtigst, obwohl da ja eigentlich die Panels für zuständig sind, kommt mir irgendwie auch spanisch vor ;-)

flomei 4. Jul 2004 14:41

Re: [PONG] Kollision mit Schläger funktioniert nicht
 
JA... :roll: ...leuchtet ein...

Werd nochmal gucken...

MfG Florian :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz