Was ist an diesen codes falsch? (Programmieren)

Was ist an diesen codes falsch? (Programmieren)

ALso das ist in BB geschrieben(wie ihr sehen werdet) aber irgendwie zählt das ding die Punkte nicht richtig.
Graphics 640,480
SeedRnd MilliSecs()
punkte = 0
Repeat
Cls
c1 = Rand(1,2)
SetBuffer BackBuffer()
If c1 = 1 Then
Color Rand(255),Rand(255),Rand(255)
Rect 1,1,50,50
m1 =GetMouse()
If m1 = c1 Then
punkte = punkte + 1
Else
punkte = punkte - 1
EndIf
Flip
ElseIf c1 = 2 Then
Color Rand(255),Rand(255),Rand(255)
Rect 590,1,50,50
m1 =GetMouse()
If m1 = c1 Then
punkte = punkte + 1
Else
punkte = punkte - 1
EndIf
Flip
EndIf
Text 460,5, punkte
Delay 1000
Cls
Delay 50
Until KeyHit(1)
Cls
Color 255,255,255
Print punkte
WaitKey

und wo wir schon dabei sind.
Was ist hier falsch?
Graphics 640,480

SeedRnd MilliSecs()
zeit = MilliSecs()
bild = LoadImage ("cow.bmp")
punkte = 0
SetBuffer BackBuffer()

Repeat
Cls
a = Rand (50,490)
b = Rand (50,360)
DrawImage bild,a,b
Flip

If MouseDown (1) Then
x = MouseX()
y = MouseY()
If x => a Or x <= a + 103 And y <= b Or y <= b + 70 Then
punkte = punkte + 1
EndIf
EndIf

Delay 1000
Until MouseDown(2) Or KeyHit(1)
WaitKey
Print punkte
FlushMouse

eigentlich funktioniert es ja aber .. naja nicht richtig.
Kan mir keiner helfen?
wenns c++ wäre schon :)
Ich mag es nicht, fremde Codes durchzusehen. Was gefällt Dir denn nicht? Die Programme laufen ja. Wenn etwas nicht richtig läuft - Programmteile auskommentieren, Variablen anzeigen lassen. Gut ist dafür DebugLog.
Ok Ich versuchs nochmal.
Danke.
Logge dich ein um einen Beitrag zu schreiben.