Skip to content

Instantly share code, notes, and snippets.

@CompileConnected
Created September 12, 2022 18:43
Show Gist options
  • Select an option

  • Save CompileConnected/f23f5af53abefcead31a960cc2db2046 to your computer and use it in GitHub Desktop.

Select an option

Save CompileConnected/f23f5af53abefcead31a960cc2db2046 to your computer and use it in GitHub Desktop.
Bouncing ball with color changing (try to smooth the transition)
10 REM GRAPHICS MODE!
20 GR
30 REM POSITION AND VELOCITY
40 X = 20 : Y = 20 : VCLR = 1: C = 0
50 VX = RND(1) * 3 : VY = RND(1) * 3
70 REM ERASE PREVIOUS BALL
80 GOSUB 4000
90 PLOT PX, PY
110 REM UPDATE POSITION
120 PX = X : PY = Y
130 X = X + VX : Y = Y + VY
140 IF X > 39 OR X < 0 THEN GOSUB 1000
150 IF Y > 39 OR Y < 0 THEN GOSUB 2000
160 REM UPDATE COLOR
170 VCLR = VCLR + 0.001
180 IF VCLR > 255 THEN VCLR = 1
210 REM DRAW BALL
220 COLOR = VCLR : PLOT X,Y
230 REM REPEAT!
240 GOTO 70
4000 REM BUFFER ?
4010 GOSUB 5000
4030 RETURN
5000 REM BUFFER 2 ?
5010 COLOR = 0
5020 C = C + 1.1223
5030 IF C < 2 THEN GOSUB 4000
5040 C = 0
5050 RETURN
1000 REM X BOUNCE SUBROUTINE
1010 IF X < 0 THEN X = 0
1020 IF X > 39 THEN X = 39
1030 VX = VX * -1
1040 GOSUB 3000
1050 RETURN
2000 REM Y BOUNCE SUBROUTINE
2010 IF Y < 0 THEN Y = 0
2020 IF Y > 39 THEN Y = 39
2030 VY = VY * -1
2040 GOSUB 3000
2050 RETURN
3000 REM BUZZ SUBROUTINE
3010 FOR N = 1 TO 10
3020 BUZZ = PEEK(49200)
3030 NEXT N
3040 RETURN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment