Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#2

Re: pong-bug! suche hilfe

  Alt 23. Jun 2009, 15:28
Willkommen in der DP,

mein erstes Spiel sah auch so ähnlich aus wie deines momentan.

Ich hab hier vorerst mal ein paar Tipps:
  • Nicht das ganze Spiel in einer Prozedur programmieren, sondern bestimmte Teile 'auslagern'. (Beispiel: procedure OnBallMovedRightOut)
  • Eine einheitliche Code-Formatierung hilft ungemein
  • (Für spätere/größere Projekte Objektorientierung anschauen)
Zum eigentlichem Fehler:
Den wirst du sicherlich schnell finden, wenn du den Code in Prozeduren aufgesplittet hast.
Setz dazu mal ein paar Breakpoints und du wirst sehen, der Ball verändert zu häufig seine Richtung.

btw: Die Ballgeschwindigkeit verändert sich proportional mit allen anderen Zeitwerten

Edit:
Da das hhargenau mein aller erstes Problem in Delphi war, hier nochmal ein kleiner Hinweis:
Überleg mal was passiert, wenn der Schläger des Spielers seitwärts in den Ball reinfährt.
Der Ball ändert die Richtung und fliegt ein paar Pixel weit zurück.
Da der Schläger aber ziemlich breit ist, trifft der Ball den Schläger erneut und ändert wieder die Richtung.
So geht das dann die ganze zeit weiter...
(zugegeben: ich hab das Problem damals nie gelöst )
  Mit Zitat antworten Zitat