Wie programmier ich ein einfaches PingPong ?
Übersicht

cybyBetreff: Wie programmier ich ein einfaches PingPong ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
habe gestern für einen Freund eine kleine PingPong Tutorial geschrieben, vielleicht hilft es jemanden ^^ ! Unterteilt in 4Teile , wenn ein gutes Feedback kommt werde ich wohl noch mehr schreiben ![]() Code: [AUSKLAPPEN] ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Ping Pong Tutorial ;25.7.2004 ;by cyby ;Tutorial1 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;e-mail: cyby-online@web.de ;homepage: www.selobrain.de ;Ihr dürft das Tutorial frei verwenden,weitergeben erändern ect. ! Wenn ihr es auf eure Seite stellen ;wollt wäre eine kleine Benachrichtigung nett , nicht das ich Überraschungen erlebe . ;Willkommen zu einer Tutorial, in der sie ein ganz einfaches Spiel schreiben . Jeder kennt es und das ;Spielprinzip ist jedem klar . PingPong ! Man hat einen Schläger womit man den rumfliegenden Ball ;abwähre muss ! ;Vorraussetzung sind einfache Programmierkenntnisse wie Schleife,Variablen und ein bischen 2d. ;Erlernen könnt ihr dies am besten durch Tutorials die ihr auf www.robsite.de oder www.blizbase.de ;findet ! ; ;Spielfeldaufbau: ;Oben , Unten und Rechts sind Blöcke wo der Ball zurück fliegt und die Linke Seite ist frei wo der ;Schläger ist . ;Steuerung: ;Der Schläger wird mit den Pfeiltaste "hoch" nach oben und mit "unter" nach unten bewegt , beenedet wird ;das Spiel mit ESCAPE . ; ;Am besten wir fangen mal an.... Graphics 640,480,16,2 ;das starten es Bildschiermes ;graphics breite,höhe,farbtiefe,modus (0 = normal , 2 = fenster) SetBuffer BackBuffer();den Buffer starten wo die Grafiken rein geschrieben werden... ;hauptschleife Repeat ;starten der Repeat-Until Schleife Cls ;löscht den Bildschierm bei den durchlauf der Schleife Flip ;flipt alles, damit die Bilder ect. bewegt werden Until KeyHit(1) ;ende der Hauptschleife ;Keyhit(code) ;code ist die Nummer der Taste , hier 1 für ESCAPE End ;alles beenden , damit nicht immer das Fenster am Schluss kommt ;So das wars auch schon mit der 1ten Tutorial, in der 2ten Zeichnen wir die 3 Blöcke,den Schläger und ;den Ball . Code: [AUSKLAPPEN] ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Ping Pong Tutorial ;25.7.2004 ;by cyby ;Tutorial2 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;e-mail: cyby-online@web.de ;homepage: www.selobrain.de ;Ihr dürft das Tutorial frei verwenden,weitergeben erändern ect. ! Wenn ihr es auf eure Seite stellen ;wollt wäre eine kleine Benachrichtigung nett , nicht das ich Überraschungen erlebe . ;Wie schon in Tutorial 1 gesagt werden wir jetzte die 3 Blöcke,den Schläger und den Ball zeichnen. ; ;Am besten wir fangen mal an.... Graphics 640,480,16,2 ;das starten es Bildschiermes ;graphics breite,höhe,farbtiefe,modus (0 = normal , 2 = fenster) SetBuffer BackBuffer();den Buffer starten wo die Grafiken rein geschrieben werden... ;variablen deklarieren(=zuweisen) ;nun werden wir ein paar Variablen für die Schlägerx/-Schlägery-Possition und Ballx/-Bally-Possition ;deklarieren schlaegerx = 5 ;6 pixel vom linken Rand weg , da es bei 0 anfängt - x = waagerecht schlaegery = (480/2)-15 ;226 pixel vom oberen Rand weg, da es bei 0 anfängt - y = senkrecht ;480/2 also, die Höhe des Bildschiermes ist 480 und die durch 2 Teilen = 240 ;(480/2)-15 = 240-15 , da der Schläger 30 Pixel hoch ist und wir die obere Linke Ecke vom Schläger ;brauchen um ihn zu zeichnen ballx = (640/2)-2; 317 Pixel vom linken Rand weg bally = (480/2)-2; 237 Pixel vom oberem Rand weg ;die Formeln (640/2)-2 und (480/2)-2 sollten sich von oben her alleine erklären ;hauptschleife Repeat ;starten der Repeat-Until Schleife Cls ;löscht den Bildschierm bei den durchlauf der Schleife ;zeichnen von den Schlägern ... ;als erstes wollen wir mal eine Farbe für die Kästen und Kugel wählen Color 255,255,255 ;alle Sachen wo jetzte danach geschrieben oder gezeichnet werden sind in der ;gewählten Farbe ;color rot,grün,blau Rect schlaegerx,schlaegery,5,30;wir zeichnen einen Kasten mit der Breite 5 und der Höhe 30 ;rect start x-possition,start y-possition,breite,höhe Rect ballx,bally,2,2;wir zeichnen einen Ball in der Mitte des Bildschiermes Rect 0,0,640,20;einen Balcken oben zeichnen Rect 0,480-20,640,20;einen Balcken unten zeichnen Rect 640-20,0,20,480;einen Balcken hinten zeichnen Flip ;flipt alles, damit die Bilder ect. bewegt werden Until KeyHit(1) ;ende der Hauptschleife ;Keyhit(code) ;code ist die Nummer der Taste , hier 1 für ESCAPE End ;alles beenden , damit nicht immer das Fenster am Schluss kommt ;So, das war es auch schon mit der 2ten Tutorial , in der 3ten werden wir lernen wir man den Schläger ;bewegt. Code: [AUSKLAPPEN] ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Ping Pong Tutorial ;25.7.2004 ;by cyby ;Tutorial3 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;e-mail: cyby-online@web.de ;homepage: www.selobrain.de ;Ihr dürft das Tutorial frei verwenden,weitergeben erändern ect. ! Wenn ihr es auf eure Seite stellen ;wollt wäre eine kleine Benachrichtigung nett , nicht das ich Überraschungen erlebe . ;Wie schon in Tutorial 2 gesagt werden wir jetzte den Schläger bewegen . ; ;Am besten wir fangen mal an.... Graphics 640,480,16,2 ;das starten es Bildschiermes ;graphics breite,höhe,farbtiefe,modus (0 = normal , 2 = fenster) SetBuffer BackBuffer();den Buffer starten wo die Grafiken rein geschrieben werden... ;variablen deklarieren(=zuweisen) ;nun werden wir ein paar Variablen für die Schlägerx/-Schlägery-Possition und Ballx/-Bally-Possition ;deklarieren schlaegerx = 5 ;6 pixel vom linken Rand weg , da es bei 0 anfängt - x = waagerecht schlaegery = (480/2)-15 ;226 pixel vom oberen Rand weg, da es bei 0 anfängt - y = senkrecht ;480/2 also, die Höhe des Bildschiermes ist 480 und die durch 2 Teilen = 240 ;(480/2)-15 = 240-15 , da der Schläger 30 Pixel hoch ist und wir die obere Linke Ecke vom Schläger ;brauchen um ihn zu zeichnen ballx = (640/2)-2; 317 Pixel vom linken Rand weg bally = (480/2)-2; 237 Pixel vom oberem Rand weg ;die Formeln (640/2)-2 und (480/2)-2 sollten sich von oben her alleine erklären ;hauptschleife Repeat ;starten der Repeat-Until Schleife Cls ;löscht den Bildschierm bei den durchlauf der Schleife ;zeichnen von den Schlägern ... ;als erstes wollen wir mal eine Farbe für die Kästen und Kugel wählen Color 255,255,255 ;alle Sachen wo jetzte danach geschrieben oder gezeichnet werden sind in der ;gewählten Farbe ;color rot,grün,blau Rect schlaegerx,schlaegery,5,30;wir zeichnen einen Kasten mit der Breite 5 und der Höhe 30 ;rect start x-possition,start y-possition,breite,höhe Rect ballx,bally,2,2;wir zeichnen einen Ball in der Mitte des Bildschiermes Rect 0,0,640,20;einen Balcken oben zeichnen Rect 0,480-20,640,20;einen Balcken unten zeichnen Rect 640-20,0,20,480;einen Balcken hinten zeichnen ;schläger bewegen If KeyDown(200) Then ;wenn man die Pfeiltaste nach oben drückt ;dann wird der Schläger nach oben bewegt , also die Y-Possition vermindert schlaegery = schlaegery - 5 EndIf If KeyDown(208) Then ;das gleich nur nach unten ;nun wir die Y-Possition verhöht schlaegery = schlaegery + 5 EndIf ;Da die Schläger aber unten und oben nicht weiter als die Balcken gehen dürfen müssen wir sie stoppen. If schlaegery < 20 ;wenn der Schläger kleiner als 20 Pixel ist , wird er wieder auf 20 gesetzt schlaegery = 20 EndIf If schlaegery > 460-30;wenn er größer als 460 wird , wieder auf 460 setzten schlaegery = 460-30;-30 , da der Schläger ja 30Pixel groß ist EndIf Flip ;flipt alles, damit die Bilder ect. bewegt werden Until KeyHit(1) ;ende der Hauptschleife ;Keyhit(code) ;code ist die Nummer der Taste , hier 1 für ESCAPE End ;alles beenden , damit nicht immer das Fenster am Schluss kommt ;So, das war es auch schon mit der 3ten Tutorial , in der 4ten werden wir dann lernen wie sich der ;Ball bewegt Code: [AUSKLAPPEN] ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Ping Pong Tutorial ;25.7.2004 ;by cyby ;Tutorial4 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;e-mail: cyby-online@web.de <mailto:cyby-online@web.de> ;homepage: www.selobrain.de <http://www.selobrain.de> ;Ihr dürft das Tutorial frei verwenden,weitergeben erändern ect. ! Wenn ihr es auf eure Seite stellen ;wollt wäre eine kleine Benachrichtigung nett , nicht das ich Überraschungen erlebe . ;Wie schon in Tutorial 3 gesagt werden wir jetzte den Ball bewegen . ; ;Am besten wir fangen mal an.... Graphics 640,480,16,2 ;das starten es Bildschiermes ;graphics breite,höhe,farbtiefe,modus (0 = normal , 2 = fenster) SetBuffer BackBuffer();den Buffer starten wo die Grafiken rein geschrieben werden... ;variablen deklarieren(=zuweisen) ;nun werden wir ein paar Variablen für die Schlägerx/-Schlägery-Possition und Ballx/-Bally-Possition ;deklarieren schlaegerx = 5 ;6 pixel vom linken Rand weg , da es bei 0 anfängt - x = waagerecht schlaegery = (480/2)-15 ;226 pixel vom oberen Rand weg, da es bei 0 anfängt - y = senkrecht ;480/2 also, die Höhe des Bildschiermes ist 480 und die durch 2 Teilen = 240 ;(480/2)-15 = 240-15 , da der Schläger 30 Pixel hoch ist und wir die obere Linke Ecke vom Schläger ;brauchen um ihn zu zeichnen ballx = (640/2)-2; 317 Pixel vom linken Rand weg bally = (480/2)-2; 237 Pixel vom oberem Rand weg ;die Formeln (640/2)-2 und (480/2)-2 sollten sich von oben her alleine erklären ;jetzte brauchen wir noch 2 variablen bewegenx = 3;ist der speed womit sich später der Ball bewegt bewegeny = 3;ist der speed womit sich später der Ball bewegt ;hauptschleife Repeat ;starten der Repeat-Until Schleife Cls ;löscht den Bildschierm bei den durchlauf der Schleife ;zeichnen von den Schlägern ... ;als erstes wollen wir mal eine Farbe für die Kästen und Kugel wählen Color 255,255,255 ;alle Sachen wo jetzte danach geschrieben oder gezeichnet werden sind in der ;gewählten Farbe ;color rot,grün,blau Rect schlaegerx,schlaegery,5,30;wir zeichnen einen Kasten mit der Breite 5 und der Höhe 30 ;rect start x-possition,start y-possition,breite,höhe Rect ballx,bally,2,2;wir zeichnen einen Ball in der Mitte des Bildschiermes Rect 0,0,640,20;einen Balcken oben zeichnen Rect 0,480-20,640,20;einen Balcken unten zeichnen Rect 640-20,0,20,480;einen Balcken hinten zeichnen ;schläger bewegen If KeyDown(200) Then ;wenn man die Pfeiltaste nach oben drückt ;dann wird der Schläger nach oben bewegt , also die Y-Possition vermindert schlaegery = schlaegery - 5 EndIf If KeyDown(208) Then ;das gleich nur nach unten ;nun wir die Y-Possition verhöht schlaegery = schlaegery + 5 EndIf ;Da die Schläger aber unten und oben nicht weiter als die Balcken gehen dürfen müssen wir sie stoppen. If schlaegery < 20 ;wenn der Schläger kleiner als 20 Pixel ist , wird er wieder auf 20 gesetzt schlaegery = 20 EndIf If schlaegery > 460-30;wenn er größer als 460 wird , wieder auf 460 setzten schlaegery = 460-30;-30 , da der Schläger ja 30Pixel groß ist EndIf ;Ball bewegen ballx = ballx + bewegenx bally = bally + bewegeny ;kollision vom ball mit Blöcken If bally > 460-4 Then;mit dem unterem Block ; -4 da der Ball 4 Pixel groß ist bewegeny = - 3;gerade die Y-Possition vermindern EndIf If bally < 20 Then;mit dem oberem Block bewegeny = + 3;gerade die Y-Possition erhöhen EndIf If ballx > 620-4 Then ;mit dem hinterem Block bewegenx = - 3;gerade die x-Possition vermindern EndIf ;kollision mit dem Schläger ;ich habs in ein paar Schleife unterteilt das man es besser beschreiben kann, normal wird sowas ;aber mit and in eine Schleife gemacht ! If ballx < (schlaegerx+ 5);prüfen der vorderen Seite des Schlägers ;Wenn Ballx kleiner ( Schlägerx + Schläerbreite ) ist If bally > schlaegery ;ist dazu da das nicht die ganze vordere Seite geprüft wird sonder nur ;unterhalb der Oberseite vom Schläger ;Wenn Bally größer Schlägery ist If bally < (schlaegery+30);ist dazu da das nicht die ganze vordere Seite geprüft wird sonder nur ;oberhalb der Unterseite vom Schläger ;Wenn Ballx kleiner ( Schlägerx + Schlägerhöhe) bewegenx = + 3;die X-Possition verhöhen EndIf EndIf EndIf Flip ;flipt alles, damit die Bilder ect. bewegt werden Until KeyHit(1) Or ballx < 0;ende der Hauptschleife ;jetzte wird sie auch noch beendet wenn der Ball beim Schläger durch geht ;Keyhit(code) ;code ist die Nummer der Taste , hier 1 für ESCAPE End ;alles beenden , damit nicht immer das Fenster am Schluss kommt ;So, das war es auch schon mit dem Tutorial ! Viel Glück und Spaß !!!!!!!!!!!!!!!!!!! MfG cyby ![]() //edit Teil 4 wurde etwas überarbeitet da was mit der Kollision nicht stimmte, danke an JOKIO wo mir den Fehler meldete ! |
||
- Zuletzt bearbeitet von cyby am Fr, Apr 08, 2005 21:24, insgesamt 2-mal bearbeitet
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mir sind ein paar Fortsetzungen eingefallen:
- 2 Player auf einem Computer - 2 Player über Internet - viel bessere kollision was wollt ihr am liebsten haben ? |
||
![]() |
shure_kyuNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
bin gerade über das ping pong tut gestolpert...
hier meine erweiterung: + cpu (is zwar nicht perfekt aber fürn anfang...) + spielfeld pass sich eigestellter auflösung an Code: [AUSKLAPPEN] AppTitle "paDDl WaRs v0.1b"
Graphics 400,300,16,2 Global xv%,yh%,balpx,ballpy%,gh%,gw%,bspeedx%,bspeedy%,speed%,pp%,gp%,cyh%,cxv% = 0 gh%=GraphicsHeight() gw%=GraphicsWidth() pp%=0 gp%=0 cxv%= gw%/2-50 cyh%= gh%-gh%+5 xv%= gw%/2-50 yh%= gh%-15 ballpx%=gw%/2-100 ballpy%= gh%/2 speed%=2 bspeedx%=speed% bspeedy%=speed% Oval ballpx%,ballpy%,8,8,1 ;ball Rect xv%,yh%,50,10,1 ;paddle -U_ Rect cxv%,cyh%,50,10,1 ;paddle -cPu_ Rect 0,0,10,gh%,1 ;rechter rand gezeichnet Rect gw%-10,0,10,gh%,1 ;linker rand gezeichnet Repeat:Text 20,20,"(esc) weiter":Flip:Until KeyHit(1) SetBuffer BackBuffer() Repeat Cls Oval ballpx%,ballpy%,8,8,1 ;ball Rect xv%,yh%,50,10,1 ;paddle -U_ Rect cxv%,cyh%,50,10,1 ;paddle -cPu_ Rect 0,0,10,gh%,1 ;rechter rand gezeichnet Rect gw%-10,0,10,gh%,1 ;linker rand gezeichnet ;Rect 0,gh%-gh%,gw%,10,1 ;oberer rand gezeichnet If KeyDown(203) Then xv%=xv%-3 If KeyDown(205) Then xv%=xv%+3 If xv% > gw% -50 -12 Then xv%=gw% -50 -12 ;abfrage ob paddl gegen linke wand kracht dann setze paddl auf position graphiswidth()- 50- 12 If xv% < gw% -gw% + 12 Then xv%=gw%-gw%+12 ;abfrage ob paddl gegen rechte wand kracht dann setze paddl auf gw% -gw% +12 ballpx%=ballpx%+bspeedx% ballpy%=ballpy%+bspeedy% If ballpx% >gw%-16 Then bspeedx%=-speed% ;linker rand ;If ballpy% >gh%-16 Then bspeedy%=-speed% ;unterer rand If ballpx% <gw%-gw%+16 Then bspeedx%=+speed% ;rechter rand ;If ballpy% <gh%-gh%+16 Then bspeedy%=+speed% ;oberer rand If ballpx% > xv% And ballpx% <(xv%+50) And ballpy% > (yh% - 8) And ballpy% < gh% -3 Then bspeedy%= -speed% ;kollision mit spieler paddl ;cpu ;########### If cxv% > gw% -50 -13 Then cxv%=gw% -50 -13 ;abfrage ob paddl gegen linke wand kracht dann setze paddl auf position graphiswidth()- 100- 12 If cxv% < gw% -gw% + 13 Then cxv%=gw%-gw%+13 ;abfrage ob paddl gegen rechte wand kracht dann setze paddl auf gw% -gw% +12 If (cxv%+20) < ballpx% Then cxv%=cxv%+speed%/1.3 ;abfrage ob cpu paddl beim ball ist If (cxv%+40) > ballpx% Then cxv%=cxv%-speed%/1.3 ;this too If ballpx% > cxv% And ballpx% <(cxv%+50) And ballpy% < (cyh% + 8) And ballpy% > 3 Then bspeedy%= +speed% ;kollision mit cpu paddl ;########### ;unwichtig erstmal ;########### If GetKey()=114 Then ballpx%=gw%/2:ballpy% = gh%/2 If ballpy% > gh% Then gp%=gp%+1:ballpx%=gw%/2:ballpy%=gh%/2 ;punkte gegner +1 If ballpy% < 0 Then pp%=pp%+1:ballpx%=gw%/2:ballpy%=gh%/2 ; punkte spieler +1 Text 20,20,"U:"+pp%+" / cpu:"+gp% ;########### Flip Until KeyHit(1) End |
||
Sibitiger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab bei deinem Code cyby noch 'ne kleine Pause eingebaut, den Ball größer gemacht und einen Zähler(der zählt wie oft der Ball durchgeht) gemacht...
achso shure du solltest bei dir mal an der Übersicht arbeiten, aber sonst ist dein's auch gut ![]() hier mein Code: Code: [AUSKLAPPEN] ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Ping Pong Tutorial ;25.7.2004 ;by cyby ;Tutorial4 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;e-mail: cyby-online@web.de <mailto:cyby-online@web.de> <mailto:cyby-online@web.de> ;homepage: www.selobrain.de <http://www.selobrain.de> <http://www.selobrain.de> ;Ihr dürft das Tutorial frei verwenden,weitergeben erändern ect. ! Wenn ihr es auf eure Seite stellen ;wollt wäre eine kleine Benachrichtigung nett , nicht das ich Überraschungen erlebe . ;Wie schon in Tutorial 3 gesagt werden wir jetzte den Ball bewegen . ; ;Am besten wir fangen mal an.... Graphics 640,480,16,2 ;das starten es Bildschiermes ;graphics breite,höhe,farbtiefe,modus (0 = normal , 2 = fenster) SetBuffer BackBuffer();den Buffer starten wo die Grafiken rein geschrieben werden... ;variablen deklarieren(=zuweisen) ;nun werden wir ein paar Variablen für die Schlägerx/-Schlägery-Possition und Ballx/-Bally-Possition ;deklarieren durchgegangen=0 ;zählt nachher wie oft der Ball durchgegangen ist schlaegerx = 5 ;6 pixel vom linken Rand weg , da es bei 0 anfängt - x = waagerecht schlaegery = (480/2)-15 ;226 pixel vom oberen Rand weg, da es bei 0 anfängt - y = senkrecht ;480/2 also, die Höhe des Bildschiermes ist 480 und die durch 2 Teilen = 240 ;(480/2)-15 = 240-15 , da der Schläger 30 Pixel hoch ist und wir die obere Linke Ecke vom Schläger ;brauchen um ihn zu zeichnen ballx = (640/2)-5; 314 Pixel vom linken Rand weg bally = (480/2)-5; 234 Pixel vom oberem Rand weg ;die Formeln (640/2)-2 und (480/2)-2 sollten sich von oben her alleine erklären ;jetzte brauchen wir noch 2 variablen bewegenx = 3;ist der speed womit sich später der Ball bewegt bewegeny = 3;ist der speed womit sich später der Ball bewegt ;hauptschleife Repeat ;starten der Repeat-Until Schleife Cls ;löscht den Bildschierm bei den durchlauf der Schleife ;zeichnen von den Schlägern ... ;als erstes wollen wir mal eine Farbe für die Kästen und Kugel wählen Color 255,255,255 ;alle Sachen wo jetzte danach geschrieben oder gezeichnet werden sind in der ;gewählten Farbe ;color rot,grün,blau Rect schlaegerx,schlaegery,7,40;wir zeichnen einen Kasten mit der Breite 5 und der Höhe 30 ;rect start x-possition,start y-possition,breite,höhe Oval ballx,bally,10,10;wir zeichnen einen Ball in der Mitte des Bildschiermes Rect 0,0,640,20;einen Balcken oben zeichnen Rect 0,480-20,640,20;einen Balcken unten zeichnen Rect 640-20,0,20,480;einen Balcken hinten zeichnen ;schläger bewegen If KeyDown(200) Then ;wenn man die Pfeiltaste nach oben drückt ;dann wird der Schläger nach oben bewegt , also die Y-Possition vermindert schlaegery = schlaegery - 5 EndIf If KeyDown(208) Then ;das gleich nur nach unten ;nun wir die Y-Possition verhöht schlaegery = schlaegery + 5 EndIf ;Da die Schläger aber unten und oben nicht weiter als die Balcken gehen dürfen müssen wir sie stoppen. If schlaegery < 20 ;wenn der Schläger kleiner als 20 Pixel ist , wird er wieder auf 20 gesetzt schlaegery = 20 EndIf If schlaegery > 460-40;wenn er größer als 460 wird , wieder auf 460 setzten schlaegery = 460-40;-40 , da der Schläger ja 40Pixel groß ist EndIf ;Ball bewegen ballx = ballx + bewegenx bally = bally + bewegeny ;kollision vom ball mit Blöcken If bally > 460-10 Then;mit dem unterem Block ; -4 da der Ball 4 Pixel groß ist bewegeny = - 3;gerade die Y-Possition vermindern EndIf If bally < 20 Then;mit dem oberem Block bewegeny = + 3;gerade die Y-Possition erhöhen EndIf If ballx > 620-10 Then ;mit dem hinterem Block bewegenx = - 3;gerade die x-Possition vermindern EndIf ;kollision mit dem Schläger ;ich habs in ein paar Schleife unterteilt das man es besser beschreiben kann, normal wird sowas ;aber mit and in eine Schleife gemacht ! If ballx < (schlaegerx+ 7);prüfen der vorderen Seite des Schlägers ;Wenn Ballx kleiner ( Schlägerx + Schläerbreite ) ist If bally > schlaegery ;ist dazu da das nicht die ganze vordere Seite geprüft wird sonder nur ;unterhalb der Oberseite vom Schläger ;Wenn Bally größer Schlägery ist If bally < (schlaegery+40);ist dazu da das nicht die ganze vordere Seite geprüft wird sonder nur ;oberhalb der Unterseite vom Schläger ;Wenn Ballx kleiner ( Schlägerx + Schlägerhöhe) bewegenx = + 3;die X-Possition verhöhen EndIf EndIf EndIf If ballx+10<0 Then;+10, weil der Ball 10 Pixel groß ist.Wenn der Ball durchgeht... durchgegangen=durchgegangen+1;ist er einmal mehr durchgegangen ;Ball wieder in die mitte setzen: ballx=640/2 bally=480/2 EndIf Text 50,50,"Durchgegangen: "+durchgegangen+" mal",0,1;schreibt wie oft der Ball durchgegangen ist If KeyHit(25) Then Pause;wenn P gedrückt wird springt man zur Pause Funktion Flip ;flipt alles, damit die Bilder ect. bewegt werden Until KeyHit(1);ende der Hauptschleife ;Keyhit(code) ;code ist die Nummer der Taste , hier 1 für ESCAPE End ;alles beenden , damit nicht immer das Fenster am Schluss kommt ;So, das war es auch schon mit dem Tutorial ! Function Pause();das ist die Pause Funktion Repeat Text 320,240,"Pause, weiter mit P",1,1 If KeyHit(1) Then End;wenn Escape gedrückt wird, Ende Flip Until KeyHit(25) End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group