This is it so far. Having difficulty with the following
1) Getting the right position for the player. i could line it up by eye but there has to be a better way. It doesnt seem right to me the way its working it out.
2) Stopping him from going off the map and stopping the map from scrolling when it reaches the ends so it doesnt go off the viewport. Also then starts moving the character to the end of the viewport until he returns back to the centre if he goes the other way.
3) Not sure why the grey gradient box (which is still there) and the text saying toggle day night with space, is not showing up.
4) Really cant think how to add collision to this. Tried some stuff, failed badly. Really need some tips. I know there are a thousand ways to do this (as there is with everything but im not an explorer of methods, i have no methods. So if there are thousands of way then show me:
a) The easiest.
b) The best to suit the situation. Or one of a dozen ways that will perfectly suit the situation and leave room for more if needed.
c) The Hardest so that i can learn from it.
set display mode 800,600,32
Sync On
Sync Rate 200
set image colorkey 255,0,255
#Constant Ogre 100
Global Frame_Start = 1
Global Frame_End = 8
Create Animated Sprite Ogre, "ogrewalk02.bmp", 8, 8, 800000
gosub Setup
Sync
Do
PlayerHandle()
sync
Loop
Setup:
` These variables control the location,
` size, and offset of the viewport and map.
Global ViewportX, ViewportY, ViewportSizeX, ViewportSizeY as integer
Global ViewportOffsetX, ViewportOffsetY, PlayerX, PlayerY as integer
Global MapPixelsX, MapPixelsY, MapSizeX, MapSizeY, MoveSpeed as integer
MapSizeX = 60
MapSizeY = 55 ` <===== I made this bigger so we can scroll around more
Dim Map(MapSizeX-1,MapSizeY-1)
ViewportX = 30 ` <===== Change these values to move
ViewportY = 30 ` <===== viewport around on the screen.
ViewportSizeX = 500 ` <===== Change these values to make
ViewportSizeY = 300 ` <===== the viewport bigger or smaller.
ViewportOffsetX = 300 ` <===== Change these values to determine the
ViewportOffsetY = 200 ` <===== players starting location on the map.
MoveSpeed = 1 ` <===== This is how many pixels we scroll for each movement.
` The player image starts at the center
` of the viewport window, so...
PlayerX = ViewportX + (ViewportSizeX/2)
PlayerY = ViewportY + (ViewportSizeY/2)
Load Image "Tileset.bmp", 500000
Paste Image 500000, 0, 0
Sprite Ogre, PlayerX, PlayerY, 800000
a = 1
`Take the images from the Tileset and give them a number.
For y = 0 To 7
For x = 0 To 7
Get Image a, x * 32, y * 32, x * 32 + 32, y * 32 + 32, 1
Inc a
Next x
Next y
cls
` Make a new bitmap to hold the whole map.
` The size of the new bitmap must be big
` enough for the whole map - 22 by 24 squares.
` Each square is 32 by 32 pixels. A bigger
` map would need a bigger bitmap.
MapPixelsX = MapSizeX*32
MapPixelsY = MapSizeY*32
set bitmap format 21
create bitmap 1,MapPixelsX,MapPixelsY
` Read in the data values made in mappy
` and paste the map onto bitmap 1. I added
` some more data, to make a bigger map.
For y = 0 To MapSizeY - 1
For x = 0 To MapSizeX - 1
Read Map(x,y)
paste image Map(x,y),x*32,y*32
Next x
Next y
get image 1000,0,0,MapPixelsX,MapPixelsY
` Change the current bitmap back to zero (the screen you always see),
` Delete the bitmap (no longer needed) and make the background plane.
set current bitmap 0
delete bitmap 1
autocam off
make matrix 1, MapPixelsX,MapPixelsY,MapSizeX,MapSizeY
prepare matrix texture 1, 1000, MapSizeX, MapSizeY
nTile = 1
for y = MapSizeY-1 to 0 step -1
for x = 0 to MapSizeX -1
set matrix tile 1, x, y, nTile
inc nTile
next x
next y
update matrix 1
position camera MapPixelsX/2,438,MapPixelsY/2
point camera MapPixelsX/2,0,MapPixelsY/2
set camera view 50,50,750,550
box 0,0,800,600,0xFF333333,0xFF888888,0xFF333333,0xFF888888
ink rgb(255,255,255)
center text 400,560,"Hit the spacebar to toggle day and night."
set ambient light 100
set point light 0,MapPixelsX/2,50,MapPixelsY/2
return
data 54,1,1,1,55,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,9,10,10,4,9,10,4,5,6,4,4,4
data 54,1,1,1,55,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,17,18,4,4,17,18,18,10,17,18,9,10,14,4,9,10
data 54,1,1,54,55,31,4,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,5,6,4,4,4,9,10,4,4,4,17,18,9,10,17,18,10,4,17,18
data 54,54,54,54,55,31,4,4,4,4,4,30,4,4,4,4,4,4,12,9,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,17,18,4,9,10,9,10,17,18,10,17,18,9,10,4
data 54,54,54,54,55,31,4,4,4,4,4,4,4,4,4,4,4,9,10,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,17,18,17,18,10,17,18,9,10,17,18,4
data 54,54,54,54,55,31,4,4,30,4,4,4,4,4,4,4,4,17,18,12,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,17,18,4,4,4,4,9,10,9,10,9,10,17,18,10,4,4
data 54,54,54,54,55,31,4,4,4,4,4,4,4,4,4,4,12,9,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,17,18,17,18,17,18,4,17,18,9,10
data 54,54,54,54,55,31,4,4,4,4,4,5,6,4,4,9,10,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,9,10,4,17,18,4,4,4,4,4,9,10,4,9,10,17,18
data 54,54,54,54,55,31,4,4,4,4,4,13,14,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,17,18,4,4,4,4,4,4,4,4,17,18,4,17,18,9,10
data 62,62,62,62,63,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,9,10,9,10,17,18
data 38,38,38,38,38,39,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,9,10,4,4,4,4,4,9,10,4,4,13,14,17,18,17,18,9,10
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,30,4,4,17,18,4,4,9,10,4,17,18,4,9,10,4,4,9,10,4,17,18
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,17,18,4,4,17,18,9,10,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,17,18,4
data 4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,9,10,4,4,4,4,4,4,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,17,18,4,4,4,4,4,4,4
data 4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,45,46,46
data 5,6,14,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54
data 13,14,5,6,4,4,4,13,14,5,6,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,5,6,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54
data 4,4,13,14,5,6,12,4,4,13,14,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,13,14,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,54,54,54
data 4,4,4,4,13,5,6,4,4,4,4,4,4,5,6,4,30,4,4,4,4,4,4,4,4,4,4,4,4,12,4,30,4,30,53,54,54,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62
data 4,5,6,4,5,6,14,4,4,5,6,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,53,54,55,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,13,5,6,13,14,30,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,4,53,54,55,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4
data 4,4,13,14,5,6,4,4,4,5,6,4,4,4,4,30,5,6,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,53,54,55,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,13,14,4
data 4,30,4,4,13,14,4,5,6,13,14,4,4,5,6,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,61,62,63,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,11,4,4,4,30
data 5,6,5,6,12,4,4,13,14,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,5,6,4,12,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4
data 13,14,13,14,4,5,6,4,30,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,13,14,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,4,4,4
data 4,12,4,5,6,13,5,6,4,4,5,6,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4
data 4,4,4,13,14,4,13,14,4,4,13,14,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,5,6,4,4,5,6,12,4,4,4,5,6,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4
data 4,13,5,6,30,13,5,6,30,4,4,13,14,4,12,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4
data 4,4,13,14,5,6,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4
data 4,4,5,6,5,6,4,4,4,5,6,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 5,6,13,14,13,5,6,4,4,13,14,12,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4
data 13,14,4,4,5,6,5,6,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,13,14,30,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4
data 4,5,6,4,13,14,13,14,35,4,4,5,6,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,13,14,4,4,4,5,6,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46
data 5,6,4,5,6,4,13,14,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 5,6,4,13,14,4,4,4,4,5,6,4,4,4,4,4,5,6,4,12,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 13,14,5,6,5,6,4,4,4,13,14,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,5,6,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 4,4,13,5,6,14,12,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 5,6,5,6,5,6,5,6,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 13,14,13,14,13,14,13,14,4,4,4,13,14,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 30,5,6,30,12,5,6,4,30,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 4,13,14,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,54,54,54,54,54,54,54,54,54
data 4,4,4,4,30,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,21,22,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,12,7,4,4,4,7,4,12,4,4,4,7,4,4,7,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,4,4,7,4,4,7,4,11,4,4,4,4,7,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,4,4,7,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,7,12,4,7,4,4,4,4,4,12,4,4,4,4,35,7,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,4,4,4,11,4,7,4,4,7,4,4,4,7,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,7,4,4,7,4,4,7,4,4,4,7,4,7,4,4,7,12,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54
Function PlayerHandle()
nDirection = 0
if keystate(17)
nDirection = 1 ` W North
Frame_Start = 9
Frame_End = 16
EndIf
if keystate(32)
nDirection = 3 ` D East
Frame_Start = 1
Frame_End = 8
EndIf
if keystate(30)
nDirection = 5 ` A West
Frame_Start = 57
Frame_End = 64
EndIf
if keystate(31)
nDirection = 7 ` S South
Frame_Start = 33
Frame_End = 40
EndIf
If Keystate(17) And Keystate(32)
nDirection = 2 ` WD North East
Frame_Start = 17
Frame_End = 24
EndIf
If Keystate(17) And Keystate(30)
nDirection = 4 ` WA North West
Frame_Start = 25
Frame_End = 32
EndIf
If Keystate(31) And Keystate(32)
nDirection = 6 ` SA South West
Frame_Start = 41
Frame_End = 48
EndIf
If Keystate(31) And Keystate(30)
nDirection = 8 ` SD South East
Frame_Start = 49
Frame_End = 56
EndIf
if keystate(57) then gosub ChangeLighting
Select nDirection
case 1 ` W - north
position matrix 1,matrix position x(1),matrix position y(1),matrix position z(1)-1.0
endcase
Case 2 ` WD North East
Position Matrix 1, Matrix Position X(1)-1, Matrix Position Y(1), Matrix Position Z(1) - 1.0
EndCase
case 3 ` D - east
position matrix 1,matrix position x(1)-1,matrix position y(1),matrix position z(1)
endcase
Case 4 ` WA North West
Position Matrix 1, Matrix Position X(1)+1, Matrix Position Y(1), Matrix Position Z(1) - 1.0
EndCase
case 5 ` A - west
position matrix 1,matrix position x(1)+1,matrix position y(1),matrix position z(1)
endcase
Case 6 ` SA South West
Position Matrix 1, Matrix Position X(1)-1, Matrix Position Y(1), Matrix Position Z(1) + 1.0
EndCase
case 7 ` S - south
position matrix 1,matrix position x(1),matrix position y(1),matrix position z(1)+1.0
endcase
Case 8 ` SD South East
Position Matrix 1, Matrix Position X(1)+1, Matrix Position Y(1), Matrix Position Z(1) + 1.0
EndCase
endselect
If Sprite Frame(Ogre) < Frame_Start or Sprite Frame(Ogre) > Frame_End
Set Sprite Frame Ogre, Frame_Start
EndIf
If nDirection > 0
Play Sprite Ogre, Frame_Start, Frame_End, 50
EndIf
Sprite Ogre, ViewportOffsetX, ViewportOffsetY, 8000
Endfunction
ChangeLighting:
if NightTime = 0
for n = 100 to 0 step -1
set ambient light n
sync
next n
NightTime = 1
else
for n = 0 to 100 step 1
set ambient light n
sync
next n
NightTime = 0
endif
return
data 54,1,1,1,55,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,9,10,10,4,9,10,4,5,6,4,4,4
data 54,1,1,1,55,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,17,18,4,4,17,18,18,10,17,18,9,10,14,4,9,10
data 54,1,1,54,55,31,4,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,5,6,4,4,4,9,10,4,4,4,17,18,9,10,17,18,10,4,17,18
data 54,54,54,54,55,31,4,4,4,4,4,30,4,4,4,4,4,4,12,9,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,17,18,4,9,10,9,10,17,18,10,17,18,9,10,4
data 54,54,54,54,55,31,4,4,4,4,4,4,4,4,4,4,4,9,10,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,17,18,17,18,10,17,18,9,10,17,18,4
data 54,54,54,54,55,31,4,4,30,4,4,4,4,4,4,4,4,17,18,12,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,17,18,4,4,4,4,9,10,9,10,9,10,17,18,10,4,4
data 54,54,54,54,55,31,4,4,4,4,4,4,4,4,4,4,12,9,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,17,18,17,18,17,18,4,17,18,9,10
data 54,54,54,54,55,31,4,4,4,4,4,5,6,4,4,9,10,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,9,10,4,17,18,4,4,4,4,4,9,10,4,9,10,17,18
data 54,54,54,54,55,31,4,4,4,4,4,13,14,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,17,18,4,4,4,4,4,4,4,4,17,18,4,17,18,9,10
data 62,62,62,62,63,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,9,10,9,10,17,18
data 38,38,38,38,38,39,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,9,10,4,4,4,4,4,9,10,4,4,13,14,17,18,17,18,9,10
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,30,4,4,17,18,4,4,9,10,4,17,18,4,9,10,4,4,9,10,4,17,18
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,17,18,4,4,17,18,9,10,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,17,18,4
data 4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,10,4,9,10,4,4,4,4,4,4,4
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,17,18,4,4,4,4,4,4,4
data 4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,45,46,46
data 5,6,14,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54
data 13,14,5,6,4,4,4,13,14,5,6,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,5,6,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54
data 4,4,13,14,5,6,12,4,4,13,14,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,13,14,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,54,54,54
data 4,4,4,4,13,5,6,4,4,4,4,4,4,5,6,4,30,4,4,4,4,4,4,4,4,4,4,4,4,12,4,30,4,30,53,54,54,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62
data 4,5,6,4,5,6,14,4,4,5,6,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,53,54,55,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,13,5,6,13,14,30,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,4,53,54,55,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4
data 4,4,13,14,5,6,4,4,4,5,6,4,4,4,4,30,5,6,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,53,54,55,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,13,14,4
data 4,30,4,4,13,14,4,5,6,13,14,4,4,5,6,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,61,62,63,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,11,4,4,4,30
data 5,6,5,6,12,4,4,13,14,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,4,4,5,6,4,12,4,4,4,4,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4
data 13,14,13,14,4,5,6,4,30,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,4,4,13,14,4,4,4,4,4,4,4,9,10,4,4,4,4,4,4,4,4,4,4,4,4
data 4,12,4,5,6,13,5,6,4,4,5,6,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,17,18,4,4,4,4,4,4,4,4,4,4,4,4
data 4,4,4,13,14,4,13,14,4,4,13,14,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,5,6,4,4,5,6,12,4,4,4,5,6,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4
data 4,13,5,6,30,13,5,6,30,4,4,13,14,4,12,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4
data 4,4,13,14,5,6,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4
data 4,4,5,6,5,6,4,4,4,5,6,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 5,6,13,14,13,5,6,4,4,13,14,12,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4,5,6,4
data 13,14,4,4,5,6,5,6,4,4,4,4,4,4,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,13,14,30,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4,13,14,4
data 4,5,6,4,13,14,13,14,35,4,4,5,6,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
data 4,13,14,4,4,4,5,6,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46
data 5,6,4,5,6,4,13,14,30,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 5,6,4,13,14,4,4,4,4,5,6,4,4,4,4,4,5,6,4,12,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 13,14,5,6,5,6,4,4,4,13,14,4,4,4,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,5,6,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 4,4,13,5,6,14,12,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 5,6,5,6,5,6,5,6,4,4,4,5,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 13,14,13,14,13,14,13,14,4,4,4,13,14,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,6,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 30,5,6,30,12,5,6,4,30,4,4,4,4,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,13,14,4,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
data 4,13,14,4,4,13,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,54,54,54,54,54,54,54,54,54
data 4,4,4,4,30,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,21,22,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,12,7,4,4,4,7,4,12,4,4,4,7,4,4,7,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,4,4,7,4,4,7,4,11,4,4,4,4,7,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,4,4,7,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,7,12,4,7,4,4,4,4,4,12,4,4,4,4,35,7,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,4,4,4,11,4,7,4,4,7,4,4,4,7,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,7,4,4,7,4,4,7,4,4,4,7,4,7,4,4,7,12,4,53,54,54,54,54,54,54,54,54
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,29,4,4,4,4,4,12,4,4,4,4,4,4,4,4,4,4,4,4,4,53,54,54,54,54,54,54,54,54