folgenden Beispiel-Code habe ich soweit verstanden, bis auf den Abschnitt ;4. Bewegung des Balles.
Repeat
; 2. Grafik setzen
ClearScreen(0,120,0)
StartDrawing(ScreenOutput())
FrontColor(0,255,255)
Box(0,0,20,480)
Box(0,0,640,20)
Box(0,460,640,20)
Box(SchlaegerX,SchlaegerY,10,30)
Box(BallX-1,BallY-1,3,3)
StopDrawing()
FlipBuffers()
; 3. Abfrage der Benutzer Eingaben
ExamineKeyboard()
If KeyboardPushed(200)
SchlaegerY - 1
EndIf
If KeyboardPushed(208)
SchlaegerY + 1
EndIf
If SchlaegerY < 21
SchlaegerY = 20
ElseIf SchlaegerY > 460 - 30
SchlaegerY = 460 - 30
EndIf
; 4. Bewegung des Balles
BallX + BewegX
BallY + BewegY
; 5. Kollision
If BallX < 20
BewegX = 1
EndIf
If BallY < 20
BewegY = 1
EndIf
If BallY > 460
BewegY = -1
EndIf
If BallX > SchlaegerX And BallX < SchlaegerX + 10 And BallY > SchlaegerY And BallY < SchlaegerY + 30
BewegX = -1
EndIf

Until KeyboardPushed(1) Or BallX > 640
Warum funktioniert das so?
Ich würde schreiben: BallX = BallX + BewegX
und BallY = BallY + BewegY
Im Beispielcode wird doch BallX bzw. BallY nicht verändert oder kein anderer Wert zugewiesen.
Warscheinlich ganz einfach zu erklären. Wo liegt mein Denkfehler?