04-20-2004, 08:05 PM
I'm trying to learn how to program an old game from Apogee/3drealms. It's called Paganitzu, an old top down view puzzle type game like Boulderdash.
My question is how to control the character movement when using arrow keys. Right now I'm using a keyboard transfer rate handler but it is not what I want to use.
What I want to do is use Screen Pages when I program this game.
I will display my code but it is not what I really want to use. I just wanted to get a good step into it. So I really want to start from scratch.
Also, check out the game if you don't know what it is like. It is has a shareware version on the internet to download. Just search for "Paganitzu download" or something else.
Here is my code:
OUT &H60, &HF3 ' get keyboard's attention
FOR D& = 1 TO 100 ' brief delay to give the hardware time to settle
NEXT
Value = 22 ' 1/4 second initial delay, 16 CPS
OUT &H60, Value
DIM SHARED Wall1.1(132)
DIM SHARED Wall1.2(132)
DIM SHARED Wall1.3(132)
DIM SHARED Wall1.4(132)
DIM SHARED Wall1.5(132)
DIM SHARED Wall2.1(132)
DIM SHARED Wall2.2(132)
DIM SHARED Wall2.3(132)
DIM SHARED Wall2.4(132)
DIM SHARED Wall2.5(132)
DIM SHARED False.Wall1(132)
DIM SHARED False.Wall2(132)
DIM SHARED DoorKey1.1(132)
DIM SHARED Diamond1.1(132)
DIM SHARED Diamond1.2(132)
DIM SHARED Diamond1.3(132)
DIM SHARED Diamond1.4(132)
DIM SHARED Diamond1.5(132)
DIM SHARED Diamond1.6(132)
DIM SHARED Diamond1.7(132)
DIM SHARED Al.Left(132)
DIM SHARED Al.Run.Left(132)
DIM SHARED Al.Right(132)
DIM SHARED Al.Run.Right(132)
DIM SHARED Boulder1(132)
DIM SHARED The.Key(132)
DIM SHARED Snake1(132)
DIM SHARED Snake2(132)
DIM SHARED Snake3(132)
DIM SHARED Snake4(132)
DIM SHARED spot$(0 TO 18, 0 TO 11)
SCREEN 7
GOSUB Wall1.1
GOSUB Wall1.2
GOSUB Wall1.3
GOSUB Wall1.4
GOSUB Wall1.5
GOSUB Wall2.1
GOSUB Wall2.2
GOSUB Wall2.3
GOSUB Wall2.4
GOSUB Wall2.5
GOSUB False.Wall1
GOSUB False.Wall2
GOSUB DoorKey1.1
GOSUB Diamond1.1
GOSUB Diamond1.2
GOSUB Diamond1.3
GOSUB Diamond1.4
GOSUB Diamond1.5
GOSUB Diamond1.6
GOSUB Diamond1.7
GOSUB Al.Left
GOSUB Al.Run.Left
GOSUB Al.Right
GOSUB Al.Run.Right
GOSUB Boulder1
GOSUB The.Key
GOSUB Snake1
GOSUB Snake2
GOSUB Snake3
GOSUB Snake4
GOSUB Display.It
GOSUB Key.Input
Wall1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.1
CLS
RETURN
Wall1.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.2
CLS
RETURN
Wall1.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.3
CLS
RETURN
Wall1.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.4
CLS
RETURN
Wall1.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.5
CLS
RETURN
Wall2.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.1
CLS
RETURN
Wall2.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.2
CLS
RETURN
Wall2.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.3
CLS
RETURN
Wall2.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.4
CLS
RETURN
Wall2.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.5
CLS
RETURN
False.Wall1:
GOSUB Color.It
GET (0, 0)-(15, 15), False.Wall1
CLS
RETURN
False.Wall2:
GOSUB Color.It
GET (0, 0)-(15, 15), False.Wall2
CLS
RETURN
DoorKey1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), DoorKey1.1
CLS
RETURN
Diamond1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.1
CLS
RETURN
Diamond1.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.2
CLS
RETURN
Diamond1.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.3
CLS
RETURN
Diamond1.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.4
CLS
RETURN
Diamond1.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.5
CLS
RETURN
Diamond1.6:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.6
CLS
RETURN
Diamond1.7:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.7
CLS
RETURN
Al.Left:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Left
CLS
RETURN
Al.Run.Left:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Run.Left
CLS
RETURN
Al.Right:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Right
CLS
RETURN
Al.Run.Right:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Run.Right
CLS
RETURN
Boulder1:
GOSUB Color.It
GET (0, 0)-(15, 15), Boulder1
CLS
RETURN
The.Key:
GOSUB Color.It
GET (0, 0)-(15, 15), The.Key
CLS
RETURN
Snake1:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake1
CLS
RETURN
Snake2:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake2
CLS
RETURN
Snake3:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake3
CLS
RETURN
Snake4:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake4
CLS
RETURN
Color.It:
FOR y = 0 TO 15
FOR x = 0 TO 15
READ CLR
PSET (x, y), CLR
NEXT x
NEXT y
RETURN
Display.It:
FOR x = 0 TO 48 STEP 16
PUT (x, 0), Wall1.1
NEXT x
FOR y = 16 TO 32 STEP 16
PUT (0, y), Wall1.1
NEXT y
PUT (32, 32), Wall1.1
FOR x = 0 TO 288 STEP 16
FOR y = 0 TO 176 STEP 16
spot$(x / 16, y / 16) = "space"
NEXT y
NEXT x
PUT (48, 32), Diamond1.1
PUT (48, 48), Diamond1.1
PUT (48, 64), Diamond1.1
PUT (48, 80), Diamond1.1
PUT (64, 80), Diamond1.1
PUT (80, 80), Diamond1.1
PUT (96, 80), Diamond1.1
PUT (112, 80), Diamond1.1
PUT (128, 80), Diamond1.1
PUT (144, 80), Diamond1.1
PUT (160, 80), Diamond1.1
PUT (176, 80), Diamond1.1
PUT (192, 80), Diamond1.1
PUT (208, 80), Diamond1.1
PUT (64, 16), Boulder1
PUT (96, 48), Boulder1
PUT (144, 48), The.Key
PUT (160, 48), The.Key
PUT (144, 176), DoorKey1.1, PSET
PUT (16, 16), Snake1, PSET
FOR u = 0 TO 48 STEP 16
spot$(u / 16, 0 / 16) = "Wall"
NEXT u
spot$(0 / 16, 16 / 16) = "Wall"
spot$(0 / 16, 32 / 16) = "False Wall/Diamond"
spot$(32 / 16, 32 / 16) = "Wall"
spot$(64 / 16, 16 / 16) = "Boulder"
spot$(96 / 16, 48 / 16) = "Boulder"
spot$(48 / 16, 32 / 16) = "Diamond"
spot$(48 / 16, 48 / 16) = "Diamond"
spot$(48 / 16, 64 / 16) = "Diamond"
FOR u = 48 TO 208 STEP 16
spot$(u / 16, 80 / 16) = "Diamond"
NEXT u
spot$(144 / 16, 48 / 16) = "Key"
spot$(160 / 16, 48 / 16) = "Key"
spot$(144 / 16, 176 / 16) = "Exit"
dx = 0: dy = 16
x = 48: y = 16
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
Face$ = "Al Right"
LeftValue = dx - 16
RightValue = dx + 16
UpValue = dy - 16
DownValue = dy + 16
All.Keys = 2
Count.Keys = 0
RETURN
Key.Input:
t = 1
frame = 0
DO WHILE t = 1
Key$ = INKEY$
SELECT CASE RIGHT$(Key$, 1)
CASE "K" 'LEFT
GOSUB FaceR
GOSUB Left
CASE "M" 'RIGHT
GOSUB FaceL
GOSUB Right
CASE "H" 'UP
GOSUB FaceU
CASE "P" 'DOWN
GOSUB FaceD
CASE CHR$(27)
OUT &H60, &HF3 ' get keyboard's attention
FOR D& = 1 TO 100 ' brief delay to give the hardware time to settle
NEXT
Value = 7 ' 1/4 second initial delay, 16 CPS
OUT &H60, Value
END
END SELECT
LOOP
RETURN
Left:
Face$ = "Al Left"
dx = x - 16
dy = y
GOSUB CheckSpot
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$((LeftValue) / 16, dy / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$((LeftValue) / 16, dy / 16)
CASE "space"
spot$((LeftValue) / 16, dy / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT ((LeftValue), dy), Boulder1, PSET
END SELECT
END IF
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
x = x - 16
PUT (x + 8, y), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x + 8, y), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
RETURN
Right:
Face$ = "Al Right"
dx = x + 16
dy = y
GOSUB CheckSpot
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$((RightValue) / 16, dy / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$((RightValue) / 16, dy / 16)
CASE "space"
spot$((RightValue) / 16, dy / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT ((RightValue), dy), Boulder1, PSET
END SELECT
END IF
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
x = x + 16
PUT (x - 8, y), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x - 8, y), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
RETURN
FaceU:
SELECT CASE Face$
CASE IS = "Al Right"
Face$ = "Al Right"
PUT (x, y), Al.Right, PSET
dy = y - 16
dx = x
GOSUB CheckSpot
GOSUB BoulderU
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
y = y - 16
PUT (x, y + 8), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y + 8), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
CASE IS = "Al Left"
Face$ = "Al Left"
PUT (x, y), Al.Left, PSET
dy = y - 16
dx = x
GOSUB CheckSpot
GOSUB BoulderU
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
y = y - 16
PUT (x, y + 8), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y + 8), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
END SELECT
RETURN
BoulderU:
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$(dx / 16, (UpValue) / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$(dx / 16, (UpValue) / 16)
CASE IS = "space"
spot$(dx / 16, (UpValue) / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT (dx, (UpValue)), Boulder1, PSET
END SELECT
END IF
RETURN
FaceD:
SELECT CASE Face$
CASE IS = "Al Right"
Face$ = "Al Right"
PUT (x, y), Al.Right, PSET
dy = y + 16
dx = x
GOSUB CheckSpot
GOSUB BoulderD
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
y = y + 16
PUT (x, y - 8), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y - 8), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
CASE IS = "Al Left"
Face$ = "Al Left"
PUT (x, y), Al.Left, PSET
dy = y + 16
dx = x
GOSUB CheckSpot
GOSUB BoulderD
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
y = y + 16
PUT (x, y - 8), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y - 8), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
END SELECT
RETURN
BoulderD:
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$(dx / 16, (DownValue) / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$(dx / 16, (DownValue) / 16)
CASE IS = "space"
spot$(dx / 16, (DownValue) / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT (dx, (DownValue)), Boulder1, PSET
END SELECT
END IF
RETURN
FaceL:
IF Face$ = "Al Left" THEN
PUT (x, y), Al.Right, PSET
END IF
RETURN
FaceR:
IF Face$ = "Al Right" THEN
PUT (x, y), Al.Left, PSET
END IF
RETURN
CheckSpot:
LeftValue = dx - 16
RightValue = dx + 16
UpValue = dy - 16
DownValue = dy + 16
GOSUB CheckEdge
SELECT CASE spot$(dx / 16, dy / 16)
CASE "Wall"
GOTO Key.Input
CASE "False Wall"
PUT (dx / 16, dy / 16), False.Wall1, PSET
PUT (dx / 16, dy / 16), False.Wall2, PSET
spot$(dx / 16, dy / 16) = "space"
CASE "False Wall/Diamond"
PUT (dx, dy), False.Wall1, PSET
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (dx, dy), False.Wall2, PSET
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (dx, dy), Diamond1.1, PSET
spot$(dx / 16, dy / 16) = "Diamond"
GOTO Key.Input
CASE "Diamond"
' SOUND 4000, 1000 / 2200
' SOUND 20550, 1000 / 2200
' SOUND 6000, 1000 / 2200
spot$(dx / 16, dy / 16) = "space"
CASE "Key"
' SOUND 100, 1000 / 2200
' SOUND 1000, 1600 / 2200
spot$(dx / 16, dy / 16) = "space"
Count.Keys = Count.Keys + 1
CASE "Exit"
SELECT CASE Count.Keys
CASE IS = All.Keys
END
CASE IS <> All.Keys
LOCATE 1, 1: PRINT "Not All Keys are Accounted for."
GOTO Key.Input
END SELECT
CASE "space"
END SELECT
RETURN
CheckEdge:
IF dy = -16 THEN
dy = dy / -16
GOTO Key.Input
ELSEIF UpValue = -16 THEN
UpValue = dy / -16
ELSEIF dy = 192 THEN
dy = dy - 16
GOTO Key.Input
ELSEIF DownValue = 192 THEN
DownValue = DownValue - 16
ELSEIF dx = -16 THEN
dx = dx / -16
GOTO Key.Input
ELSEIF LeftValue = -16 THEN
LeftValue = dx / -16
ELSEIF dx = 304 THEN
dx = dx - 304
GOTO Key.Input
ELSEIF RightValue = 304 THEN
RightValue = RightValue - 16
END IF
RETURN
' Wall1.1
DATA 0,6,6,2,2,2,6,6,2,2,7,2,6,2,0,0
DATA 6,2,6,7,6,7,2,2,2,7,2,6,6,6,7,0
DATA 2,2,7,6,6,8,2,8,2,6,6,7,2,7,2,0
DATA 0,6,2,2,7,8,2,7,8,8,7,8,6,7,2,0
DATA 2,8,6,8,6,7,8,8,2,8,6,7,7,2,6,0
DATA 8,0,8,0,2,8,8,8,2,7,8,2,8,7,6,0
DATA 0,8,0,8,2,8,8,8,8,8,7,2,2,8,2,0
DATA 6,0,8,0,8,8,2,8,6,8,8,8,8,8,7,0
DATA 0,0,0,8,6,8,8,8,0,2,8,8,2,7,2,0
DATA 0,0,8,2,8,8,0,8,8,8,8,8,7,6,7,0
DATA 0,8,0,8,0,8,8,8,6,0,8,8,7,6,6,0
DATA 0,0,8,0,8,0,2,8,8,8,8,7,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,6,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall1.2
DATA 0,6,0,2,0,2,2,6,8,2,6,2,7,2,0,0
DATA 0,2,8,0,6,8,0,8,2,8,8,2,6,2,6,0
DATA 8,2,0,8,8,2,8,6,8,6,8,8,8,7,8,0
DATA 8,0,8,8,8,0,8,8,8,8,7,8,8,2,7,0
DATA 0,2,8,0,8,8,8,8,7,8,8,8,7,7,8,0
DATA 8,0,8,8,8,0,8,8,8,7,8,8,7,8,7,0
DATA 0,8,8,0,8,8,7,8,7,8,7,7,8,7,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,6,0,2,6,2,0,0,0,2,6,8,6,0,2,6
DATA 8,8,6,8,2,7,6,0,0,8,2,0,2,6,0,6
DATA 0,8,8,8,2,8,7,0,8,0,0,8,2,0,0,0
DATA 8,8,7,6,8,7,8,0,8,0,2,8,8,8,0,8
DATA 8,8,8,8,2,7,7,0,0,8,8,0,8,8,7,8
DATA 7,8,7,7,8,8,8,0,8,0,8,8,8,0,8,8
DATA 8,7,7,8,8,7,0,0,0,8,8,0,8,7,8,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall1.3
DATA 8,6,7,6,0,0,8,8,7,6,0,0,0,0,0,8
DATA 0,8,8,0,6,2,0,8,8,0,6,2,7,2,2,0
DATA 7,0,0,6,7,6,2,0,0,8,8,6,7,7,2,6
DATA 8,0,6,7,7,7,2,2,2,0,8,8,6,7,7,2
DATA 0,8,8,6,8,6,7,2,2,6,0,0,8,6,7,6
DATA 0,8,8,8,6,7,7,7,6,2,2,2,0,8,6,8
DATA 0,0,0,8,8,6,7,7,2,6,7,6,0,0,8,8
DATA 0,2,6,0,8,8,6,8,7,7,8,0,0,2,0,0
DATA 8,6,2,2,0,0,8,6,7,6,0,0,8,2,2,0
DATA 0,8,8,7,7,2,0,8,8,0,6,7,6,2,6,2
DATA 2,0,0,8,7,6,2,0,0,6,8,7,7,7,7,6
DATA 6,2,6,0,8,8,0,0,0,8,6,7,6,7,6,2
DATA 7,6,2,2,0,0,8,8,0,0,8,6,8,7,7,7
DATA 7,2,6,2,6,0,6,2,2,2,0,8,6,7,6,7
DATA 7,7,7,6,2,0,8,6,7,6,2,0,8,6,8,6
DATA 6,7,6,2,6,0,8,7,7,7,6,0,0,8,6,7
' Wall1.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 2,6,2,7,0,0,2,7,2,7,6,7,0,2,6,6
DATA 8,7,8,7,0,8,7,0,8,2,8,7,0,8,0,2
DATA 8,8,7,8,0,0,0,8,8,8,7,8,0,0,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,6,7,2,6,6,7,0,2,6,6,7,2,7,6
DATA 0,8,8,0,8,2,8,7,0,8,0,7,8,7,2,7
DATA 0,8,0,8,8,8,7,8,0,0,8,8,0,8,7,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 6,7,2,7,0,7,6,7,2,7,7,2,0,7,2,7
DATA 8,7,2,7,0,8,2,7,8,2,8,7,0,2,7,2
DATA 8,8,7,7,0,0,8,8,0,8,7,8,0,8,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,6,7,7,6,7,2,7,0,2,7,6,2,6,6,2
DATA 0,2,0,2,8,2,8,7,0,2,8,2,8,2,8,7
DATA 0,0,8,8,0,8,7,8,0,0,8,8,0,8,7,7
' Wall1.5
DATA 8,0,8,2,8,8,6,8,8,0,8,6,8,2,2,8
DATA 0,0,0,0,0,8,8,8,2,0,8,8,8,8,2,8
DATA 0,6,2,6,2,0,8,8,0,0,0,0,0,8,8,8
DATA 0,2,6,8,8,0,7,0,2,2,2,6,0,0,0,8
DATA 0,8,8,6,0,6,0,2,2,8,2,7,0,6,2,0
DATA 2,0,8,8,0,2,0,8,8,8,7,8,0,2,8,6
DATA 2,6,0,0,0,8,6,0,0,0,0,0,0,8,2,8
DATA 8,7,0,6,2,2,6,0,6,7,6,2,6,0,8,7
DATA 8,8,0,2,8,2,2,2,0,2,8,8,2,7,0,8
DATA 8,0,6,0,6,2,7,8,8,0,6,2,2,6,8,0
DATA 0,2,2,0,2,8,8,8,7,0,8,8,2,8,8,0
DATA 2,7,6,0,8,8,2,8,8,8,0,8,2,8,7,0
DATA 6,8,2,2,0,8,8,7,8,7,0,8,8,8,0,2
DATA 8,8,8,7,0,8,8,0,0,0,0,0,0,0,0,8
DATA 0,8,0,6,8,6,2,8,8,7,0,6,2,8,6,7
DATA 8,0,8,2,8,8,6,8,8,0,8,6,8,2,2,8
' Wall2.1
DATA 0,4,4,6,6,6,4,4,6,6,7,6,4,6,0,0
DATA 4,6,4,7,4,7,6,6,6,7,6,4,4,4,7,0
DATA 6,6,7,4,4,8,6,8,6,4,4,7,6,7,6,0
DATA 0,4,6,6,7,8,6,7,8,8,7,8,4,7,6,0
DATA 6,8,4,8,4,7,8,8,6,8,4,7,7,6,4,0
DATA 8,0,8,0,6,8,8,8,6,7,8,6,8,7,4,0
DATA 0,8,0,8,6,8,8,8,8,8,7,6,6,8,6,0
DATA 4,0,8,0,8,8,6,8,4,8,8,8,8,8,7,0
DATA 0,0,0,8,4,8,8,8,0,6,8,8,6,7,6,0
DATA 0,0,8,6,8,8,0,8,8,8,8,8,7,4,7,0
DATA 0,8,0,8,0,8,8,8,4,0,8,8,7,4,4,0
DATA 0,0,8,0,8,0,6,8,8,8,8,7,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,4,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall2.2
DATA 0,4,0,6,0,6,6,4,8,6,4,6,7,6,0,0
DATA 0,6,8,0,6,8,0,8,6,8,8,6,4,6,4,0
DATA 8,6,0,8,8,6,8,4,8,4,8,8,8,7,8,0
DATA 8,0,8,8,8,0,8,8,8,8,7,8,8,6,7,0
DATA 0,6,8,0,8,8,8,8,7,8,8,8,7,7,8,0
DATA 8,0,8,8,8,0,8,8,8,7,8,8,7,8,7,0
DATA 0,8,8,0,8,8,7,8,7,8,7,7,8,7,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,4,0,6,4,6,0,0,0,6,4,8,4,0,6,4
DATA 8,8,4,8,6,7,4,0,0,8,6,0,6,4,0,4
DATA 0,8,8,8,6,8,7,0,8,0,0,8,6,8,8,8
DATA 8,8,7,4,8,7,8,0,8,0,6,8,8,8,0,8
DATA 8,8,8,8,6,7,7,0,0,8,8,0,8,8,7,8
DATA 7,8,7,7,8,8,8,0,8,0,8,8,8,0,8,8
DATA 8,7,7,8,8,7,0,0,0,8,8,0,8,7,8,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall2.3
DATA 8,4,7,4,0,0,8,8,7,4,0,0,0,0,0,8
DATA 0,8,8,0,4,6,0,8,8,0,4,6,7,6,6,0
DATA 7,0,0,4,7,4,6,0,0,8,8,4,7,7,6,4
DATA 8,0,4,7,7,7,6,6,6,0,8,8,4,7,7,6
DATA 0,8,8,4,8,4,7,6,6,4,0,0,8,4,7,4
DATA 0,8,8,8,4,7,7,7,4,6,6,6,0,8,4,8
DATA 0,0,0,8,8,4,7,7,6,4,7,4,0,0,8,8
DATA 0,6,4,0,8,8,4,8,7,7,8,0,0,6,0,0
DATA 8,4,6,6,0,0,8,4,7,4,0,0,8,6,6,0
DATA 0,8,8,7,7,6,0,8,8,0,4,7,4,6,4,6
DATA 6,0,0,8,7,4,6,0,0,4,8,7,7,7,7,4
DATA 4,6,4,0,8,8,0,0,0,8,4,7,4,7,4,6
DATA 7,4,6,6,0,0,8,8,0,0,8,4,8,7,7,7
DATA 7,6,4,6,4,0,4,6,6,6,0,8,4,7,4,7
DATA 7,7,7,4,6,0,8,4,7,4,6,0,8,4,8,4
DATA 4,7,4,6,4,0,8,7,7,7,4,0,0,8,4,7
' Wall2.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 6,4,6,7,0,0,6,7,6,7,4,7,0,6,4,4
DATA 8,7,8,7,0,8,7,0,8,6,8,7,0,8,0,6
DATA 8,8,7,8,0,0,0,8,8,8,7,8,0,0,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,4,7,6,4,4,7,0,6,4,4,7,6,7,4
DATA 0,8,8,0,8,6,8,7,0,8,0,7,8,7,6,7
DATA 0,8,0,8,8,8,7,8,0,0,8,8,0,8,7,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 4,7,6,7,0,7,4,7,6,7,7,6,0,7,6,7
DATA 8,7,6,7,0,8,6,7,8,6,8,7,0,6,7,6
DATA 8,8,7,7,0,0,8,8,0,8,7,8,0,8,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,4,7,7,4,7,6,7,0,6,7,4,6,4,4,6
DATA 0,6,0,6,8,6,8,7,0,6,8,6,8,6,8,7
DATA 0,0,8,8,0,8,7,8,0,0,8,8,0,8,7,7
' Wall2.5
DATA 8,0,8,6,8,8,4,8,8,0,8,4,8,6,6,8
DATA 0,0,0,0,0,8,8,8,6,0,8,8,8,8,6,8
DATA 0,6,6,4,6,0,8,8,0,0,0,0,0,8,8,8
DATA 0,6,4,8,8,0,7,0,6,6,6,4,0,0,0,8
DATA 0,8,8,4,0,4,0,6,6,8,6,7,0,4,6,0
DATA 6,0,8,8,0,6,0,8,8,8,7,8,0,6,8,4
DATA 6,4,0,0,0,8,4,0,0,0,0,0,0,8,6,8
DATA 8,7,0,4,6,6,4,0,4,7,4,6,4,0,8,7
DATA 8,8,0,6,8,6,6,6,0,6,8,8,6,7,0,8
DATA 8,0,4,0,4,6,7,8,8,0,4,6,6,4,8,0
DATA 0,6,6,0,6,8,8,8,7,0,8,8,6,8,8,0
DATA 6,7,4,0,8,8,6,8,8,8,0,8,6,8,7,0
DATA 4,8,6,6,0,8,8,7,8,7,0,8,8,8,0,6
DATA 8,8,8,7,0,8,8,0,0,0,0,0,0,0,0,8
DATA 0,8,0,4,8,4,6,8,8,7,0,4,6,8,4,7
DATA 8,0,8,6,8,8,4,8,8,0,8,4,8,6,6,8
' False.Wall1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,8,0,0,8,0,8,0,0,8,0,0,0
DATA 0,0,0,0,8,8,0,8,8,0,8,8,0,0,0,0
DATA 0,0,0,8,0,8,0,0,8,8,8,0,0,0,0,0
DATA 0,0,0,0,8,0,8,8,0,8,0,8,0,8,0,0
DATA 0,0,8,0,0,8,8,0,8,8,8,0,8,0,8,8
DATA 0,0,0,8,8,8,8,8,8,8,8,8,8,8,0,0
DATA 0,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0
' False.Wall2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,8,0,0,8,0,0,0,0
DATA 0,0,0,0,0,0,8,8,8,8,0,0,0,0,0,0
DATA 0,0,0,0,8,8,8,8,8,8,8,8,0,0,0,0
DATA 0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0
' DoorKey1.1
DATA 0,6,6,2,2,2,6,6,2,2,7,2,6,2,0,0
DATA 6,2,6,7,6,7,2,2,2,7,2,6,6,6,7,0
DATA 2,2,7,6,6,8,2,8,2,6,6,7,2,7,2,0
DATA 0,6,2,8,8,8,8,8,8,8,8,8,6,7,2,0
DATA 2,8,6,0,6,6,6,6,6,6,6,8,7,2,6,0
DATA 8,0,8,0,6,6,0,0,0,6,6,8,8,7,6,0
DATA 0,8,0,0,6,6,0,0,0,6,6,8,2,8,2,0
DATA 6,0,8,0,6,6,6,0,6,6,6,8,8,8,7,0
DATA 0,0,0,0,6,6,6,0,6,6,6,8,2,7,2,0
DATA 0,0,8,0,6,6,6,6,6,6,6,8,7,6,7,0
DATA 0,8,0,0,6,6,6,6,6,6,6,8,7,6,6,0
DATA 0,0,8,0,0,0,0,0,0,0,0,0,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,6,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,11,11,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,11,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,11,11,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,11,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,15,15,15,15,15,3,3,3,3,3,0,0,0
DATA 0,0,0,0,15,15,15,15,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,15,15,15,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.3
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,15,15,15,11,11,11,0,0,0,0,0
DATA 0,0,0,0,15,15,15,15,11,11,11,11,0,0,0,0
DATA 0,0,0,15,15,15,15,15,11,11,11,11,11,0,0,0
DATA 0,0,0,15,15,15,15,15,15,15,15,15,15,0,0,0
DATA 0,0,0,0,15,15,15,15,15,15,15,15,0,0,0,0
DATA 0,0,0,0,0,15,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,15,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,15,15,15,15,15,15,15,15,0,0,0,0
DATA 0,0,0,15,15,15,15,15,15,15,15,15,15,0,0,0
DATA 0,0,0,1,1,1,1,1,15,15,15,15,15,0,0,0
DATA 0,0,0,0,1,1,1,1,15,15,15,15,0,0,0,0
DATA 0,0,0,0,0,1,1,1,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.5
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,15,15,15,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,15,15,15,15,0,0,0,0
DATA 0,0,0,7,7,7,7,7,15,15,15,15,15,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.6
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,15,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,15,15,15,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,15,11,11,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,15,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,15,0,0,0,0,0
DATA 0,0,0,0,0,7,7,15,15,15,15,15,15,15,0,0
DATA 0,0,0,0,7,7,7,7,11,11,15,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,15,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,15,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Al.Left
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,4,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,6,0,0,0,0
DATA 0,0,0,0,0,4,12,12,6,4,6,6,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,6,4,0,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,12,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,12,0,0,6,0,0,0,0
DATA 1,0,12,0,0,0,8,7,7,7,0,0,0,0,0,0
DATA 0,0,12,7,7,7,7,7,7,7,0,0,0,0,0,0
DATA 0,0,12,8,8,8,8,7,7,7,0,0,0,0,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,8,8,8,8,0,0,0,0,0,0,0
' Al.Run.Left
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,4,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,6,0,0,0,0
DATA 0,0,0,0,0,4,12,12,6,4,6,6,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,6,4,0,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,12,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,12,0,0,6,0,0,0,0
DATA 0,0,12,0,0,0,8,7,7,7,0,0,0,0,0,0
DATA 0,0,12,7,7,7,7,7,7,7,0,0,0,0,0,0
DATA 0,0,12,8,8,8,8,7,7,7,0,0,0,0,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,6,6,6,4,6,6,6,6,8,0,0,0
DATA 0,0,0,0,6,4,4,4,4,4,4,4,8,0,0,0
DATA 0,0,0,0,6,4,0,0,0,0,0,0,8,0,0,0
DATA 0,0,0,8,8,8,0,0,0,0,0,0,0,0,0,0
' Al.Right
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 0,0,0,0,0,0,6,6,0,0,6,0,0,0,0,0
DATA 0,0,0,0,0,6,6,6,4,6,0,0,0,0,0,0
DATA 0,0,0,0,4,6,6,4,6,12,0,0,0,0,0,0
DATA 0,0,0,0,4,4,4,6,12,12,12,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,12,12,0,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,12,12,0,0,0,0,0,0
DATA 0,0,0,0,4,0,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,8,7,7,7,0,0,0,12,0,1
DATA 0,0,0,0,0,0,8,7,7,7,7,7,7,12,0,0
DATA 0,0,0,0,0,0,8,7,7,8,8,8,8,12,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,8,8,8,0,0,0,0,0
' Al.Run.Right
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 0,0,0,0,0,0,0,6,6,0,0,6,0,0,0,0
DATA 0,0,0,0,0,0,6,6,6,4,6,0,0,0,0,0
DATA 0,0,0,0,0,4,6,6,4,6,12,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,6,12,12,12,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,12,12,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,12,12,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,7,7,7,0,0,0,12,0
DATA 0,0,0,0,0,0,0,8,7,7,7,7,7,7,12,0
DATA 0,0,0,0,0,0,0,8,7,7,8,8,8,8,12,0
DATA 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0
DATA 0,0,0,0,8,6,6,6,6,4,6,6,6,0,0,0
DATA 0,0,0,0,8,4,4,4,4,4,4,4,6,0,0,0
DATA 0,0,0,0,8,0,0,0,0,0,0,4,6,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,0
' Boulder1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,2,6,6,2,6,0,0,0,0,0
DATA 0,0,0,6,0,6,6,6,0,7,6,2,6,0,0,0
DATA 0,0,6,0,0,0,0,0,0,2,6,7,2,7,0,0
DATA 0,6,0,6,0,6,2,6,0,6,2,7,7,6,2,0
DATA 0,6,0,0,0,2,6,0,6,7,6,7,6,2,6,0
DATA 6,0,0,0,6,6,6,0,2,7,6,6,7,6,6,2
DATA 0,0,0,6,0,6,2,6,0,7,2,6,6,7,6,6
DATA 6,0,0,6,0,6,2,0,0,6,6,7,7,7,7,7
DATA 6,0,0,0,0,0,6,6,2,6,7,7,7,6,6,6
DATA 0,0,0,0,0,0,6,6,6,6,6,2,6,6,6,0
DATA 0,6,0,0,0,6,0,6,6,7,7,6,7,6,2,0
DATA 0,0,0,6,2,6,6,0,6,6,6,2,6,6,0,0
DATA 0,0,0,6,0,6,0,6,7,6,6,7,7,0,0,0
DATA 0,0,0,0,0,0,6,0,6,2,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' The.Key
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,12,14,14,0,0,0,0,0,0,0,0,0
DATA 0,0,0,12,14,0,12,14,0,0,0,0,0,0,0,0
DATA 0,0,0,12,14,0,12,14,0,0,0,0,0,0,0,0
DATA 0,0,0,0,12,14,14,14,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,12,14,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,12,14,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,12,14,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,12,14,12,14,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,12,14,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Snake1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,4,12,0,0,0,0,0
DATA 0,0,0,0,0,5,0,0,0,7,4,12,0,0,0,0
DATA 0,0,0,0,0,5,0,0,4,4,12,0,0,0,0,0
DATA 0,0,0,0,0,5,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,5,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 4,4,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,4,12,0,0,0,0
DATA 0,0,0,0,0,0,5,0,0,0,7,4,12,0,0,0
DATA 0,0,0,0,0,0,5,0,0,4,4,12,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 12,0,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,4,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake3
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,4,12,0,0,0
DATA 0,0,0,0,0,0,0,5,0,0,0,7,4,12,0,0
DATA 0,0,0,0,0,0,0,5,0,0,4,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,4,4,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,12,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,4,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,0,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,4,12,0,0
DATA 0,0,0,0,0,0,0,0,5,0,0,0,7,4,12,0
DATA 0,0,0,0,0,0,0,0,5,0,0,4,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,4,4,4,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,12,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,0,0,4,12,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,0,4,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,0,0,0,4,4,5,0,0,5,5,4,4,12,0,0
My question is how to control the character movement when using arrow keys. Right now I'm using a keyboard transfer rate handler but it is not what I want to use.
What I want to do is use Screen Pages when I program this game.
I will display my code but it is not what I really want to use. I just wanted to get a good step into it. So I really want to start from scratch.
Also, check out the game if you don't know what it is like. It is has a shareware version on the internet to download. Just search for "Paganitzu download" or something else.
Here is my code:
OUT &H60, &HF3 ' get keyboard's attention
FOR D& = 1 TO 100 ' brief delay to give the hardware time to settle
NEXT
Value = 22 ' 1/4 second initial delay, 16 CPS
OUT &H60, Value
DIM SHARED Wall1.1(132)
DIM SHARED Wall1.2(132)
DIM SHARED Wall1.3(132)
DIM SHARED Wall1.4(132)
DIM SHARED Wall1.5(132)
DIM SHARED Wall2.1(132)
DIM SHARED Wall2.2(132)
DIM SHARED Wall2.3(132)
DIM SHARED Wall2.4(132)
DIM SHARED Wall2.5(132)
DIM SHARED False.Wall1(132)
DIM SHARED False.Wall2(132)
DIM SHARED DoorKey1.1(132)
DIM SHARED Diamond1.1(132)
DIM SHARED Diamond1.2(132)
DIM SHARED Diamond1.3(132)
DIM SHARED Diamond1.4(132)
DIM SHARED Diamond1.5(132)
DIM SHARED Diamond1.6(132)
DIM SHARED Diamond1.7(132)
DIM SHARED Al.Left(132)
DIM SHARED Al.Run.Left(132)
DIM SHARED Al.Right(132)
DIM SHARED Al.Run.Right(132)
DIM SHARED Boulder1(132)
DIM SHARED The.Key(132)
DIM SHARED Snake1(132)
DIM SHARED Snake2(132)
DIM SHARED Snake3(132)
DIM SHARED Snake4(132)
DIM SHARED spot$(0 TO 18, 0 TO 11)
SCREEN 7
GOSUB Wall1.1
GOSUB Wall1.2
GOSUB Wall1.3
GOSUB Wall1.4
GOSUB Wall1.5
GOSUB Wall2.1
GOSUB Wall2.2
GOSUB Wall2.3
GOSUB Wall2.4
GOSUB Wall2.5
GOSUB False.Wall1
GOSUB False.Wall2
GOSUB DoorKey1.1
GOSUB Diamond1.1
GOSUB Diamond1.2
GOSUB Diamond1.3
GOSUB Diamond1.4
GOSUB Diamond1.5
GOSUB Diamond1.6
GOSUB Diamond1.7
GOSUB Al.Left
GOSUB Al.Run.Left
GOSUB Al.Right
GOSUB Al.Run.Right
GOSUB Boulder1
GOSUB The.Key
GOSUB Snake1
GOSUB Snake2
GOSUB Snake3
GOSUB Snake4
GOSUB Display.It
GOSUB Key.Input
Wall1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.1
CLS
RETURN
Wall1.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.2
CLS
RETURN
Wall1.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.3
CLS
RETURN
Wall1.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.4
CLS
RETURN
Wall1.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall1.5
CLS
RETURN
Wall2.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.1
CLS
RETURN
Wall2.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.2
CLS
RETURN
Wall2.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.3
CLS
RETURN
Wall2.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.4
CLS
RETURN
Wall2.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Wall2.5
CLS
RETURN
False.Wall1:
GOSUB Color.It
GET (0, 0)-(15, 15), False.Wall1
CLS
RETURN
False.Wall2:
GOSUB Color.It
GET (0, 0)-(15, 15), False.Wall2
CLS
RETURN
DoorKey1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), DoorKey1.1
CLS
RETURN
Diamond1.1:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.1
CLS
RETURN
Diamond1.2:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.2
CLS
RETURN
Diamond1.3:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.3
CLS
RETURN
Diamond1.4:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.4
CLS
RETURN
Diamond1.5:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.5
CLS
RETURN
Diamond1.6:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.6
CLS
RETURN
Diamond1.7:
GOSUB Color.It
GET (0, 0)-(15, 15), Diamond1.7
CLS
RETURN
Al.Left:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Left
CLS
RETURN
Al.Run.Left:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Run.Left
CLS
RETURN
Al.Right:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Right
CLS
RETURN
Al.Run.Right:
GOSUB Color.It
GET (0, 0)-(15, 15), Al.Run.Right
CLS
RETURN
Boulder1:
GOSUB Color.It
GET (0, 0)-(15, 15), Boulder1
CLS
RETURN
The.Key:
GOSUB Color.It
GET (0, 0)-(15, 15), The.Key
CLS
RETURN
Snake1:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake1
CLS
RETURN
Snake2:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake2
CLS
RETURN
Snake3:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake3
CLS
RETURN
Snake4:
GOSUB Color.It
GET (0, 0)-(15, 15), Snake4
CLS
RETURN
Color.It:
FOR y = 0 TO 15
FOR x = 0 TO 15
READ CLR
PSET (x, y), CLR
NEXT x
NEXT y
RETURN
Display.It:
FOR x = 0 TO 48 STEP 16
PUT (x, 0), Wall1.1
NEXT x
FOR y = 16 TO 32 STEP 16
PUT (0, y), Wall1.1
NEXT y
PUT (32, 32), Wall1.1
FOR x = 0 TO 288 STEP 16
FOR y = 0 TO 176 STEP 16
spot$(x / 16, y / 16) = "space"
NEXT y
NEXT x
PUT (48, 32), Diamond1.1
PUT (48, 48), Diamond1.1
PUT (48, 64), Diamond1.1
PUT (48, 80), Diamond1.1
PUT (64, 80), Diamond1.1
PUT (80, 80), Diamond1.1
PUT (96, 80), Diamond1.1
PUT (112, 80), Diamond1.1
PUT (128, 80), Diamond1.1
PUT (144, 80), Diamond1.1
PUT (160, 80), Diamond1.1
PUT (176, 80), Diamond1.1
PUT (192, 80), Diamond1.1
PUT (208, 80), Diamond1.1
PUT (64, 16), Boulder1
PUT (96, 48), Boulder1
PUT (144, 48), The.Key
PUT (160, 48), The.Key
PUT (144, 176), DoorKey1.1, PSET
PUT (16, 16), Snake1, PSET
FOR u = 0 TO 48 STEP 16
spot$(u / 16, 0 / 16) = "Wall"
NEXT u
spot$(0 / 16, 16 / 16) = "Wall"
spot$(0 / 16, 32 / 16) = "False Wall/Diamond"
spot$(32 / 16, 32 / 16) = "Wall"
spot$(64 / 16, 16 / 16) = "Boulder"
spot$(96 / 16, 48 / 16) = "Boulder"
spot$(48 / 16, 32 / 16) = "Diamond"
spot$(48 / 16, 48 / 16) = "Diamond"
spot$(48 / 16, 64 / 16) = "Diamond"
FOR u = 48 TO 208 STEP 16
spot$(u / 16, 80 / 16) = "Diamond"
NEXT u
spot$(144 / 16, 48 / 16) = "Key"
spot$(160 / 16, 48 / 16) = "Key"
spot$(144 / 16, 176 / 16) = "Exit"
dx = 0: dy = 16
x = 48: y = 16
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
Face$ = "Al Right"
LeftValue = dx - 16
RightValue = dx + 16
UpValue = dy - 16
DownValue = dy + 16
All.Keys = 2
Count.Keys = 0
RETURN
Key.Input:
t = 1
frame = 0
DO WHILE t = 1
Key$ = INKEY$
SELECT CASE RIGHT$(Key$, 1)
CASE "K" 'LEFT
GOSUB FaceR
GOSUB Left
CASE "M" 'RIGHT
GOSUB FaceL
GOSUB Right
CASE "H" 'UP
GOSUB FaceU
CASE "P" 'DOWN
GOSUB FaceD
CASE CHR$(27)
OUT &H60, &HF3 ' get keyboard's attention
FOR D& = 1 TO 100 ' brief delay to give the hardware time to settle
NEXT
Value = 7 ' 1/4 second initial delay, 16 CPS
OUT &H60, Value
END
END SELECT
LOOP
RETURN
Left:
Face$ = "Al Left"
dx = x - 16
dy = y
GOSUB CheckSpot
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$((LeftValue) / 16, dy / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$((LeftValue) / 16, dy / 16)
CASE "space"
spot$((LeftValue) / 16, dy / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT ((LeftValue), dy), Boulder1, PSET
END SELECT
END IF
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
x = x - 16
PUT (x + 8, y), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x + 8, y), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
RETURN
Right:
Face$ = "Al Right"
dx = x + 16
dy = y
GOSUB CheckSpot
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$((RightValue) / 16, dy / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$((RightValue) / 16, dy / 16)
CASE "space"
spot$((RightValue) / 16, dy / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT ((RightValue), dy), Boulder1, PSET
END SELECT
END IF
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
x = x + 16
PUT (x - 8, y), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x - 8, y), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
RETURN
FaceU:
SELECT CASE Face$
CASE IS = "Al Right"
Face$ = "Al Right"
PUT (x, y), Al.Right, PSET
dy = y - 16
dx = x
GOSUB CheckSpot
GOSUB BoulderU
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
y = y - 16
PUT (x, y + 8), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y + 8), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
CASE IS = "Al Left"
Face$ = "Al Left"
PUT (x, y), Al.Left, PSET
dy = y - 16
dx = x
GOSUB CheckSpot
GOSUB BoulderU
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
y = y - 16
PUT (x, y + 8), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y + 8), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
END SELECT
RETURN
BoulderU:
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$(dx / 16, (UpValue) / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$(dx / 16, (UpValue) / 16)
CASE IS = "space"
spot$(dx / 16, (UpValue) / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT (dx, (UpValue)), Boulder1, PSET
END SELECT
END IF
RETURN
FaceD:
SELECT CASE Face$
CASE IS = "Al Right"
Face$ = "Al Right"
PUT (x, y), Al.Right, PSET
dy = y + 16
dx = x
GOSUB CheckSpot
GOSUB BoulderD
PUT (x, y), Al.Right, XOR
spot$(x / 16, y / 16) = "space"
y = y + 16
PUT (x, y - 8), Al.Run.Right, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y - 8), Al.Run.Right, XOR
PUT (x, y), Al.Right, PSET
spot$(x / 16, y / 16) = "Al"
CASE IS = "Al Left"
Face$ = "Al Left"
PUT (x, y), Al.Left, PSET
dy = y + 16
dx = x
GOSUB CheckSpot
GOSUB BoulderD
PUT (x, y), Al.Left, XOR
spot$(x / 16, y / 16) = "space"
y = y + 16
PUT (x, y - 8), Al.Run.Left, PSET
' SOUND 1000, 90 / 2000
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (x, y - 8), Al.Run.Left, XOR
PUT (x, y), Al.Left, PSET
spot$(x / 16, y / 16) = "Al"
END SELECT
RETURN
BoulderD:
IF spot$(dx / 16, dy / 16) = "Boulder" THEN
SELECT CASE spot$(dx / 16, (DownValue) / 16)
CASE "Boulder", "Wall", "Diamond", "Key", "Exit"
GOTO Key.Input
END SELECT
SELECT CASE spot$(dx / 16, (DownValue) / 16)
CASE IS = "space"
spot$(dx / 16, (DownValue) / 16) = "Boulder"
spot$(dx / 16, dy / 16) = "space"
PUT (dx, dy), Boulder1, XOR
PUT (dx, (DownValue)), Boulder1, PSET
END SELECT
END IF
RETURN
FaceL:
IF Face$ = "Al Left" THEN
PUT (x, y), Al.Right, PSET
END IF
RETURN
FaceR:
IF Face$ = "Al Right" THEN
PUT (x, y), Al.Left, PSET
END IF
RETURN
CheckSpot:
LeftValue = dx - 16
RightValue = dx + 16
UpValue = dy - 16
DownValue = dy + 16
GOSUB CheckEdge
SELECT CASE spot$(dx / 16, dy / 16)
CASE "Wall"
GOTO Key.Input
CASE "False Wall"
PUT (dx / 16, dy / 16), False.Wall1, PSET
PUT (dx / 16, dy / 16), False.Wall2, PSET
spot$(dx / 16, dy / 16) = "space"
CASE "False Wall/Diamond"
PUT (dx, dy), False.Wall1, PSET
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (dx, dy), False.Wall2, PSET
FOR Cycle = 1 TO 1
Animation = TIMER
DO
LOOP WHILE TIMER < Animation + .1
NEXT Cycle
PUT (dx, dy), Diamond1.1, PSET
spot$(dx / 16, dy / 16) = "Diamond"
GOTO Key.Input
CASE "Diamond"
' SOUND 4000, 1000 / 2200
' SOUND 20550, 1000 / 2200
' SOUND 6000, 1000 / 2200
spot$(dx / 16, dy / 16) = "space"
CASE "Key"
' SOUND 100, 1000 / 2200
' SOUND 1000, 1600 / 2200
spot$(dx / 16, dy / 16) = "space"
Count.Keys = Count.Keys + 1
CASE "Exit"
SELECT CASE Count.Keys
CASE IS = All.Keys
END
CASE IS <> All.Keys
LOCATE 1, 1: PRINT "Not All Keys are Accounted for."
GOTO Key.Input
END SELECT
CASE "space"
END SELECT
RETURN
CheckEdge:
IF dy = -16 THEN
dy = dy / -16
GOTO Key.Input
ELSEIF UpValue = -16 THEN
UpValue = dy / -16
ELSEIF dy = 192 THEN
dy = dy - 16
GOTO Key.Input
ELSEIF DownValue = 192 THEN
DownValue = DownValue - 16
ELSEIF dx = -16 THEN
dx = dx / -16
GOTO Key.Input
ELSEIF LeftValue = -16 THEN
LeftValue = dx / -16
ELSEIF dx = 304 THEN
dx = dx - 304
GOTO Key.Input
ELSEIF RightValue = 304 THEN
RightValue = RightValue - 16
END IF
RETURN
' Wall1.1
DATA 0,6,6,2,2,2,6,6,2,2,7,2,6,2,0,0
DATA 6,2,6,7,6,7,2,2,2,7,2,6,6,6,7,0
DATA 2,2,7,6,6,8,2,8,2,6,6,7,2,7,2,0
DATA 0,6,2,2,7,8,2,7,8,8,7,8,6,7,2,0
DATA 2,8,6,8,6,7,8,8,2,8,6,7,7,2,6,0
DATA 8,0,8,0,2,8,8,8,2,7,8,2,8,7,6,0
DATA 0,8,0,8,2,8,8,8,8,8,7,2,2,8,2,0
DATA 6,0,8,0,8,8,2,8,6,8,8,8,8,8,7,0
DATA 0,0,0,8,6,8,8,8,0,2,8,8,2,7,2,0
DATA 0,0,8,2,8,8,0,8,8,8,8,8,7,6,7,0
DATA 0,8,0,8,0,8,8,8,6,0,8,8,7,6,6,0
DATA 0,0,8,0,8,0,2,8,8,8,8,7,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,6,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall1.2
DATA 0,6,0,2,0,2,2,6,8,2,6,2,7,2,0,0
DATA 0,2,8,0,6,8,0,8,2,8,8,2,6,2,6,0
DATA 8,2,0,8,8,2,8,6,8,6,8,8,8,7,8,0
DATA 8,0,8,8,8,0,8,8,8,8,7,8,8,2,7,0
DATA 0,2,8,0,8,8,8,8,7,8,8,8,7,7,8,0
DATA 8,0,8,8,8,0,8,8,8,7,8,8,7,8,7,0
DATA 0,8,8,0,8,8,7,8,7,8,7,7,8,7,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,6,0,2,6,2,0,0,0,2,6,8,6,0,2,6
DATA 8,8,6,8,2,7,6,0,0,8,2,0,2,6,0,6
DATA 0,8,8,8,2,8,7,0,8,0,0,8,2,0,0,0
DATA 8,8,7,6,8,7,8,0,8,0,2,8,8,8,0,8
DATA 8,8,8,8,2,7,7,0,0,8,8,0,8,8,7,8
DATA 7,8,7,7,8,8,8,0,8,0,8,8,8,0,8,8
DATA 8,7,7,8,8,7,0,0,0,8,8,0,8,7,8,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall1.3
DATA 8,6,7,6,0,0,8,8,7,6,0,0,0,0,0,8
DATA 0,8,8,0,6,2,0,8,8,0,6,2,7,2,2,0
DATA 7,0,0,6,7,6,2,0,0,8,8,6,7,7,2,6
DATA 8,0,6,7,7,7,2,2,2,0,8,8,6,7,7,2
DATA 0,8,8,6,8,6,7,2,2,6,0,0,8,6,7,6
DATA 0,8,8,8,6,7,7,7,6,2,2,2,0,8,6,8
DATA 0,0,0,8,8,6,7,7,2,6,7,6,0,0,8,8
DATA 0,2,6,0,8,8,6,8,7,7,8,0,0,2,0,0
DATA 8,6,2,2,0,0,8,6,7,6,0,0,8,2,2,0
DATA 0,8,8,7,7,2,0,8,8,0,6,7,6,2,6,2
DATA 2,0,0,8,7,6,2,0,0,6,8,7,7,7,7,6
DATA 6,2,6,0,8,8,0,0,0,8,6,7,6,7,6,2
DATA 7,6,2,2,0,0,8,8,0,0,8,6,8,7,7,7
DATA 7,2,6,2,6,0,6,2,2,2,0,8,6,7,6,7
DATA 7,7,7,6,2,0,8,6,7,6,2,0,8,6,8,6
DATA 6,7,6,2,6,0,8,7,7,7,6,0,0,8,6,7
' Wall1.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 2,6,2,7,0,0,2,7,2,7,6,7,0,2,6,6
DATA 8,7,8,7,0,8,7,0,8,2,8,7,0,8,0,2
DATA 8,8,7,8,0,0,0,8,8,8,7,8,0,0,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,6,7,2,6,6,7,0,2,6,6,7,2,7,6
DATA 0,8,8,0,8,2,8,7,0,8,0,7,8,7,2,7
DATA 0,8,0,8,8,8,7,8,0,0,8,8,0,8,7,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 6,7,2,7,0,7,6,7,2,7,7,2,0,7,2,7
DATA 8,7,2,7,0,8,2,7,8,2,8,7,0,2,7,2
DATA 8,8,7,7,0,0,8,8,0,8,7,8,0,8,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,6,7,7,6,7,2,7,0,2,7,6,2,6,6,2
DATA 0,2,0,2,8,2,8,7,0,2,8,2,8,2,8,7
DATA 0,0,8,8,0,8,7,8,0,0,8,8,0,8,7,7
' Wall1.5
DATA 8,0,8,2,8,8,6,8,8,0,8,6,8,2,2,8
DATA 0,0,0,0,0,8,8,8,2,0,8,8,8,8,2,8
DATA 0,6,2,6,2,0,8,8,0,0,0,0,0,8,8,8
DATA 0,2,6,8,8,0,7,0,2,2,2,6,0,0,0,8
DATA 0,8,8,6,0,6,0,2,2,8,2,7,0,6,2,0
DATA 2,0,8,8,0,2,0,8,8,8,7,8,0,2,8,6
DATA 2,6,0,0,0,8,6,0,0,0,0,0,0,8,2,8
DATA 8,7,0,6,2,2,6,0,6,7,6,2,6,0,8,7
DATA 8,8,0,2,8,2,2,2,0,2,8,8,2,7,0,8
DATA 8,0,6,0,6,2,7,8,8,0,6,2,2,6,8,0
DATA 0,2,2,0,2,8,8,8,7,0,8,8,2,8,8,0
DATA 2,7,6,0,8,8,2,8,8,8,0,8,2,8,7,0
DATA 6,8,2,2,0,8,8,7,8,7,0,8,8,8,0,2
DATA 8,8,8,7,0,8,8,0,0,0,0,0,0,0,0,8
DATA 0,8,0,6,8,6,2,8,8,7,0,6,2,8,6,7
DATA 8,0,8,2,8,8,6,8,8,0,8,6,8,2,2,8
' Wall2.1
DATA 0,4,4,6,6,6,4,4,6,6,7,6,4,6,0,0
DATA 4,6,4,7,4,7,6,6,6,7,6,4,4,4,7,0
DATA 6,6,7,4,4,8,6,8,6,4,4,7,6,7,6,0
DATA 0,4,6,6,7,8,6,7,8,8,7,8,4,7,6,0
DATA 6,8,4,8,4,7,8,8,6,8,4,7,7,6,4,0
DATA 8,0,8,0,6,8,8,8,6,7,8,6,8,7,4,0
DATA 0,8,0,8,6,8,8,8,8,8,7,6,6,8,6,0
DATA 4,0,8,0,8,8,6,8,4,8,8,8,8,8,7,0
DATA 0,0,0,8,4,8,8,8,0,6,8,8,6,7,6,0
DATA 0,0,8,6,8,8,0,8,8,8,8,8,7,4,7,0
DATA 0,8,0,8,0,8,8,8,4,0,8,8,7,4,4,0
DATA 0,0,8,0,8,0,6,8,8,8,8,7,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,4,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall2.2
DATA 0,4,0,6,0,6,6,4,8,6,4,6,7,6,0,0
DATA 0,6,8,0,6,8,0,8,6,8,8,6,4,6,4,0
DATA 8,6,0,8,8,6,8,4,8,4,8,8,8,7,8,0
DATA 8,0,8,8,8,0,8,8,8,8,7,8,8,6,7,0
DATA 0,6,8,0,8,8,8,8,7,8,8,8,7,7,8,0
DATA 8,0,8,8,8,0,8,8,8,7,8,8,7,8,7,0
DATA 0,8,8,0,8,8,7,8,7,8,7,7,8,7,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,4,0,6,4,6,0,0,0,6,4,8,4,0,6,4
DATA 8,8,4,8,6,7,4,0,0,8,6,0,6,4,0,4
DATA 0,8,8,8,6,8,7,0,8,0,0,8,6,8,8,8
DATA 8,8,7,4,8,7,8,0,8,0,6,8,8,8,0,8
DATA 8,8,8,8,6,7,7,0,0,8,8,0,8,8,7,8
DATA 7,8,7,7,8,8,8,0,8,0,8,8,8,0,8,8
DATA 8,7,7,8,8,7,0,0,0,8,8,0,8,7,8,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Wall2.3
DATA 8,4,7,4,0,0,8,8,7,4,0,0,0,0,0,8
DATA 0,8,8,0,4,6,0,8,8,0,4,6,7,6,6,0
DATA 7,0,0,4,7,4,6,0,0,8,8,4,7,7,6,4
DATA 8,0,4,7,7,7,6,6,6,0,8,8,4,7,7,6
DATA 0,8,8,4,8,4,7,6,6,4,0,0,8,4,7,4
DATA 0,8,8,8,4,7,7,7,4,6,6,6,0,8,4,8
DATA 0,0,0,8,8,4,7,7,6,4,7,4,0,0,8,8
DATA 0,6,4,0,8,8,4,8,7,7,8,0,0,6,0,0
DATA 8,4,6,6,0,0,8,4,7,4,0,0,8,6,6,0
DATA 0,8,8,7,7,6,0,8,8,0,4,7,4,6,4,6
DATA 6,0,0,8,7,4,6,0,0,4,8,7,7,7,7,4
DATA 4,6,4,0,8,8,0,0,0,8,4,7,4,7,4,6
DATA 7,4,6,6,0,0,8,8,0,0,8,4,8,7,7,7
DATA 7,6,4,6,4,0,4,6,6,6,0,8,4,7,4,7
DATA 7,7,7,4,6,0,8,4,7,4,6,0,8,4,8,4
DATA 4,7,4,6,4,0,8,7,7,7,4,0,0,8,4,7
' Wall2.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 6,4,6,7,0,0,6,7,6,7,4,7,0,6,4,4
DATA 8,7,8,7,0,8,7,0,8,6,8,7,0,8,0,6
DATA 8,8,7,8,0,0,0,8,8,8,7,8,0,0,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,4,7,6,4,4,7,0,6,4,4,7,6,7,4
DATA 0,8,8,0,8,6,8,7,0,8,0,7,8,7,6,7
DATA 0,8,0,8,8,8,7,8,0,0,8,8,0,8,7,7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 4,7,6,7,0,7,4,7,6,7,7,6,0,7,6,7
DATA 8,7,6,7,0,8,6,7,8,6,8,7,0,6,7,6
DATA 8,8,7,7,0,0,8,8,0,8,7,8,0,8,8,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,4,7,7,4,7,6,7,0,6,7,4,6,4,4,6
DATA 0,6,0,6,8,6,8,7,0,6,8,6,8,6,8,7
DATA 0,0,8,8,0,8,7,8,0,0,8,8,0,8,7,7
' Wall2.5
DATA 8,0,8,6,8,8,4,8,8,0,8,4,8,6,6,8
DATA 0,0,0,0,0,8,8,8,6,0,8,8,8,8,6,8
DATA 0,6,6,4,6,0,8,8,0,0,0,0,0,8,8,8
DATA 0,6,4,8,8,0,7,0,6,6,6,4,0,0,0,8
DATA 0,8,8,4,0,4,0,6,6,8,6,7,0,4,6,0
DATA 6,0,8,8,0,6,0,8,8,8,7,8,0,6,8,4
DATA 6,4,0,0,0,8,4,0,0,0,0,0,0,8,6,8
DATA 8,7,0,4,6,6,4,0,4,7,4,6,4,0,8,7
DATA 8,8,0,6,8,6,6,6,0,6,8,8,6,7,0,8
DATA 8,0,4,0,4,6,7,8,8,0,4,6,6,4,8,0
DATA 0,6,6,0,6,8,8,8,7,0,8,8,6,8,8,0
DATA 6,7,4,0,8,8,6,8,8,8,0,8,6,8,7,0
DATA 4,8,6,6,0,8,8,7,8,7,0,8,8,8,0,6
DATA 8,8,8,7,0,8,8,0,0,0,0,0,0,0,0,8
DATA 0,8,0,4,8,4,6,8,8,7,0,4,6,8,4,7
DATA 8,0,8,6,8,8,4,8,8,0,8,4,8,6,6,8
' False.Wall1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,8,0,0,8,0,8,0,0,8,0,0,0
DATA 0,0,0,0,8,8,0,8,8,0,8,8,0,0,0,0
DATA 0,0,0,8,0,8,0,0,8,8,8,0,0,0,0,0
DATA 0,0,0,0,8,0,8,8,0,8,0,8,0,8,0,0
DATA 0,0,8,0,0,8,8,0,8,8,8,0,8,0,8,8
DATA 0,0,0,8,8,8,8,8,8,8,8,8,8,8,0,0
DATA 0,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0
' False.Wall2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0
DATA 0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,8,0,0,8,0,0,0,0
DATA 0,0,0,0,0,0,8,8,8,8,0,0,0,0,0,0
DATA 0,0,0,0,8,8,8,8,8,8,8,8,0,0,0,0
DATA 0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0
' DoorKey1.1
DATA 0,6,6,2,2,2,6,6,2,2,7,2,6,2,0,0
DATA 6,2,6,7,6,7,2,2,2,7,2,6,6,6,7,0
DATA 2,2,7,6,6,8,2,8,2,6,6,7,2,7,2,0
DATA 0,6,2,8,8,8,8,8,8,8,8,8,6,7,2,0
DATA 2,8,6,0,6,6,6,6,6,6,6,8,7,2,6,0
DATA 8,0,8,0,6,6,0,0,0,6,6,8,8,7,6,0
DATA 0,8,0,0,6,6,0,0,0,6,6,8,2,8,2,0
DATA 6,0,8,0,6,6,6,0,6,6,6,8,8,8,7,0
DATA 0,0,0,0,6,6,6,0,6,6,6,8,2,7,2,0
DATA 0,0,8,0,6,6,6,6,6,6,6,8,7,6,7,0
DATA 0,8,0,0,6,6,6,6,6,6,6,8,7,6,6,0
DATA 0,0,8,0,0,0,0,0,0,0,0,0,8,8,7,0
DATA 0,0,0,0,0,0,8,0,8,0,8,8,8,7,6,0
DATA 0,0,0,0,0,8,0,8,0,8,8,0,8,8,7,0
DATA 0,0,0,0,0,0,0,0,8,0,8,0,0,8,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,11,11,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,11,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,11,11,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,11,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,15,15,15,15,15,3,3,3,3,3,0,0,0
DATA 0,0,0,0,15,15,15,15,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,15,15,15,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.3
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,11,11,0,0,0,0,0,0
DATA 0,0,0,0,0,15,15,15,11,11,11,0,0,0,0,0
DATA 0,0,0,0,15,15,15,15,11,11,11,11,0,0,0,0
DATA 0,0,0,15,15,15,15,15,11,11,11,11,11,0,0,0
DATA 0,0,0,15,15,15,15,15,15,15,15,15,15,0,0,0
DATA 0,0,0,0,15,15,15,15,15,15,15,15,0,0,0,0
DATA 0,0,0,0,0,15,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,15,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,15,15,15,15,15,15,15,15,0,0,0,0
DATA 0,0,0,15,15,15,15,15,15,15,15,15,15,0,0,0
DATA 0,0,0,1,1,1,1,1,15,15,15,15,15,0,0,0
DATA 0,0,0,0,1,1,1,1,15,15,15,15,0,0,0,0
DATA 0,0,0,0,0,1,1,1,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.5
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,15,15,15,0,0,0,0,0
DATA 0,0,0,0,7,7,7,7,15,15,15,15,0,0,0,0
DATA 0,0,0,7,7,7,7,7,15,15,15,15,15,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.6
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,15,0,0,0,0,0
DATA 0,0,0,0,0,7,7,7,11,15,15,15,0,0,0,0
DATA 0,0,0,0,7,7,7,7,11,11,15,11,11,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,11,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,3,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Diamond1.7
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0
DATA 0,0,0,0,0,0,0,7,11,0,15,0,0,0,0,0
DATA 0,0,0,0,0,0,7,7,11,11,15,0,0,0,0,0
DATA 0,0,0,0,0,7,7,15,15,15,15,15,15,15,0,0
DATA 0,0,0,0,7,7,7,7,11,11,15,11,0,0,0,0
DATA 0,0,0,7,7,7,7,7,11,11,15,11,11,0,0,0
DATA 0,0,0,1,1,1,1,1,3,3,15,3,3,0,0,0
DATA 0,0,0,0,1,1,1,1,3,3,3,3,0,0,0,0
DATA 0,0,0,0,0,1,1,1,3,3,3,0,0,0,0,0
DATA 0,0,0,0,0,0,1,1,3,3,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Al.Left
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,4,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,6,0,0,0,0
DATA 0,0,0,0,0,4,12,12,6,4,6,6,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,6,4,0,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,12,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,12,0,0,6,0,0,0,0
DATA 1,0,12,0,0,0,8,7,7,7,0,0,0,0,0,0
DATA 0,0,12,7,7,7,7,7,7,7,0,0,0,0,0,0
DATA 0,0,12,8,8,8,8,7,7,7,0,0,0,0,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,6,6,0,0,0,0,0,0,0
DATA 0,0,0,0,0,8,8,8,8,0,0,0,0,0,0,0
' Al.Run.Left
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,4,0,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,6,6,6,0,0,0,0
DATA 0,0,0,0,0,4,12,12,6,4,6,6,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,6,4,0,0,0,0,0
DATA 0,0,0,0,0,0,4,12,12,12,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,12,0,0,6,0,0,0,0
DATA 0,0,12,0,0,0,8,7,7,7,0,0,0,0,0,0
DATA 0,0,12,7,7,7,7,7,7,7,0,0,0,0,0,0
DATA 0,0,12,8,8,8,8,7,7,7,0,0,0,0,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,6,6,6,4,6,6,6,6,8,0,0,0
DATA 0,0,0,0,6,4,4,4,4,4,4,4,8,0,0,0
DATA 0,0,0,0,6,4,0,0,0,0,0,0,8,0,0,0
DATA 0,0,0,8,8,8,0,0,0,0,0,0,0,0,0,0
' Al.Right
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 0,0,0,0,0,0,6,6,0,0,6,0,0,0,0,0
DATA 0,0,0,0,0,6,6,6,4,6,0,0,0,0,0,0
DATA 0,0,0,0,4,6,6,4,6,12,0,0,0,0,0,0
DATA 0,0,0,0,4,4,4,6,12,12,12,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,12,12,0,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,12,12,0,0,0,0,0,0
DATA 0,0,0,0,4,0,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,8,7,7,7,0,0,0,12,0,1
DATA 0,0,0,0,0,0,8,7,7,7,7,7,7,12,0,0
DATA 0,0,0,0,0,0,8,7,7,8,8,8,8,12,0,0
DATA 0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,4,6,6,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,8,8,8,0,0,0,0,0
' Al.Run.Right
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 0,0,0,0,0,0,0,6,6,0,0,6,0,0,0,0
DATA 0,0,0,0,0,0,6,6,6,4,6,0,0,0,0,0
DATA 0,0,0,0,0,4,6,6,4,6,12,0,0,0,0,0
DATA 0,0,0,0,0,4,4,4,6,12,12,12,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,12,12,0,0,0,0,0
DATA 0,0,0,0,0,0,4,4,4,12,12,0,0,0,0,0
DATA 0,0,0,0,0,4,0,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,8,7,7,7,0,0,0,12,0
DATA 0,0,0,0,0,0,0,8,7,7,7,7,7,7,12,0
DATA 0,0,0,0,0,0,0,8,7,7,8,8,8,8,12,0
DATA 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0
DATA 0,0,0,0,8,6,6,6,6,4,6,6,6,0,0,0
DATA 0,0,0,0,8,4,4,4,4,4,4,4,6,0,0,0
DATA 0,0,0,0,8,0,0,0,0,0,0,4,6,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,0
' Boulder1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,2,6,6,2,6,0,0,0,0,0
DATA 0,0,0,6,0,6,6,6,0,7,6,2,6,0,0,0
DATA 0,0,6,0,0,0,0,0,0,2,6,7,2,7,0,0
DATA 0,6,0,6,0,6,2,6,0,6,2,7,7,6,2,0
DATA 0,6,0,0,0,2,6,0,6,7,6,7,6,2,6,0
DATA 6,0,0,0,6,6,6,0,2,7,6,6,7,6,6,2
DATA 0,0,0,6,0,6,2,6,0,7,2,6,6,7,6,6
DATA 6,0,0,6,0,6,2,0,0,6,6,7,7,7,7,7
DATA 6,0,0,0,0,0,6,6,2,6,7,7,7,6,6,6
DATA 0,0,0,0,0,0,6,6,6,6,6,2,6,6,6,0
DATA 0,6,0,0,0,6,0,6,6,7,7,6,7,6,2,0
DATA 0,0,0,6,2,6,6,0,6,6,6,2,6,6,0,0
DATA 0,0,0,6,0,6,0,6,7,6,6,7,7,0,0,0
DATA 0,0,0,0,0,0,6,0,6,2,6,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' The.Key
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,12,14,14,0,0,0,0,0,0,0,0,0
DATA 0,0,0,12,14,0,12,14,0,0,0,0,0,0,0,0
DATA 0,0,0,12,14,0,12,14,0,0,0,0,0,0,0,0
DATA 0,0,0,0,12,14,14,14,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,12,14,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,12,14,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,12,14,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,12,14,12,14,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,12,14,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' Snake1
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,4,12,0,0,0,0,0
DATA 0,0,0,0,0,5,0,0,0,7,4,12,0,0,0,0
DATA 0,0,0,0,0,5,0,0,4,4,12,0,0,0,0,0
DATA 0,0,0,0,0,5,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,5,0,4,12,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 4,4,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake2
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,4,12,0,0,0,0
DATA 0,0,0,0,0,0,5,0,0,0,7,4,12,0,0,0
DATA 0,0,0,0,0,0,5,0,0,4,4,12,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,5,0,4,12,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 12,0,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,4,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake3
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,4,12,0,0,0
DATA 0,0,0,0,0,0,0,5,0,0,0,7,4,12,0,0
DATA 0,0,0,0,0,0,0,5,0,0,4,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,4,4,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,5,0,4,12,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,12,0,0,0,0,12,12,4,4,12,5,0,4,12,0
DATA 0,4,12,12,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,0,4,0,4,4,5,0,0,5,5,4,4,12,0,0
' Snake4
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,4,12,0,0
DATA 0,0,0,0,0,0,0,0,5,0,0,0,7,4,12,0
DATA 0,0,0,0,0,0,0,0,5,0,0,4,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,4,4,4,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,5,0,4,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,12,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,5,0,4,12,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,0,0,0,0,0,0,0,5,0,4,12,0,0
DATA 0,0,0,12,0,0,0,0,12,12,0,5,0,4,12,0
DATA 0,0,0,4,12,0,12,12,4,4,12,5,0,4,12,0
DATA 0,0,0,4,12,12,4,4,5,0,0,0,4,4,12,0
DATA 0,0,0,0,4,4,5,0,0,5,5,4,4,12,0,0
I'm your Huckleberry; that's just my game."
Doc Holiday, TOMBSTONE
Doc Holiday, TOMBSTONE