Ping Pong Spiel mit Blitz2D

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

bruce185

Betreff: Ping Pong Spiel mit Blitz2D

BeitragMo, Mai 02, 2005 6:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
ich programmiere gerade ein Ping Pong Spiel, aber wie bekomme ich das der Kugel hin und her springt, so sieht das inzwischen aus:

BlitzBasic: [AUSKLAPPEN]
Graphics 360,500,16,2
SetBuffer BackBuffer()

ball = LoadImage(\"ball.bmp\")
schlaeger= LoadImage(\"schläger.bmp\")
schluss = LoadImage(\"schluss.bmp\")


Repeat
Cls

DrawImage ball,x,y
DrawImage schlaeger,a+140,b+450
DrawImage schluss,0,500

MaskImage schuss,255,0,255
MaskImage ball,255,0,0

If ImagesCollide(ball, x, y, 0, schluss,0,498,0) Then Text 0,0, \"Sie haben verloren\"


; Den Schläger bewegen
If KeyDown(205)
If a < 130 Then a = a + 5
ElseIf KeyDown(203)
If a > -140 Then a = a - 5
EndIf

Flip
Until KeyHit(1)
End


wisst ihr zuffaliger weisse was ich schreiben muss, damit sich der ball dopst in verschiedene richtung, ich bin euch sehr dankbar wenn ihr mir helft, danke schonmal.

MFG Christian

Bigmichi

BeitragMo, Mai 02, 2005 7:02
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst einfach den bal halt in bewegung halten und wenn er irgendwo andüpst musst du sein Winkel ändern... d.h. schoma das alles über WInkel laufen musst... aber es gibt genug hier im Forum musst du nur mal suchen =)
 

gamble

BeitragMo, Mai 02, 2005 7:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal den vierten Thread in "FAQ / Tutorials" an Wink

bruce185

BeitragMo, Mai 02, 2005 7:19
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du mir vieleicht ein beispiel schreiben, werde mich sehr freuen, danke schonmal.

MFG Christian

BladeRunner

Moderator

BeitragMo, Mai 02, 2005 7:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Antwort darauf sollte ein klares NEIN sein. Wenn wir dir deinen Code vorschreiben lernst du nichts. Und es gibt hier schon massig gute Beispiele.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Alfadur

BeitragMo, Mai 02, 2005 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
außerdem : schau nochmal auf deine variablen. da haste mal schluss, da haste mal schuss ... so gehts nicht.
A Cray is the only computer that runs an endless loop in less than four hours.

bruce185

BeitragMo, Mai 02, 2005 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
schluss sollte für's ende sein und schuss sollte für schüsse sein

bruce185

BeitragMo, Mai 02, 2005 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich habs hinbekommen nur noch ein kleines problem habe ich, wenn der ball den schläger berührt dann soll praktisch der ball wieder hoch springen, aber ich habe den schläger positioniert mit a und b, und wenn ich das jetzt mit Collisionsabfrage machen will dann geht das nicht, der erkennt nicht in welcher position der schläger gerade ist, also ich habe das so gemacht:

BlitzBasic: [AUSKLAPPEN]
Graphics 370,500,16,2
SetBuffer BackBuffer()

Global x# = 300.0, y# = 300.0
Global angle# = Rnd( 0, 359 )
Global speed# = 5.7

ball = LoadImage(\"ball.bmp\")
schlaeger= LoadImage(\"schläger.bmp\")
schluss = LoadImage(\"schluss.bmp\")
ball1 = LoadAnimImage(\"ball1.bmp\", 31, 31, 0, 4)

sound = LoadSound(\"smile.mp3\")

Repeat
Cls

While Not KeyHit(1)
Cls
ClsColor 50,20,255
; Den Schläger bewegen
If KeyDown(205)
If a < 141 Then a = a + 5
ElseIf KeyDown(203)
If a > -134 Then a = a - 5
EndIf

DrawImage schlaeger,a+136,b+450
MaskImage schlaeger,255,0,255
DrawImage schluss,0,500

DrawImage ball1,x#,y#,0
MaskImage ball1,255,0,255


x# = x# + Cos(angle#) * speed#
y# = y# + Sin(angle#) * speed#

If y# > 480 Or y# < 0
angle# = 360 - angle#
EndIf

If x# < 0 Or x# > 350
angle# = 180 - angle#
EndIf

If ImagesCollide(ball1, x, y, 0, schluss,0,498,0) Then
DrawImage ball1,x#,y#
EndIf

If ImagesCollide(ball1, x, y, 0, schlaeger, a, b, 0) Then
ElseIf y# < 0 Or y# > 450
angle# = 360 + angle#
EndIf


Flip
Wend
Flip
Until KeyHit(2)
End


habe ich vieleicht irgendetwas falsch gemacht, könnt ihr mir vieleicht ein tip geben wie das sonst noch funktionieren kann, ich wäre euch sehr dankbar.

MFG Christian Wink

bruce185

BeitragDi, Mai 03, 2005 1:03
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, ich habe es hinbekommen.
Ich habe einfach den abstand vom schläger berechnet mit Collisionsabfrage, und wenn der ball den schläger berührt dann habe ich den winkel berechnet damit der ball weiter springt, aber trotzdem vielen dank für die hilfe.

MFG Christian

bruce185

BeitragDo, Mai 05, 2005 6:59
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo noch einmal,
ich habe mein Ping Pong spiel fast fertig, noch eine frage hätte ich,
wie kann ich machen wenn ich mit dem ball ein gewünschtes bild treffe das es dann verschwindet, das geht doch irgendwie mit delete oder?? Rolling Eyes
ich danke euch schonmal.

Christian

satzzeichen

BeitragDo, Mai 05, 2005 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau einfach mal im Forum! (Suchfunktion...?) da gibts irgendwo ein komplettes Pong Spiel mit KI und allem drum und dran Smile dort dürftest auch ne Antwort dadrauf finden naja ansonsten machstes so:

Code: [AUSKLAPPEN]
global draw_ob = 1

if "object" trifft "delete_object" then "draw_ob = 0"

if draw_ob = 1 then drawimage "delete_object"


Müsstest dann nurnoch mit korekktem Code (ImagesOverlap...) ersetzen Smile bzw. mit den Namen deiner Pictures

Ctuchik

BeitragDo, Mai 05, 2005 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hasse es, wenn die Leute immer Fragen wie man ein Bild verschwinden lässt! Man lässt aber keine Bilder verschwinden, man hört einfach auf es zu zeichnen! Mag sein, dass das in Blitz3D mit Objekten so ist (kenne mich da nicht aus, habe kein Blitz3D)! Aber es gibt keinen Befehl, um Bilder "verschwinden" zu lassen!
Das Bild ist sowieso nur da, weil man es jeden Frame wieder zeichnet, wenn man es nicht zeichnet ist es auch nicht da! Rolling Eyes

Danke für ihre Aufmerksamkeit!

MfG Ctuchik
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

satzzeichen

BeitragSa, Mai 07, 2005 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Irgendwie hats Ctuchik voll auf den Punkt gebracht gg

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group