anfängerproblem mit blitz2d

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

florob

Betreff: anfängerproblem mit blitz2d

BeitragMi, Mai 17, 2006 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bin blutiger anfänger und wollte mal zum ausprobieren einen ping pong schläger machen und hab dazu das geschrieben:


Graphics 800,600

SetBuffer BackBuffer()

x=350

Repeat

If KeyDown(203)
Then x=x-1
EndIf

If KeyDown(205)
Then x=x+1
EndIf


Rect x,580,100,20

Flip

Forever


aber jedesmal wenn ichs ausführen will schreibt er mir ne meldung mit "Expecting 'EndIf'"

was mach ich falsch???

lg flo

Bud

BeitragMi, Mai 17, 2006 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Die 'Then's müssen in die selbe Zeile wie die 'If's, dann gehts.
Außerdem sollte ein 'Cls' an den Anfang der Schleife (nach 'Repeat')
 

florob

BeitragMi, Mai 17, 2006 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
danke jetz funkts.

lg flo
 

florob

BeitragMi, Mai 17, 2006 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo

sorry dass ich schon wieder stör.
ich hab jetz den schläger geschafft und nen ball reinprogrammiert. der ball sollte in 5 verschiedene richtungen fliegen können und an den wänden und dem schläger abprallen. der bildschirm blieb aber schwarz.jetz hab ich zum testen ein hallo reingeschrieben, bis dort hin kommt er, aber zwischen dem hallo und dem ersten clear bleibt er hängen, wieso?


Graphics 800, 600, 16, 1

SetBuffer BackBuffer()

Print "hallo"

x=350 ;x is rechteck koordinate
a=395 ;a is kugel links rechts
b=80 ;b is kugel rauf runter
;w ;winkel rechteck
;d ;winkel kugel
s=4 ;geschwindigkeit

kugelbild=LoadImage("kugel.bmp")

Repeat

Cls

Rect x,585,100,15

b=b-s

DrawImage kugelbild,a,b

Color 255,0,0

If 150<b And b<350 Then
Text 400, 200, "Ready"
ElseIf b>350 Then
Text 400, 200, "Go"
EndIf

Until ImageRectOverlap (kugelbild,a,b,x,585,100,15)


Repeat

If KeyHit(1) Then
End
EndIf

If KeyDown(203) Then
x=x-7
ElseIf KeyDown(205) Then
x=x+7
EndIf

If x<0 Then
x=0
ElseIf x>700 Then
x=700
EndIf


Rect x,585,100,15


If ImageRectOverlap (kugelbild,a,b,x,585,100,15) And x+30>=a Then

w=45

ElseIf ImageRectOverlap (kugelbild,a,b,x,585,100,15) And x+30<a And x+70>a Then

w=90

ElseIf ImageRectOverlap (kugelbild,a,b,x,585,100,15) And x+70<=a Then

w=135

EndIf

If w=45 Then
d=1
ElseIf w=90 Then
d=2
ElseIf w=135 Then
d=3
EndIf


If a<1 And b>b1 Then
d=4
ElseIf a<1 And b<b1 Then
d=3
ElseIf a>800 And b>b1 Then
d=5
ElseIf a>800 And b<b1 Then
d=1
EndIf

If b<1 And a1<a Then
d=4
ElseIf b<1 And a1>a Then
d=5
EndIf

Select d
Case 1
a=a-1
b=b-1
Case 2
b=b-1
Case 3
a=a+1
b=b-1
Case 4
a=a+1
b=b+1
Case 5
a=a-1
b=b+1
End Select

DrawImage kugelbild,a,b

a=a1
b=b1

Flip

Cls


Forever


lg flo

skey-z

BeitragMi, Mai 17, 2006 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
1. am besten du benutzt den Code-Tag, der Button befindet sich über dem eingabefeld

2. Solltest du den Code einrücken, damit man ihn besser lesen kann, oirgendwann wirst du da selber nicht mehr durchblicken, Kommentare zu einzelnen Codeabschnitten sind auch hilfreich, besonders für andere, weil die dann wissen, was du da genau machen willst

3. Es kann nicht schaden bei vergleichen und rechnungen Klammern zu setzen, zb:
Code: [AUSKLAPPEN]

If ImageRectOverlap (kugelbild,a,b,x,585,100,15) And (x+30>=a) Then ...

ansonsten könnte BB das als ... 1 AND x interpretieren, ausserdem macht es den Code übersichtlicher.

4. zu deinem Fehler, sehe da leider auf den ersten Blick keinen, wegen vorangeführten Punkten.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group