Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Game Character Movement for Paga Project
#1
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
I'm your Huckleberry; that's just my game."

Doc Holiday, TOMBSTONE
Reply
#2
Well, assuming you're using a typing delay like with INKEY$:
IF INKEY$ = CHR$(0) + CHR$(75) THEN left
IF INKEY$ = CHR$(0) + CHR$(77) THEN right
IF INKEY$ = CHR$(0) + CHR$(72) THEN up
IF INKEY$ = CHR$(0) + CHR$(80) THEN down

Using INP(&H60):
IF INP(96) = 75 THEN left
IF INP(96) = 77 THEN right
IF INP(96) = 72 THEN up
IF INP(96) = 80 THEN down
null$ = INKEY$ 'clear the keybuffer, important

Of course, the easiest way of all is to find a multiple keyhandler, such as Milo Sedlack's multikey. Since QB code can't be used to get/set vector interrupts, multiple key trapping is somewhat elusive (unless using the very buggy method with INP(96) and the key release codes).

You can find multikey all over the internet, or if you're using a graphics library such as cosmox, many of them have similar multi-key routines built in.
Reply
#3
Tip: Use SUBs and Functions. :*)
y smiley is 24 bit.
[Image: anya2.jpg]

Genso's Junkyard:
http://rel.betterwebber.com/
Reply
#4
Exactly how would I go about starting to do that with a code like this? Could you give like a skeleton example for me?
I'm your Huckleberry; that's just my game."

Doc Holiday, TOMBSTONE
Reply
#5
Like when you have these line:

Code:
GOSUB CheckSpot

You can make something like.


Code:
Function CheckSpot(x,y)
CheckSpot=0      False

CheckSpot=Map(x,y)

End function

then call it like:

Code:
If CheckSpot(x,y)=1 then beep   'or anything you want to do
y smiley is 24 bit.
[Image: anya2.jpg]

Genso's Junkyard:
http://rel.betterwebber.com/
Reply
#6
Oh, Ok. Now I see how I can use those. Thanks for the tip.
I'm your Huckleberry; that's just my game."

Doc Holiday, TOMBSTONE
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)