Skip to content

Instantly share code, notes, and snippets.

@logicalelegance
Created August 9, 2016 16:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save logicalelegance/058d77ecd801b5d0f50043870086d17d to your computer and use it in GitHub Desktop.
Save logicalelegance/058d77ecd801b5d0f50043870086d17d to your computer and use it in GitHub Desktop.
Old Apple ][ video game in Applesoft BASIC
1 HOME
2 ONERR GOTO 30000
5 REM ** NEBULA WARS **
6 REM * A MATT WHITE PROGRAM
*
7 REM
8 GOTO 1000
10 IF PEEK (E(1)) < > B(1) THEN
15
11 XDRAW A AT X,Y:X = X + 8: IF
X > 250 THEN X = 250: GOTO 1
2
12 DRAW A AT X,Y: XDRAW H AT Z,
I: NEXT I: GOTO 105
15 IF PEEK (E(1)) = B(2) THEN
XDRAW A AT X,Y:X = X - 8: DRAW
A AT X,Y: XDRAW H AT Z,I: NEXT
I: GOTO 105
20 IF PEEK (E(1)) = B(3) THEN
POKE E(2),M: HPLOT X + 20,Y
TO X + 20,M + 5: HCOLOR= 0:
POKE 6,80: POKE 7,10: CALL
768: HPLOT X + 20,Y TO X + 2
0,M + 5: HCOLOR= 3: DRAW A AT
X,Y: GOTO 70:
30 XDRAW H AT Z,I: NEXT I
35 GOTO 105
70 IF Z < X + 12 THEN 40000
72 IF Z > X + 22 THEN 40000
74 XDRAW H AT Z,I:S = S + 10: IF
S = 1000 THEN TEXT : HOME :
VTAB 15: PRINT "YOU WON!!":
END
75 FOR G = 1 TO 10:JK = PEEK (
E(3)): SCALE= G: ROT= G: DRAW
H AT Z,I: NEXT G: HCOLOR= 0:
FOR G = 1 TO 10:JK = PEEK
(E(3)): SCALE= G: ROT= G: DRAW
H AT Z,I: NEXT G: HCOLOR= 3:
SCALE= 5: ROT= 0: VTAB 21: PRINT
"SCORE = "S: GOTO 107
100 :Z = INT ( RND (1) * 260 +
5): FOR I = 10 TO 150 STEP 8
: POKE 6,I: POKE 7,1: CALL 7
68: DRAW H AT Z,I: GOTO 10: GOTO
15: GOTO 20: XDRAW H AT Z,I:
NEXT I:TIME = TIME + 1: IF
TIME = 100 THEN TEXT : HOME
: VTAB 14: PRINT "OUT OF TIM
E!!": END
105 TIME = TIME + 1: IF TIME = 1
00 THEN TEXT : HOME : VTAB
14: PRINT "OUT OF TIME!": END
107 : VTAB 21: HTAB 20: PRINT "T
IME = "TIME: GOTO 100
1000 PRINT "BLOAD GUNBOAT": POKE
232,0: POKE 233,96: LOMEM: 3
4800: HGR : HCOLOR= 3: SCALE=
5: ROT= 0:
1002 FOR I = 1 TO 100:Y = INT
( RND (1) * 150):X = INT ( RND
(1) * 279): HPLOT X,Y: NEXT
: HPLOT 0,0 TO 279,0 TO 279,
159 TO 0,159 TO 0,0
1003 PRINT "BLOAD MSOUND"
1005 DIM E(3),B(20),K(15):E(1) =
- 16384:E(2) = - 16368:E(3
) = - 16336:A = 2:H = 1:X =
123:Y = 150:S = 0: VTAB 21: PRINT
"SCORE = "S:B(1) = 149:B(2) =
136:B(3) = 160:M = 0: PRINT
: PRINT SPC( 15): FLASH : PRINT
"NEBULA WARS": NORMAL
1006 DRAW A AT X,Y
1007 GOTO 100
30000 IF X > 230 THEN X = 230: RESUME
30005 IF X < 10 THEN X = 10: RESUME
30010 NEXT I: GOTO 105
40000 XDRAW H AT Z,I: NEXT I: GOTO
105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment