Ping Pong - problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

FCBkid

Betreff: Ping Pong - problem

BeitragMi, Mai 30, 2007 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
code:

Graphics 1024,724,32,2
SetBuffer BackBuffer()
.spielauswahl
font = LoadFont (arial,20)
font2 = LoadFont (arial,60)
SetFont font
geld = 10000

Locate 400,300
Print "Pong-Turnier starten = 1"
Locate 400,340
Print "Zurück zur Spielauswahl = 2"
Locate 300,220
starten$ = Input ("Geben sie hier die Nummer, der gewünschten Funktion ein: ")
If starten$ = 1 Then
Cls
SetFont font2
Locate 300,200
Print "Qualifikation"
Delay 3000
SetFont font
zeit# = 30
durchgegangen=0
schlaegerx = 5 - x = waagerecht
schlaegery = (480/2)-5
ballx = (1024/2)-3
bally = (724/2)-3

bewegenx = 5
bewegeny = 5

Repeat
Cls

Color 255,255,255
Rect schlaegerx,schlaegery,7,100
Oval ballx,bally,10,10
zeit# = zeit# -0.01
Locate 10,10
Print "Noch "+zeit# +" Sekunden"

Rect 1024-20,0,20,724

If KeyDown(200) Then
schlaegery = schlaegery - 5
EndIf
If KeyDown(208) Then
schlaegery = schlaegery + 5
EndIf

If schlaegery < 0
schlaegery = 0
EndIf
If schlaegery > 624
schlaegery = 624
EndIf



ballx = ballx + bewegenx
bally = bally + bewegeny


If bally > 724-10 Then
bewegeny = - 3
EndIf
If bally < 0 Then
bewegeny = + 3
EndIf
If ballx > 1024-23 Then
bewegenx = - 3
EndIf

If ballx < (schlaegerx+ 7)
If bally > schlaegery

If bally < (schlaegery+100)

bewegenx = + 10
EndIf
EndIf
EndIf

If ballx+10<0 Then
durchgegangen=durchgegangen+1

ballx=1024/2
bally=724/2
EndIf
Text 50,50,"Durchgegangen: "+durchgegangen+" mal",0,1

If zeit# < 0 Then
Cls
If durchgegangen = 0 Then
Goto Viertelfinale
ElseIf durchgegangen > 0 Then
EndIf
EndIf
Flip
Until KeyHit(1)

End



ElseIf starten$ = 2 Then
Goto spielauswahl
EndIf

.Viertelfinale
Cls
SetFont font2
Locate 300,200
Print "Viertelfinale"
Delay 3000

zeit# = 30
durchgegangen=0
schlaegerx = 5 - x = waagerecht
schlaegery = (480/2)-5
ballx = (1024/2)-3
bally = (724/2)-3

bewegenx = 5
bewegeny = 5


Cls

Color 255,255,255
Rect schlaegerx,schlaegery,7,100
Oval ballx,bally,10,10
zeit# = zeit# -0.01
Locate 10,10
Print "Noch "+zeit# +" Sekunden"

Rect 1024-20,0,20,724

If KeyDown(200) Then
schlaegery = schlaegery - 5
EndIf
If KeyDown(208) Then
schlaegery = schlaegery + 5
EndIf

If schlaegery < 0
schlaegery = 0
EndIf
If schlaegery > 624
schlaegery = 624
EndIf



ballx = ballx + bewegenx
bally = bally + bewegeny


If bally > 724-10 Then
bewegeny = - 5
EndIf
If bally < 0 Then
bewegeny = + 5
EndIf
If ballx > 1024-23 Then
bewegenx = - 5
EndIf

If ballx < (schlaegerx+ 7)
If bally > schlaegery

If bally < (schlaegery+100)

bewegenx = + 3
EndIf
EndIf
EndIf

If ballx+10<0 Then
durchgegangen=durchgegangen+1

ballx=1024/2
bally=724/2
EndIf
Text 50,50,"Durchgegangen: "+durchgegangen+" mal",0,1

