Ping Pong

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

D@NieL

Betreff: Ping Pong

BeitragSa, Apr 15, 2006 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich habe letzte Zeit Blitz Basic ausprobiert (Demo) und war so begeistert, dass ich sofort auf die Suche nach der Vollversion und einem Buch gegangen bin. Das traurige Ergebniss Sad : Bücher vergriffen, Vollversion nur aus den USA! Könnt ihr mir helfen und veraten wo ich B+ und ein Buch dazu herbekommen? Danke im Voraus.

So, nun zum eigentlichen Problem:
Da ich ein Anfänger im Bereich von Blitz Basic bin, habe ich mir vorgenommen zuerst "leicht" anzufangen. Mit """"Ping Pong"""".

Jetzt weis ich nicht wie ich die Kugel dazu bringe das sie immer hin und her "fliegt" und dann immer schneller wird! Bitte helft mir...

Mfg
D@NieL

JustTheBest

BeitragSa, Apr 15, 2006 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ganze Prinzip hier zu beschreiben würd zu lange führen, aber wenn du die Foren-Suche(oben unterm logo "suche") benutzt findest du etliche Themen!
Also gaaanz kurz zusammengefasst:
Du hast eine Variable: Speed
Die erhöhst du, je nach belieben pro schleifendurchlauf um ca. 0.01 (<-ausprobieren!) oder bei jedem "aufprall"!
Der Aufprall:
Du prüfst mit einer If-Bedingung, ob die x-Koordinate des Balles entweder unter ca. 10 ist oder über 620!
Dann gilt das Prinzip aufprallwinkel = abprallwinkel!
Das gleich machst du mit dem(/n) Schläger(n)!
Einfach mal suchen!
Gibt echt unzählige hilfen hier im Forum!
mfg
JTB
www.mas-online.de.gg
__________

Liegt der Camper tot im Keller war der Rusher wieder schneller. Liegt der Rusher tot daneben hat der Camper nen Kollegen!

darth

Betreff: ..

BeitragSa, Apr 15, 2006 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
in etwa so:

x_geschwindigkeit=5
y_geschwindigkeit=0

Code: [AUSKLAPPEN]

solange_nicht_abbruch_gedrückt:
 zeichne_kugel_an_stelle: x,y
 wenn_x=rechter_rand dann
  x_geschwindigkeit=-x_geschwindigkeit
  x_geschwindigkeit=x_geschwindigkeit-1 (schneller machen)
  y_geschwindigkeit=-y_geschwindigkeit (einfall winkel = ausfall winkel)
 ende_wenn
 wenn_x=linker_rand dann
  x_geschwindigkeit=-x_geschwindigkeit
  x_geschwindigkeit=x_geschwindigkeit+1 (schneller)
  y_geschwindigkeit=-y_geschwindigkeit (einfall winkel = ausfall winkel)
 ende_wenn
 x=x+x_geschwindigkeit
 y=y+y_geschwindigkeit
ende_solange


=> jetzt fehlt zwar noch dass y_geschwindigkeit irgendwann einmal ändert, aber da musst du sagen wann die ändern soll...
Diese Signatur ist leer.
 

D@NieL

BeitragMo, Apr 17, 2006 10:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Aha !!! Jetzt hab ichs verstanden... danke!

Bin jetzt schon relativ weit mit meinem Clone, muss nur noch mehr Levels machen!

LG D@NieL

Yankee

BeitragMi, Apr 19, 2006 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Ich hab des hier grad gefunden und hab in meinem vollen speicher auch ein ping pong gefunden, so wie du es wolltest, glaube ich^^ hier isses, wenn du willst (musst nur kopieren, dann haste es)
Code: [AUSKLAPPEN]

Graphics 640, 480

SetBuffer BackBuffer()

ball_x = 120
ball_y = 240
x_speed = 2
y_speed = 2

player1_x = 10
player1_y = 240

player2_x = 610
player2_y = 240

speed_1 = 3
speed_2 = 3

score1 = 0
score2 = 0

schrift = LoadFont("arial", 20,False,True,False)
SetFont schrift

While Not KeyHit(1)

   ClsColor 255,255,255
   Cls


   If ball_y > 455 Or ball_y < 0 Then
      y_speed = -y_speed
   EndIf
   
   If KeyDown(31) Then player1_y = player1_y + speed_1
   If KeyDown(17) Then player1_y = player1_y - speed_1
   
   ;player 2
   If KeyDown(208) Then player2_y = player2_y + speed_2
   If KeyDown(200) Then player2_y = player2_y - speed_2

   
   ball_x = ball_x + x_speed
   ball_y = ball_y + y_speed
   
   ;abprallen
   If (ball_x < 10) And (ball_y > - 50 + player1_y And ball_yw < 50 + player1_y) Then
      If x_speed < 0 Then 
         x_speed = x_speed - 1
      Else
         x_speed = x_speed + 1   
      EndIf
      x_speed = -x_speed
   EndIf
   
   If (ball_x > 590) And (ball_y > - 50 + player2_y And ball_y < 50 + player2_y) Then
      If x_speed < 0 Then 
         x_speed = x_speed - 1
      Else
         x_speed = x_speed + 1   
      EndIf
      x_speed = -x_speed
   EndIf
   
   ;ueberpruefen die punkte
   If ball_x < -10 Then
      score2 = score2 + 1
      ball_x = 320
      ball_y = 240
      x_speed = -x_speed
      y_speed = -y_speed
      x_speed = 1
      player1_y = 240
      player2_y = 240
   EndIf
   
   If ball_x > 640 Then
      score1 = score1 + 1
      ball_x = 320
      ball_y = 240
      x_speed = -x_speed
      y_speed = -y_speed
      x_speed = 1
      player1_y = 240
      player2_y = 240
   EndIf
      
   
   ;damit man nicht zu weit gehen kann
   If player1_y < 50 Then player1_y = 50
   If player2_y < 50 Then player2_y = 50
   
   If player1_y > 430 Then player1_y = 430
   If player2_y > 430 Then player2_y = 430
            
   Color 0,0,255
   Text 160, 10, score1
   Text 480, 10, score2   
      
   Color 200,200,40   
   Line player1_x, player1_y + 50, player1_x, player1_y - 50
   Line player2_x, player2_y + 50, player2_x, player2_y - 50

   Color 100,200,40
   Oval ball_x, ball_y, 20,20
   
   Flip
   
Wend

End


Hoffe des hier nuetzt dir was... Very Happy
Cu
Um so kleiner der code, um so schwieriger den Fehler zu finden:


Siehst du den Fehler?
Klick mal hier drauf... hehehe
 

ke^kx

BeitragDo, Apr 20, 2006 8:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Lol? "Du musst nur kopieren, dann haste es!" Evil or Very Mad Was ist das denn für ne einstellung? Es geht doch genau darum, dass man eben nicht copy-paste machen soll...

Aber gut, jedem das seine...

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

D@NieL

BeitragDo, Apr 20, 2006 9:55
Antworten mit Zitat
Benutzer-Profile anzeigen
@ jiriki: Hab schon mein eigenes Ping Pong "Smaily Ping Pong" gemacht seit 3 Tagen... hab nix gekoppiert.. nur bei der Sinusrechnung für den ball hat mir wer geholfen Smile

Danke für eure hilfe habs schon rausgefunden und kapiert Smile (Hab keinen Code gefordert)

Lg D@niel
 

ke^kx

BeitragDo, Apr 20, 2006 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meinte auch garnicht dich, sondern den, der den Code gepostet hat mit ebendiesem schon fast anrüchigem Kommentar.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Yankee

BeitragFr, Apr 21, 2006 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
meinte doch nur als Beispiel, fuer das Spiel.....
Aber wenn ihr meine Hilfe net wollt.... Ach egal


Yankee Cool
Um so kleiner der code, um so schwieriger den Fehler zu finden:


Siehst du den Fehler?
Klick mal hier drauf... hehehe

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group