xx = 350: yy = 300: h = 200
splashscreen:
LINE (xx
, yy
)-(xx
+ INT(h
/ 3), yy
+ 3), _RGB32(139, 116, 105), BF
ex1
= (xx
+ (INT(h
/ 3) / 2) / 2)ex2
= (xx
+ (INT(h
/ 3) / 2) / .65)ey
= (yy
+ (INT(h
/ 3) / 2) / 2)mx
= (xx
+ (INT(h
/ 3) / 2))my
= (yy
+ (INT(h
/ 2.2) / 2))ny = (yy + (h / 2.85) / 2)
mouth:
m = m + 1
'_DELAY .5
begin:
PRINT " - Use the arrow keys to guide your green guy around the maze" PRINT " to eat the orange candy." PRINT " - Levels change when 100 candies have been eaten and all 5" PRINT " green levers have been used." PRINT " - Avoid hitting the randomly placed red bombs." PRINT " - The green levers will delete the bombs for 20 seconds." PRINT " - You start out with 3 players." PRINT " - Every level is different, Good Luck!" INPUT " Press Enter To Begin.", a$
level = 1
sc = 0
players = 3
'Start a new level here.
level:
DIM candyx
(500), candyy
(500) DIM leverx
(200), levery
(200) x = 400: y = 300
t = 0
c = 0
drx = 0: dry = 0
lv = 0: slv = 0: bombs = 0
lev = 0
levers = 5
mouth = 0
'randomize timer
'Randomly choose a wall color.
'randomize timer
'green
col1 = 33: col2 = 230: col3 = 7
'purple
col1 = 152: col2 = 7: col3 = 230
'yellow
col1 = 247: col2 = 255: col3 = 8
'orange
col1 = 255: col2 = 156: col3 = 8
'red
col1 = 255: col2 = 8: col3 = 8
'blue
col1 = 8: col2 = 131: col3 = 255
'white
col1 = 255: col2 = 255: col3 = 255
'greenish-blue
col1 = 10: col2 = 240: col3 = 201
'Make the walls.
again:
t = t + 1
oldx = x
oldy = y
oldd = d
'randomize timer
IF x
> 800 - h
OR x
< h
OR y
> 600 - h
OR y
< h
THEN x
= 400: y
= 300:
GOTO again:
LINE (oldx
, oldy
)-(x
, y
), _RGB32(col1
, col2
, col3
) t = 0
'randomize timer
'Setup the levers
levers:
'randomize timer
'Check for walls.
'Check for other levers.
LINE (leverx
, levery
)-(leverx
+ 5, levery
+ 15), _RGB32(22, 255, 122), BF
lev = lev + 1
leverx(lev) = leverx: levery(lev) = levery
'Setup the candy.
candy:
'randomize timer
'Check for walls.
'Check for other candy.
'Check for levers.
c = c + 1
candyx(c) = candyx: candyy(c) = candyy
'You are coords xx and yy.
xx = 400
yy = 594
_TITLE "Arrow Keys To Move, Esc or Q To Quit."
'The Main Loop
CIRCLE (candyx
(i
), candyy
(i
)), 3, &HFFFFFF00 PAINT (candyx
(i
), candyy
(i
)), &HFFFFFF00, &HFFFFFF00 LINE (leverx
(i
), levery
(i
))-(leverx
(i
) + 5, levery
(i
) + 15), _RGB32(22, 255, 122), BF
dry = -1
drx = 0
dry = 1
drx = 0
drx = 1
dry = 0
drx = -1
dry = 0
lev:
'Check the area around you to delete the lever.
deletelever:
IF xx
+ wxx
= leverx
(cc
) AND yy
+ wyy
= levery
(cc
) THEN LINE (leverx
(cc
), levery
(cc
))-(leverx
(cc
) + 5, levery
(cc
) + 15), _RGB32(0, 0, 0), BF
rr = 0
lv = 1
levers = levers - 1
'The Random Red Bombs
circles:
IF second
- oldsecond
> 20 THEN lv
= 0: slv
= 0:
GOTO nexone:
slv = 1
nexone:
'randomize timer
'randomize timer
rr = 1
skip:
bombs = 1
skip2:
IF xx
> lx2
- h
/ 3 AND xx
< lx2
+ h
/ 3 AND yy
> ly2
- h
/ 3 AND yy
< ly2
+ h
/ 3 THEN GOSUB KABOOM:
IF xx
> lx3
- h
/ 3 AND xx
< lx3
+ h
/ 3 AND yy
> ly3
- h
/ 3 AND yy
< ly3
+ h
/ 3 THEN GOSUB KABOOM:
IF xx
> lx4
- h
/ 3 AND xx
< lx4
+ h
/ 3 AND yy
> ly4
- h
/ 3 AND yy
< ly4
+ h
/ 3 THEN GOSUB KABOOM:
'randomize timer
rr = 0
bombs = 0
KABOOM:
players = players - 1
xx = 400
yy = 594
rr = 0
slv = 0
bombs = 0
_TITLE "Score: " + sc$
+ " Players: " + players$
+ " Level: " + level$
+ " Arrow Keys To Move, Esc or Q To Quit."
'Check to see if you got a candy.
candy2:
sc = sc + 10
_TITLE "Score: " + sc$
+ " Players: " + players$
+ " Level: " + level$
+ " Arrow Keys To Move, Esc or Q To Quit."
'Check the area around you to delete the candy.
deletecandy:
IF xx
+ wxx
= candyx
(cc
) AND yy
+ wyy
= candyy
(cc
) THEN co = co + 1
co2 = 100 - co
mouth = 1
level = level + 1
co = 0
_TITLE "Score: " + sc$
+ " Level: " + level$
+ " Arrow Keys To Move, Esc or Q To Quit."
you:
oldxx = xx
oldyy = yy
xx = xx + drx
yy = yy + dry
'Check to see if you hit the walls.
yy = oldyy: xx = oldxx
'Erase and draw you.
LINE (oldxx
, oldyy
)-(oldxx
+ INT(h
/ 3), oldyy
+ INT(h
/ 3)), _RGB32(0, 0, 0), BF
LINE (xx
, yy
)-(xx
+ INT(h
/ 3), yy
+ 3), _RGB32(139, 116, 105), BF
ex1
= (xx
+ (INT(h
/ 3) / 2) / 2)ex2
= (xx
+ (INT(h
/ 3) / 2) / .65)ey
= (yy
+ (INT(h
/ 3) / 2) / 2)mx
= (xx
+ (INT(h
/ 3) / 2))my
= (yy
+ (INT(h
/ 2.2) / 2))ny = (yy + (h / 2.85) / 2)
IF msec
- oldmsec
> .25 THEN mouth
= 0
'IF h > 74 THEN dl = .003
'IF h <= 74 AND h >= 55 THEN dl = .004
'IF h < 55 THEN dl = .005
'_DELAY dl