If zeit# < 0 Then
Cls
If durchgegangen = 0 Then
Goto Halbfinale
ElseIf durchgegangen > 0 Then
EndIf

Flip


End



ElseIf starten$ = 2 Then
Goto spielauswahl
EndIf
.Halbfinale
Cls
SetFont font2
Locate 400,200
Print "Halbfinale"
Delay 3000
SetFont font
zeit# = 30
durchgegangen=0
schlaegerx = 5 - x = waagerecht
schlaegery = (480/2)-5
ballx = (1024/2)-3
bally = (724/2)-3

bewegenx = 5
bewegeny = 5

Cls

Color 255,255,255
Rect schlaegerx,schlaegery,7,100
Oval ballx,bally,10,10
zeit# = zeit# -0.01
Locate 10,10
Print "Noch "+zeit# +" Sekunden"

Rect 1024-20,0,20,724

If KeyDown(200) Then
schlaegery = schlaegery - 5
EndIf
If KeyDown(208) Then
schlaegery = schlaegery + 5
EndIf

If schlaegery < 0
schlaegery = 0
EndIf
If schlaegery > 624
schlaegery = 624
EndIf



ballx = ballx + bewegenx
bally = bally + bewegeny


If bally > 724-10 Then
bewegeny = - 7
EndIf
If bally < 0 Then
bewegeny = + 7
EndIf
If ballx > 1024-23 Then
bewegenx = - 7
EndIf

If ballx < (schlaegerx+ 7)
If bally > schlaegery

If bally < (schlaegery+100)

bewegenx = + 10
EndIf
EndIf
EndIf

If ballx+10<0 Then
durchgegangen=durchgegangen+1

ballx=1024/2
bally=724/2
EndIf
Text 50,50,"Durchgegangen: "+durchgegangen+" mal",0,1

If zeit# < 0 Then
Cls
If durchgegangen = 0 Then
Goto Viertelfinale
ElseIf durchgegangen > 0 Then
EndIf

Flip


End



ElseIf starten$ = 2 Then
Goto spielauswahl


ElseIf starten$ = 3 Then

Goto viertelfinale
EndIf

wieso funktioniert das nicht?
Ich habe schon alles mögliche probiert aber es klappt nicht.
Danke schon mal im voraus

Tankbuster

BeitragMi, Mai 30, 2007 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ALso es funktioniert alles, aber du hast ein paar Schleifen vergessen fürchte ich
Schau mal nach. =)
Dein Code rasselt einfach so runter, und deshalb beendet er sich direkt, wenn du Modus "2" auswählst.
Twitter
Download Jewel Snake!
Windows|Android

Smily

BeitragMi, Mai 30, 2007 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm hast dus dir nun doch anders überlegt und versuchst dich an was anderes als ein roulette? ^^

Hast du die hinweise im letzten Threat nicht gelesen?
Kein Goto! Goto ist böse Evil or Very Mad
Kein Locate!
Kein Print!
Kein Input!
kein Delay

und bitte, bitte, bitte setze deine sources in Code-Tags

Du solltest mit kleineren Projekten anfangen. Sonst verlierst du schnell die Lust am Programmieren Wink

gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

The_Nici

BeitragMi, Mai 30, 2007 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Anstatt Goto: Funktionen machen:
Code: [AUSKLAPPEN]

Function bla()
End Function


Anstatt Print:
Code: [AUSKLAPPEN]

Text xkoordinate, ykoordinate, "Text"


Anstatt Input:
Code: [AUSKLAPPEN]

;Eine Eingaberoutine
a=Getkey()
;kommt noch mehr dazu^^


Anstatt Delay:
Code: [AUSKLAPPEN]

;Mit Timern arbeiten, und vll. auch mit Millisecs() und If Abfragen^^
startzeitderschleife#=MilliSecs()
While Not KeyHit(1)
Cls
zeitseitstart#=MilliSecs()-startzeitderschleife#
Text 0,0,zeitseitstart
Wend
;Wobei das mit cls scheisse ist xD

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group