-
-
Save dkundel/7849950df32cfc5d01ef3cebb45a9d25 to your computer and use it in GitHub Desktop.
$BASH 2017 Apple IIe BASIC game
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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