TYPE ROOMS
' each room in level
'_FULLSCREEN
'COLOR VARIBLES AND STUFF
MAPX = 15
MAPY = 15
PC = 7
SC = 8
FC = 6
CC = 4
'** Create the level
DIM Map
(MAPX
, MAPY
) AS ROOMS
' create 2D array to hold the level full of rooms FOR y
= 0 TO MAPY
' cycle horizontally FOR x
= 0 TO MAPX
' cycle vertically READ room
' read in the next room Map(x, y).fcolor = CC ' set characteristics of this room
Map(x, y).bcolor = FC
Map(x, y).char = "_"
Map(x, y).fcolor = PC
Map(x, y).bcolor = SC
Map
(x
, y
).char
= CHR$(176) Map(x, y).fcolor = 9
Map(x, y).bcolor = 12
Map(x, y).fcolor = 3
Map(x, y).bcolor = FC
Map
(x
, y
).char
= CHR$(209)
x = 2 ' character location
y = 2
px = 2 ' previous character location
py = 2
_LIMIT 30 ' 30 frames per second (don't want to hog CPU)
'KEYPRESSES
px = x
py = y
IF K$
= "w" AND Map
(x
, y
- 1).char
= "_" THEN y = y - 1
IF K$
= "s" AND Map
(x
, y
+ 1).char
= "_" THEN y = y + 1
IF K$
= "a" AND Map
(x
- 1, y
).char
= "_" THEN x = x - 1
IF K$
= "d" AND Map
(x
+ 1, y
).char
= "_" THEN x = x + 1
Map(px, py).char = "_"
'RENDER/UPDATE ROOM WHEN MOVEMENT IS DETECTED
'** draw the level
COLOR Map
(a
, b
).fcolor
, Map
(a
, b
).bcolor
DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,2 DATA 1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 DATA 1,0,0,0,1,0,0,0,1,1,1,1,1,0,1,1 DATA 1,3,0,3,1,3,3,3,1,0,0,0,0,0,0,1 DATA 1,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1 DATA 1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 DATA 1,1,1,1,1,1,2,1,1,1,1,1,0,1,1,1 DATA 1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1 DATA 1,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1 DATA 1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1 DATA 1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1