Kollision bei Pinball !!!!!!!!!!???????
Übersicht

JazooBetreff: Kollision bei Pinball !!!!!!!!!!??????? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab aml ein Pinball Clon Programmiert doch ich bekomme keine
Kollision mit den Pinball Schlägern hin !!!! Was muss ich machen damit das Funktioniert ? MfG Jazoo Code: [AUSKLAPPEN] Graphics 800,600,16,2
.NeuesSpiel Cls xyrect1 = x xyrect2 = y xball = 400 yball = 300 richtungx = Rnd(-4,4) richtungy = Rnd(-4,4) ;____________________________ ;___________________________| ;___________________________| ; Hauptschleife Repeat SetBuffer BackBuffer() Cls ClsColor 0,0,255 ;-------------------------- Rect 100,xyrect1,10,30 Rect 700,xyrect2,10,30 Oval xball,yball,5,5,1 xball = xball + richtungx yball = yball + richtungy ;--------------------------- ; Ballberechnung ( Teil 1) If xball = xyrect1 Then richtungx = Abs (richtungx) richtungy = Abs (richtungy) Endif ;---------------------------- ; Ballberechnung ( Teil 2) If yball > 600 Then richtungy = richtung - 2 EndIf If yball < 0 Then richtungy = reichtungy + 2 EndIf If xball > 800 Then Text 300,300," Spieler 2 hat verloren !!!! " Text 10,10,"Drücken sie eingabe für ein neues Spiel oder ESC um das Spiel zu verlassen !" If KeyDown (28) Then Goto NeuesSpiel EndIf EndIf If xball < 0 Then Text 300,300, " Spieler 1 hat verloren !!!" Text 10,10,"Drücken sie eingabe für ein neues Spiel oder ESC um das Spiel zu verlassen!" If KeyDown (28) Then Goto NeuesSpiel EndIf EndIf ;------------------------------- ; Spieler 1 ( Befehle ) If KeyDown ( 208 ) Then xyrect1 = xyrect1 + 10 EndIf If KeyDown (200) Then xyrect1 = xyrect1 - 10 EndIf If xyrect1 = 580 Then xyrect1 = xyrect1 - 10 EndIf If xyrect1 = - 10 Then xyrect1 = xyrect1 + 10 EndIf If KeyDown(1) Then End EndIf ;---------------------------------- ; Spieler 2 ( Befehle) If KeyDown(72) Then xyrect2 = xyrect2 - 10 EndIf If KeyDown (80) Then xyrect2 = xyrect2 + 10 EndIf If xyrect2 = 580 Then xyrect2 = xyrect2 - 10 EndIf If xyrect2 = - 10 Then xyrect2 = xyrect2 + 10 EndIf ;-------------------------------- Flip Forever |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Also erstens verstehe ich unter Pinball einen Flipper (dieses ist aber ein Ping-Pongspiel) und zweitens ich hab dein Programm mal getestet. Du hast ja diese Variablen für Balken und Ball: xyrect1 = x xyrect2 = y xball = 400 yball = 300 richtungx = Rnd(-4,4) richtungy = Rnd(-4,4) Wenn der Ball sich jetzt nach Links bewegt (also richtungx negativ ist), kann der Ball mit dem linken Balken kollidieren. Der Ball und der Balken kollideren, wenn Ball und Balken dieselbe x-Koordinte haben und der Ball größer ist, als die y-Koordinate des Balken und kleiner ist, als die y-Koordinate plus die Balkenhöhe (versteht das noch einer ![]() Kollidiert der Ball mit einem Paddle (egal, ob links oder rechts) so ändert sich die horizontale Ballgeschwindigkeit(richtungx) in die entgegengesetzte Richtung(-richtungx) Andersrum sieht es für die rechte Seite aus. Außerdem verhält es sich so an der oberen und unteren Wand: Wenn der Ball an die obere oder untere Wand stößt, ändert sich richtungy in -richtungy. Ich will dir keinen Quellcode schreiben, da du das ja selbst lernen sollst (learning by doing 8) ) |
||
- Zuletzt bearbeitet von SpionAtom am Di, Feb 08, 2005 16:01, insgesamt einmal bearbeitet
![]() |
Xalon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm die x+y koardinaten und gleiche sie mit denen von den schlägern ab.
Oder lade die schläger+ball aus ner bitmap datei. Xalon |
||
>>Besucht doch mal meine Seite,mit NEUEN Tutorials<<
User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group