Skip to content

Instantly share code, notes, and snippets.

@sagnew
Last active August 30, 2017 08:16
Show Gist options
  • Save sagnew/95b919ebd6088906f3a4d1d0a0fb4e86 to your computer and use it in GitHub Desktop.
Save sagnew/95b919ebd6088906f3a4d1d0a0fb4e86 to your computer and use it in GitHub Desktop.
$BASH 2017 Apple IIe BASIC game
10 REM Clear the screen
20 TEXT : HOME
25 REM DISPLAY WELCOME SCREEN
30 VTAB 4: HTAB 15: PRINT "$BASH RACER"
40 VTAB 13: HTAB 3: PRINT "USE LEFT AND RIGHT ARROW KEYS TO MOVE"
50 VTAB 14: HTAB 7: PRINT "ANY OTHER KEY GOES STRAIGHT"
60 VTAB 21: PRINT "PRESS ANY KEY TO PLAY"
65 VTAB 23: PRINT "SCORE 5000 POINTS TO WIN"
70 REM WAIT FOR KEYPRESS
80 GET KEY$
90 TEXT : HOME
100 REM SET ROAD WIDTH
110 DIM RL(13): DIM RR(13)
120 FOR I = 1 TO 13
130 RL(I) = 1
140 RR(I) = 35
150 NEXT I
180 REM determine width of road
190 W = (W = 0) * 10 + W - .01 + (W < 0)
200 REM read the keyboard
210 K = PEEK (49152)
220 REM determine "car" position
230 X = X - (K = 136)
240 X = X + (K = 149)
250 X = X + (X = 0) * 10
260 REM Determine where road begins
270 L = (L < 4) * 2 + L + SGN ( RND (1) - .5) - (L + W > 30)
280 REM Draw left "grass"
290 VTAB 23: HTAB 1
300 FOR I = 1 TO L RND (1) - .5) - (L + W > 30)
280 REM ###############
281 REM CHANGE THE GRASS
282 REM TYPE 285 G$ = "*"
283 REM THEN RUN
284 REM ###############
285 G$ = "@"
290 VTAB 23: HTAB 1
300 FOR I = 1 TO L
310 PRINT G$;
320 NEXT I
330 REM deterine right start position
340 RS = L + W + 1
360 VTAB 23: HTAB RS
370 FOR I = RS TO 34
380 PRINT G$;
390 NEXT
385 REM #####################
400 REM # check for collision
405 REM #####################
410 C = 0
420 IF X < RL(1) OR X > RR(1) THEN C = 1
423 IF C = 1 THEN GOTO 610
430 REM Draw "car"
440 HTAB (X): VTAB 10
445 REM THE 590'S MIGHT BE A GOOD PLACE TO CHECK NEXT
450 PRINT "V"
460 REM INCREMENT THE SCORE
470 T = T + 1
490 HTAB 35 : VTAB 24
500 PRINT T
520 FOR MY = 2 TO 13
530 RL(MY - 1) = RL(MY)
540 RR(MY - 1) = RR(MY)
550 NEXT MY
560 REM newest road position
570 RL(13) = L
580 RR(13) = RS
592 REM ###################
593 REM SLOW DOWN EMULATOR
594 REM ##################
595 FOR D = 1 to 6000
596 NEXT D
597 REM #### TYPE ######
598 REM FOR D = 1 to 9000
599 REM #################
600 IF C = 0 THEN 190
610 HOME
605 PRINT ""
610 HOME : PRINT "YOUR SCORE WAS ";T
630 PRINT "THANKS FOR PLAYING!"
635 REM THIS IS A COMMENT
640 PRINT ""
650 PRINT "TYPE 'RUN' TO PLAY AGAIN"
660 PRINT ""
670 PRINT "TYPE 'LIST' TO SEE THE CODE"
675 PRINT ""
680 PRINT "TO EDIT A LINE OF CODE, "
685 PRINT "ENTER A LINE NUMBER FOLLOWED BY NEW CODE"
690 PRINT ""
695 PRINT "(USE LEFT ARROW INSTEAD OF BACKSPACE)"
700 REM #####################
710 REM # TYPE LIST 350,450 #
720 REM #####################
730 REM HAPPY HACKING :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment