Einfaches Ping Pong mit Delphi (mSum)--> Need Help!
Hallo!
Wir müssn in info ne art "facharbeit" erledigen .. naja Delphi is nich wirklich meine stärke.
Un zwar möchte ich das Spiel Pong erstellen jedoch habe ich Probleme mit dem abprallen von dem Schläger. Vom Spielfeld klappts.
Kann mir mal bitte jemand sagen was ich falsch gemacht hab und mir das bitte mal erklären?
Meine Pong Unit
Hauptprogramm
Schläger
Vielen dank im vorraus!
31.03.2009, 18:42
Manni
Es wäre vielleicht hilfreich, wenn du das Problem etwas mehr eingrenzen könntest. Ich zumindest hab keine Lust, mir erstmal einen Haufen Code zu verstehen, um dir helfen zu können ;)
31.03.2009, 22:19
Chaintz
Oh das hab ich ganz vergessen :D sry
Also mein Problem ist, dass der Ball (Pong) nicht von dem Schläger abprallt.
Es ist als befände sich ein unsichtbares Spielfeld neben dem Schläger in dem sich der Ball bewegt.
Außerdem bewegt sich der ball nur wenn der schläger auf gleicher höhe wie der Pong befindet.
(Also Unit Pong
Pong.rolle
und Pong.Wandabprall)
04.04.2009, 15:18
Brauni90
Wenn deine Funktion flexibel genug ist, tausche den Anweisungsblock "procedure Pong.Wandabprall; begin; [...] end;" mit Folgendem aus:
Code:
if self.hPosition>= kenntSpielfeld.rechterRand-zGroesse-zGeschwindigkeit
then self.dreheBis(180-self.winkel);
if self.hPosition<= kenntSpielfeld.linkerRand+zGroesse+zGeschwindigkeit
then self.dreheBis(180-self.winkel);
if self.vPosition>= kenntSpielfeld.untererRand-zGroesse-zGeschwindigkeit
then self.dreheBis(-self.winkel);
if self.vPosition<= kenntSpielfeld.obererRand+zGroesse+zGeschwindigkeit
then self.dreheBis(-self.winkel);
if self.hPosition<= kenntSchlaeger.rechterRand+zGroesse+zGeschwindigkeit
then self.dreheBis(180-self.winkel);
if self.hPosition>= kenntSchlaeger.linkerRand-zGroesse-zGeschwindigkeit
then self.dreheBis(180-self.winkel);
if self.vPosition<= kenntSchlaeger.untererRand+zGroesse+zGeschwindigkeit
then self.dreheBis(-self.winkel);
if self.vPosition>= kenntSchlaeger.obererRand-zGroesse-zGeschwindigkeit
then self.dreheBis(-self.winkel);
13.09.2012, 21:17
mirko schirpe
versuchs mal damit dass du mit einer if abfragst ob die y koordinate vom ball mit der vom flipper übereinstimmern wenn die x koordinaten von ball und flipper gleich sind (if xkoordinateball=xkoordinateflipper and ykoordinateball ungleich ykoordinateflipper then ballmove.enabled:=false) also lässt der den ball nur weiterlaufen, wenn der ball auch auf gleicher höhe wie der flipper ist, sonst stoppt der ball...
ist das verständlich?? :D
13.09.2012, 21:46
DFYX
Zitat:
Zitat von mirko schirpe
versuchs mal damit dass du mit einer if abfragst ob die y koordinate vom ball mit der vom flipper übereinstimmern wenn die x koordinaten von ball und flipper gleich sind (if xkoordinateball=xkoordinateflipper and ykoordinateball ungleich ykoordinateflipper then ballmove.enabled:=false) also lässt der den ball nur weiterlaufen, wenn der ball auch auf gleicher höhe wie der flipper ist, sonst stoppt der ball...
ist das verständlich?? :D
Bitte nicht nekroposten. Der Thread ist drei Jahre alt. Ich glaube nicht, dass deine Antwort noch jemandem hilft.