here's my version of pong:
cls
Print "Made By: Chris Raymond AKA 'Krystoff'"
Print "Music By: DJ Birdy (Techno chicken dance)"
Print "Thanks to: The Woz who wrote the original Pong"
Print "Enjoy!"
Print "press any key"
suspend for key
sync on
start=1
hide mouse
Do
cls
rem get keys
key=0
If Leftkey()=1 then dec paddleX,10 : dec energy#,0.5 : key=1
If Rightkey()=1 then inc paddleX,10 : inc energy#,0.5 : key=1
key2=0
If Inkey$()="a" then dec paddle2X,10 : inc energy2#,0.5 : key2=1
If inkey$()="d" then inc Paddle2X,10 : inc energy2#,0.5 : key2=1
rem make edges of court for paddles
If paddleX>400 then paddleX=400
If paddleX<20 then paddleX=20
If paddle2X>400 then paddle2X=400
If paddle2X<20 then paddle2X=20
rem keeps momentum from getting to high for paddle 1
If key=0
If Leftkey()=0 then energy#=0
If Rightkey()=0 then energy#=0
endif
rem keeps momentum from getting to high for paddle 2
If key2=0
If Inkey$()<>"a" then energy2#=0
If Inkey$()<>"d" then energy2#=0
endif
rem if the ball is at player 1 start
If start=1
lrpwr#=0
udpwr#=0
energy#=0
paddleX=200
paddle2X=200
ballX=200
ballY=435
endif
rem if the ball is at player 2 start
If start=2
lrpwr#=0
udpwr#=0
energy#=0
paddle2X=200
paddleX=200
ballX=200
ballY=25
endif
rem if the ball needs to start
If upkey()=1 & start=1
ballY=390
udpwr#=-10
start=0
endif
If Inkey$()="s" & start=2
ballY=30
udpwr#=10
start=0
endif
rem determain if ball hits paddle1
Xdis=abs(ballX-paddleX)
Ydis=abs(ballY-440)
rem bounce the ball off the paddle
If Xdis<20 & Ydis<5
lrpwr#=energy#*2
udpwr#=udpwr#*-1
endif
rem determain if ball hits paddle2
Xdis2=abs(ballX-paddle2X)
Ydis2=abs(ballY-20)
rem bounce the ball off the paddle2
If Xdis2<20 & Ydis2<5
lrpwr#=energy2#*2
udpwr#=udpwr#*-1
endif
rem if the ball hits the sidewalls
rem 2.5 offset allows for the size of the ball(5)
If ballX<22.5 then lrpwr#=lrpwr#*-1 : play sound 2
If ballX>397.5 then lrpwr#=lrpwr#*-1 : play sound 2
rem make max speed
If lrpwr>10 then lrpwr=10
If udpwr>10 then udpwr=10
rem set the balls location
Inc ballX,lrpwr#
Inc ballY,Udpwr#
rem check for player 1 loss and reset
If ballY>500
Set Cursor 250,100
Print "Player 2 scores!"
Inc Score2
start=1
suspend for key
endif
rem check for player 1 loss and reset
If ballY<10
Set Cursor 250,400
Print "Player 1 scores!"
Inc Score1
start=2
suspend for key
endif
rem print on player 2 side
set cursor 410,20
Print "Player 2 score: ",Score2
set cursor 410,40
print "Energy2: ",energy2#
set cursor 410,60
Print "use 'a' and 'd' to move, 's' serves"
rem print on player 1 side
set cursor 410, 200
Print "Player 1 score: ",Score1
set cursor 410, 220
Print "Energy: ",energy#
set cursor 410,240
Print "use <- and -> to move, \/ serves"
rem graphics
circle ballX,ballY,5
box paddleX-20,440,paddleX+20,442
box paddle2X-20,18,paddle2X+20,20
rem draw the court Left=20 Right=400 Top=10 Bottom=450
line 20,10,400,10
line 400,10,400,450
line 400,450,20,450
line 20,450,20,10
line 20,220,400,220
rem refresh the screen
sync
Loop
It does have some bugs but they are minor.
There are 10 types of people in the world, those who understand binary and those who don't.