home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
games2
/
tron.zip
/
TRON.BAS
Wrap
BASIC Source File
|
1993-05-29
|
6KB
|
277 lines
DEFINT A-Z
DECLARE SUB worm (credits1!, credits2!, x, y, h, f, ff)
DECLARE SUB lost (credits1!, credits2!, d1$, d2$, wins1, wins2)
DECLARE SUB intro (credits1!, credits2!, h, x, y, n1, n2, d1$, d2$, s$, x1, y1, x2, y2, d1, d2, s1, s2)
DECLARE SUB graphics (nn1, n1, nn2, n2, s$, x1, y1, x2, y2)
DECLARE SUB move (nn1, nn2, n1, n2, x1, y1, x2, y2, d1, d2, s1, s2, f1, F2)
DECLARE SUB check (s$, x1, y1, x2, y2, d1, d2, d1$, d2$, p1, P, s1, s2)
SCREEN 12
CLS
LOCATE 5, 30
PRINT "T-R-O-N"
LOCATE 6, 30
PRINT "WRITTEN BY : BEJAY COLE"
LOCATE 8, 30
PRINT "PLAYER 1 (RED)"
LOCATE 9, 30
PRINT "MOVE - UP/DOWN/LEFT/RIGHT CURSOR"
LOCATE 10, 30
PRINT "NITRO - <ENTER> "
LOCATE 12, 30
PRINT "PLAYER 2 (BLUE)"
LOCATE 13, 30
PRINT "UP - H "
LOCATE 14, 30
PRINT "DOWN - N"
LOCATE 15, 30
PRINT "LEFT - B"
LOCATE 16, 30
PRINT "RIGHT - M"
LOCATE 17, 30
PRINT "NITRO - <SPACE>"
LOCATE 21, 30
PRINT "FOR MORE POINTS FORCE THE "
LOCATE 19, 30
PRINT "<ESC> - QUIT"
LOCATE 22, 30
PRINT "PURPLE WORM INTO YOUR TRAIL"
LOCATE 25, 30
PRINT "HIT <ENTER> TO CONTINUE"
WHILE INKEY$ <> CHR$(13)
WEND
CLS
LOCATE 5, 10
PRINT "IF YOU ENJOYED PLAYING THIS GAME PLEASE PROMOTE FUTURE RELEASES"
LOCATE 6, 10
PRINT "BY REGISTERING THIS GAME. IT'S YOUR CONTRIBUTATIONS THAT"
LOCATE 7, 10
PRINT "INSPIRE US AUTHORS TO PUBLISH THESE HIGH QUALITY GAMES."
LOCATE 9, 10
PRINT "SEND $10.00 TO:"
LOCATE 10, 10
PRINT "BEJAY COLE"
LOCATE 11, 10
PRINT "P.O. BOX 133"
LOCATE 12, 10
PRINT "EDGEWOOD , N.M. 87015"
LOCATE 15, 10
PRINT "YOU WILL BE NOTIFIED OF ALL NEW RELEASES AND VERSION UPGRADES."
LOCATE 21, 30
PRINT "HIT <ENTER> TO START"
WHILE INKEY$ <> CHR$(13)
WEND
CLS
LOCATE 5, 30
CALL intro(credits1!, credits2!, h, x, y, n1, n2, d1$, d2$, s$, x1, y1, x2, y2, d1, d2, s1, s2)
subs:
CALL graphics(nn1, n1, nn2, n2, s$, x1, y1, x2, y2)
CALL worm(credits1!, credits2!, x, y, h, f, ff)
CALL move(nn1, nn2, n1, n2, x1, y1, x2, y2, d1, d2, s1, s2, f1, F2)
CALL check(s$, x1, y1, x2, y2, d1, d2, d1$, d2$, p1, p2, s1, s2)
IF d1$ = "lost" OR d2$ = "lost" THEN
CALL lost(credits1!, credits2!, d1$, d2$, wins1, wins2)
CALL intro(credits1!, credits2!, h, x, y, n1, n2, d1$, d2$, s$, x1, y1, x2, y2, d1, d2, s1, s2)
END IF
GOTO subs
SUB check (s$, x1, y1, x2, y2, d1, d2, d1$, d2$, p1, p2, s1, s2)
xx1 = x1
yy1 = y1
xx2 = x2
yy2 = y2
IF d1 = 1 THEN cx1 = -1
IF d1 = 2 THEN cx1 = 1
IF d1 = 11 THEN cy1 = -1
IF d1 = 12 THEN cy1 = 1
IF d2 = 1 THEN cx2 = -1
IF d2 = 2 THEN cx2 = 1
IF d2 = 11 THEN cy2 = -1
IF d2 = 12 THEN cy2 = 1
p1 = p1 + 1
IF p1 < s1 THEN GOTO leftmove
p1 = 0
x1 = x1 + cx1
y1 = y1 + cy1
leftmove:
p2 = p2 + 1
IF p2 < s2 THEN GOTO after
p2 = 0
x2 = x2 + cx2
y2 = y2 + cy2
after:
c1 = POINT(x1, y1)
IF c1 <> 0 THEN d1$ = "lost"
c2 = POINT(x2, y2)
IF c2 <> 0 THEN d2$ = "lost"
IF x1 = xx1 AND y1 = yy1 THEN d1$ = ""
IF x2 = xx2 AND y2 = yy2 THEN d2$ = ""
END SUB
SUB graphics (nn1, n1, nn2, n2, s$, x1, y1, x2, y2)
PSET (x1, y1), 4
PSET (x2, y2), 1
IF nn1 = n1 THEN GOTO middle
COLOR 4
LOCATE 1, 45
PRINT "NITROS-"; n1
middle:
IF nn2 = n2 THEN GOTO last
COLOR 1
LOCATE 1, 65
PRINT "NITROS-"; n2
last:
END SUB
SUB intro (credits1!, credits2!, h, x, y, n1, n2, d1$, d2$, s$, x1, y1, x2, y2, d1, d2, s1, s2)
LINE (2, 21)-(639, 462), 0, BF
LINE (1, 20)-(639, 463), 5, B
d1$ = ""
d2$ = ""
s$ = "ON"
n1 = n1 + INT(credits1! / 300)
n2 = n2 + INT(credits2! / 300)
credits1! = credits1! - (INT(credits1! / 300) * 300)
credits2! = credits2! - (INT(credits2! / 300) * 300)
h = 6001
COLOR 4
LOCATE 1, 45
PRINT "NITROS-"; n1
COLOR 1
LOCATE 1, 65
PRINT "NITROS-"; n2
x1 = 50
y1 = 275
x2 = 600
y2 = 275
d1 = 2
d2 = 1
s1 = 5
s2 = 5
x = 325
y = 275
END SUB
SUB lost (credits1!, credits2!, d1$, d2$, wins1, wins2)
IF d1$ = "lost" THEN wins2 = wins2 + 1: credits2! = credits2! + 1000
IF d2$ = "lost" THEN wins1 = wins1 + 1: credits1! = credits1! + 1000
CLS
LOCATE 5, 30
COLOR 7
PRINT "WINS-";
COLOR 4
PRINT wins1;
COLOR 1
PRINT wins2
LOCATE 10, 27
COLOR 7
PRINT "CREDITS-";
COLOR 4
PRINT credits1!;
COLOR 1
PRINT credits2!
keytrap:
LOCATE 17, 27
COLOR 7
PRINT "HIT <ENTER> TO CONTINUE"
a$ = INKEY$
IF a$ = CHR$(27) THEN STOP
IF a$ <> CHR$(13) THEN GOTO keytrap
END SUB
SUB move (nn1, nn2, n1, n2, x1, y1, x2, y2, d1, d2, s1, s2, f1, F2)
a$ = INKEY$
dd1 = d1
dd2 = d2
nn1 = n1
nn2 = n2
' right
IF a$ = CHR$(27) THEN END
IF a$ = CHR$(0) + "P" THEN d1 = 12
IF a$ = CHR$(0) + "K" THEN d1 = 1
IF a$ = CHR$(0) + "H" THEN d1 = 11
IF a$ = CHR$(0) + "M" THEN d1 = 2
IF a$ = CHR$(13) AND n1 > 0 THEN s1 = 0: f1 = 150: n1 = n1 - 1
f1 = f1 - 1
IF f1 < 1 THEN s1 = 5: f1 = 0
' left
IF a$ = "b" OR a$ = "B" THEN d2 = 1
IF a$ = "n" OR a$ = "N" THEN d2 = 12
IF a$ = "m" OR a$ = "M" THEN d2 = 2
IF a$ = "h" OR a$ = "H" THEN d2 = 11
IF a$ = " " AND n2 > 0 THEN s2 = 0: F2 = 150: n2 = n2 - 1
F2 = F2 - 1
IF F2 < 1 THEN s2 = 5: F2 = 0
IF d1 - 1 = dd1 OR d1 + 1 = dd1 THEN d1 = dd1
IF d2 - 1 = dd2 OR d2 + 1 = dd2 THEN d2 = dd2
END SUB
SUB worm (credits1!, credits2!, x, y, h, f, ff)
RANDOMIZE TIMER
PSET (x, y), 13
h = h + 1
IF h < 75 THEN GOTO detore
h = 0
w = INT(RND * 8) + 1
IF w = 1 THEN f = 1: ff = 1
IF w = 2 THEN f = 1: ff = -1
IF w = 3 THEN f = 1: ff = 0
IF w = 4 THEN f = -1: ff = 1
IF w = 5 THEN f = -1: ff = -1
IF w = 6 THEN f = -1: ff = 0
IF w = 7 THEN f = 0: ff = 1
IF w = 8 THEN f = 0: ff = -1
detore:
xx = x
yy = y
dd = d
d = INT(RND * 6) + 1
IF dd = 1 AND d = 2 THEN d = dd
IF dd = 2 AND d = 1 THEN d = dd
IF dd = 3 AND d = 4 THEN d = dd
IF dd = 4 AND d = 3 THEN d = dd
IF d = 5 THEN y = y + ff: x = x + f
IF d = 6 THEN y = y + ff: x = x + f
IF d = 4 THEN x = x - 1
IF d = 2 THEN x = x + 1
IF d = 3 THEN y = y + 1
IF d = 1 THEN y = y - 1
c = POINT(x, y)
IF c <> 0 AND c <> 13 AND c = 4 THEN x = xx: y = yy: credits1! = credits1! + 2: SOUND 5000, .023
IF c <> 0 AND c <> 13 AND c = 1 THEN x = xx: y = yy: credits2! = credits2! + 2: SOUND 39, .023
IF c <> 0 AND c <> 13 THEN x = xx: y = yy
END SUB