diff --git a/Page Assets/calendar.png b/Page Assets/calendar.png deleted file mode 100644 index e026af9..0000000 Binary files a/Page Assets/calendar.png and /dev/null differ diff --git a/Page Assets/info.png b/Page Assets/info.png deleted file mode 100644 index 37d28da..0000000 Binary files a/Page Assets/info.png and /dev/null differ diff --git a/Page Assets/size.png b/Page Assets/size.png deleted file mode 100644 index 0dc8aa6..0000000 Binary files a/Page Assets/size.png and /dev/null differ diff --git a/Page Assets/smile.png b/Page Assets/smile.png deleted file mode 100644 index 5618622..0000000 Binary files a/Page Assets/smile.png and /dev/null differ diff --git a/Source/Main.lua b/Source/Main.lua index 4dc505e..8c88421 100644 --- a/Source/Main.lua +++ b/Source/Main.lua @@ -50,10 +50,8 @@ function playdate.update() elseif mode == "game" or mode == "play" then updatePlayer() - - gfx.clear(gfx.kColorBlack) gfx.sprite.update() - drawTiles() + local ox, oy = gfx.getDrawOffset() gfx.drawText(deaths,-ox + 1,-oy + 1) elseif mode == "newproj" then diff --git a/Source/Map.lua b/Source/Map.lua index 43c8aa3..49cbdeb 100644 --- a/Source/Map.lua +++ b/Source/Map.lua @@ -5,6 +5,8 @@ tilemap:setImageTable(tileTable) local tiles = {} +local x = gfx.sprite.new(tilemap) + function addMapSave(_file) playdate.datastore.write({savedLevel=_file,savedDeaths=deaths},"savegame") addMap(_file, false) @@ -19,8 +21,15 @@ function addMap(_file, rs) end end local level = json.decodeFile(_file) + local width = 0 + local height = 0 - tilemap:setSize(level.dimensions.x,level.dimensions.y) + for i = 1, #level.tiles, 1 do + if level.tiles[i].x > width then width = level.tiles[i].x end + if level.tiles[i].y > height then height = level.tiles[i].y end + end + + tilemap:setSize(width,height) for i = 1, #level.tiles, 1 do tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t) end @@ -30,8 +39,10 @@ function addMap(_file, rs) addPlayer(level.rocket.x,level.rocket.y, level.bigrocket.x, level.bigrocket.y) tiles = gfx.sprite.addWallSprites(tilemap, {0,1}) -end -function drawTiles() - tilemap:draw(0,0) -end \ No newline at end of file + x:remove() + x = gfx.sprite.new(tilemap) + x:setZIndex(-1) + x:moveTo(x.width/2,x.height/2) + x:add() +end diff --git a/Source/Menu.lua b/Source/Menu.lua index a3e6d90..e88bcbf 100644 --- a/Source/Menu.lua +++ b/Source/Menu.lua @@ -2,6 +2,13 @@ local gfx = playdate.graphics local controlY = 0 local controlX = 0 +local sidebar = gfx.image.new("gfx/sidebar") +local barpos = 0 +local barposLerp = 160 + +local logopos = 0 +local logposLerp = -122 + local index = 0 local menuitems = {} @@ -28,10 +35,10 @@ end function createMenu(items) killBlades() killPlayer() - if playdate.getReduceFlashing() == false then - controlX = -80 - end - index = 0 + + controlX = -80 + + index = 0 menuitems = {} local _y =220 menu = items[0] @@ -40,7 +47,7 @@ function createMenu(items) _y -= 20 end - if mode == "game" then + if mode == "game" or mode == "play" then song:stop() song:load("sfx/song1") song:play(0) @@ -51,6 +58,7 @@ end function updateMenu() gfx.clear(gfx.kColorBlack) + sidebar:draw(barposLerp,0) -- input local change, aChange = playdate.getCrankChange() @@ -67,9 +75,16 @@ function updateMenu() controlX = playdate.math.lerp(controlX, 20, 0.3) controlY = playdate.math.lerp(controlY, (20 * math.floor(index)) - 1, 0.5) + + barposLerp = playdate.math.lerp(barposLerp, barpos, 0.2) + logposLerp = playdate.math.lerp(logposLerp, logopos, 0.3) for i = 1, #menuitems, 1 do local item = menuitems[i] - gfx.drawText(item.name,controlX,item.y) + if item.name:match("(.+)%..+$") then + gfx.drawText(item.name:match("(.+)%..+$"),controlX,item.y) + else + gfx.drawText(item.name,controlX,item.y) + end end imgCursor:draw(controlX - 17,controlY + (243 - (20 * #menuitems))) @@ -79,52 +94,58 @@ function updateMenu() menuButtonPress("BACK") end - imgBytes:draw(0,0) + imgBytes:draw(logposLerp,0) end local function customLoad() + barpos = 160 + logopos = -112 local lvls = playdate.file.listFiles("levels") local m = {} m[0], m[1] = "customs", "BACK" - if #lvls - ((7*page)) <= 0 then page = 0 end - if #lvls <= 7 then + if #lvls - ((10*page)) <= 0 then page = 0 end + if #lvls <= 11 then for i = 1, #lvls, 1 do m[i+1] = lvls[i]:upper() end - elseif lvls[1 + (7*page)] then + elseif lvls[1 + (10*page)] then m[2] = "NEXT PAGE" - for i = 1, 7, 1 do - if lvls[i+(7*page)] then - m[i+2] = lvls[i+(7*page)]:upper() + for i = 1, 10, 1 do + if lvls[i+(10*page)] then + m[i+2] = lvls[i+(10*page)]:upper() end end end - + createMenu(m) end function editLoad() + logopos = -112 + barpos = 160 local lvls = playdate.file.listFiles("levels") local m = {} m[0], m[1], m[2] = "edits", "BACK", "CREATE NEW" - if #lvls - (1 + (6*page)) <= 0 then page = 0 end - if #lvls <= 7 then + if #lvls - (1 + (9*page)) <= 0 then page = 0 end + if #lvls <= 10 then for i = 1, #lvls, 1 do m[i+2] = lvls[i]:upper() end - elseif lvls[1 + (6*page)] then + elseif lvls[1 + (9*page)] then m[3] = "NEXT PAGE" - for i = 1, 6, 1 do - if lvls[i+(6*page)] then - m[i+3] = lvls[i+(6*page)]:upper() + for i = 1, 9, 1 do + if lvls[i+(9*page)] then + m[i+3] = lvls[i+(9*page)]:upper() end end end - + createMenu(m) end function menuButtonPress(name) + logopos = 0 + barpos = 0 if name == "START NEW GAME" and menu == "mainPlay" then local m = {} m[0], m[1], m[2] = "newgame", "CANCEL", "CONFIRM" diff --git a/Source/Player.lua b/Source/Player.lua index b775323..79d0485 100644 --- a/Source/Player.lua +++ b/Source/Player.lua @@ -61,7 +61,7 @@ end function updatePlayer() if active == true then - if playdate.buttonIsPressed(playdate.kButtonUp) or playdate.buttonIsPressed(playdate.kButtonDown) or playdate.buttonIsPressed(playdate.kButtonLeft) or playdate.buttonIsPressed(playdate.kButtonRight) or playdate.buttonIsPressed(playdate.kButtonA) or playdate.buttonIsPressed(playdate.kButtonB) then + if playdate.buttonIsPressed(playdate.kButtonUp) then velocity.x = velocity.x + math.sin(math.rad(playdate.getCrankPosition())) /2 velocity.y = velocity.y - math.cos(math.rad(playdate.getCrankPosition())) /2 end @@ -81,7 +81,7 @@ function updatePlayer() end elseif exists == true then - if playdate.buttonIsPressed(playdate.kButtonUp) or playdate.buttonIsPressed(playdate.kButtonDown) or playdate.buttonIsPressed(playdate.kButtonLeft) or playdate.buttonIsPressed(playdate.kButtonRight) or playdate.buttonIsPressed(playdate.kButtonA) or playdate.buttonIsPressed(playdate.kButtonB) then + if playdate.buttonIsPressed(playdate.kButtonUp) then active = true end local cx, cy = gfx.getDrawOffset() diff --git a/Source/Saws.lua b/Source/Saws.lua index 6caa14a..5afbb12 100644 --- a/Source/Saws.lua +++ b/Source/Saws.lua @@ -80,9 +80,10 @@ function updateSaws() for spinner = 1, #spinblades, 1 do for arm = 1, #spinblades[spinner].arms do for blade = 1, #spinblades[spinner].arms[arm] do + spinblades[spinner].time += spinblades[spinner].speed + local degrees = (360 / #spinblades[spinner].arms * arm + spinblades[spinner].time) - print(degrees) local position = {x=math.sin(math.rad(degrees)) * 20 * blade,y=math.cos(math.rad(degrees)) * 20 * blade} spinblades[spinner].arms[arm][blade]:moveTo(spinblades[spinner].mid.x + position.x, spinblades[spinner].mid.y + position.y) diff --git a/Source/gfx/sidebar.png b/Source/gfx/sidebar.png new file mode 100644 index 0000000..26a604a Binary files /dev/null and b/Source/gfx/sidebar.png differ diff --git a/Source/levels/PRECISION b/Source/levels/PRECISION deleted file mode 100644 index 339d1e4..0000000 --- a/Source/levels/PRECISION +++ /dev/null @@ -1 +0,0 @@ -{"bigrocket":{"x":152.083333,"y":53.846154},"dimensions":{"x":8,"y":13},"rocket":{"x":92.55814,"y":160.930233},"saws":[{"ends":{"x":79.262694,"y":-4.60831},"speed":2,"start":{"x":-7.373272,"y":-7.373272}},{"ends":{"x":66.359461,"y":66.359461},"speed":2,"start":{"x":7.373272,"y":7.373272}}],"tiles":[{"t":2,"x":0,"y":0},{"t":2,"x":0,"y":1},{"t":2,"x":1,"y":1},{"t":2,"x":5,"y":5},{"t":2,"x":8,"y":5},{"t":2,"x":1,"y":13},{"t":2,"x":8,"y":13},{"t":3,"x":2,"y":1},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":6,"y":5},{"t":3,"x":7,"y":5},{"t":3,"x":2,"y":13},{"t":3,"x":3,"y":13},{"t":3,"x":4,"y":13},{"t":3,"x":5,"y":13},{"t":3,"x":6,"y":13},{"t":3,"x":7,"y":13},{"t":4,"x":1,"y":2},{"t":4,"x":1,"y":3},{"t":4,"x":1,"y":4},{"t":4,"x":1,"y":5},{"t":4,"x":1,"y":6},{"t":4,"x":8,"y":6},{"t":4,"x":1,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":1,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":1,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":1,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":1,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":1,"y":12},{"t":4,"x":8,"y":12}]} \ No newline at end of file diff --git a/Source/levels/TUNNEL.rocketbyte b/Source/levels/TUNNEL.rocketbyte new file mode 100644 index 0000000..aafaafe --- /dev/null +++ b/Source/levels/TUNNEL.rocketbyte @@ -0,0 +1 @@ +{"bigrocket":{"x":480,"y":97},"dimensions":{"x":35,"y":10},"rocket":{"x":70.55814,"y":100},"rotators":[{"x":376,"y":140.092166,"arms":3,"armlen":3,"speed":-0.2,"middle":false},{"x":200,"y":72,"arms":3,"armlen":3,"speed":0.2,"middle":false}],"saws":[{"ends":{"x":100,"y":135},"speed":2,"start":{"x":100,"y":72}}],"tiles":[{"t":2,"x":2,"y":4},{"t":2,"x":12,"y":4},{"t":2,"x":14,"y":4},{"t":2,"x":28,"y":4},{"t":2,"x":34,"y":4},{"t":2,"x":35,"y":4},{"t":2,"x":12,"y":6},{"t":2,"x":14,"y":6},{"t":2,"x":23,"y":8},{"t":2,"x":25,"y":8},{"t":2,"x":29,"y":9},{"t":2,"x":30,"y":9},{"t":2,"x":31,"y":9},{"t":2,"x":32,"y":9},{"t":2,"x":33,"y":9},{"t":2,"x":2,"y":10},{"t":2,"x":23,"y":10},{"t":2,"x":25,"y":10},{"t":2,"x":29,"y":10},{"t":2,"x":30,"y":10},{"t":2,"x":31,"y":10},{"t":2,"x":32,"y":10},{"t":2,"x":33,"y":10},{"t":2,"x":35,"y":10},{"t":3,"x":3,"y":4},{"t":3,"x":4,"y":4},{"t":3,"x":5,"y":4},{"t":3,"x":6,"y":4},{"t":3,"x":7,"y":4},{"t":3,"x":8,"y":4},{"t":3,"x":9,"y":4},{"t":3,"x":10,"y":4},{"t":3,"x":11,"y":4},{"t":3,"x":13,"y":4},{"t":3,"x":15,"y":4},{"t":3,"x":16,"y":4},{"t":3,"x":17,"y":4},{"t":3,"x":18,"y":4},{"t":3,"x":19,"y":4},{"t":3,"x":20,"y":4},{"t":3,"x":21,"y":4},{"t":3,"x":22,"y":4},{"t":3,"x":23,"y":4},{"t":3,"x":24,"y":4},{"t":3,"x":25,"y":4},{"t":3,"x":26,"y":4},{"t":3,"x":27,"y":4},{"t":3,"x":13,"y":6},{"t":3,"x":24,"y":8},{"t":3,"x":3,"y":10},{"t":3,"x":4,"y":10},{"t":3,"x":5,"y":10},{"t":3,"x":6,"y":10},{"t":3,"x":7,"y":10},{"t":3,"x":8,"y":10},{"t":3,"x":9,"y":10},{"t":3,"x":10,"y":10},{"t":3,"x":11,"y":10},{"t":3,"x":12,"y":10},{"t":3,"x":13,"y":10},{"t":3,"x":14,"y":10},{"t":3,"x":15,"y":10},{"t":3,"x":16,"y":10},{"t":3,"x":17,"y":10},{"t":3,"x":18,"y":10},{"t":3,"x":19,"y":10},{"t":3,"x":20,"y":10},{"t":3,"x":21,"y":10},{"t":3,"x":22,"y":10},{"t":3,"x":24,"y":10},{"t":3,"x":26,"y":10},{"t":3,"x":27,"y":10},{"t":3,"x":28,"y":10},{"t":3,"x":34,"y":10},{"t":4,"x":2,"y":5},{"t":4,"x":12,"y":5},{"t":4,"x":14,"y":5},{"t":4,"x":35,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":35,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":35,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":35,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":23,"y":9},{"t":4,"x":25,"y":9},{"t":4,"x":35,"y":9}]} \ No newline at end of file diff --git a/Source/levels/TINY YELLOW MACHINE b/Source/levels/TYM.rocketbyte similarity index 100% rename from Source/levels/TINY YELLOW MACHINE rename to Source/levels/TYM.rocketbyte diff --git a/Source/levels/abcdefghijklmnopqrstuvwxyz.json b/Source/levels/abcdefghijklmnopqrstuvwxyz.json deleted file mode 100644 index 6eaf0a7..0000000 --- a/Source/levels/abcdefghijklmnopqrstuvwxyz.json +++ /dev/null @@ -1 +0,0 @@ -{"bigrocket":{"x":70.4,"y":125.6},"dimensions":{"x":22,"y":17},"rocket":{"x":70.4,"y":125.6},"tiles":[{"t":2,"x":2,"y":1},{"t":2,"x":14,"y":1},{"t":2,"x":14,"y":5},{"t":2,"x":22,"y":5},{"t":2,"x":8,"y":6},{"t":2,"x":2,"y":12},{"t":2,"x":8,"y":12},{"t":2,"x":11,"y":12},{"t":2,"x":14,"y":12},{"t":2,"x":8,"y":17},{"t":2,"x":22,"y":17},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":9,"y":1},{"t":3,"x":10,"y":1},{"t":3,"x":11,"y":1},{"t":3,"x":12,"y":1},{"t":3,"x":13,"y":1},{"t":3,"x":15,"y":5},{"t":3,"x":16,"y":5},{"t":3,"x":17,"y":5},{"t":3,"x":18,"y":5},{"t":3,"x":19,"y":5},{"t":3,"x":20,"y":5},{"t":3,"x":21,"y":5},{"t":3,"x":3,"y":12},{"t":3,"x":4,"y":12},{"t":3,"x":5,"y":12},{"t":3,"x":6,"y":12},{"t":3,"x":7,"y":12},{"t":3,"x":9,"y":12},{"t":3,"x":10,"y":12},{"t":3,"x":9,"y":17},{"t":3,"x":10,"y":17},{"t":3,"x":11,"y":17},{"t":3,"x":12,"y":17},{"t":3,"x":13,"y":17},{"t":3,"x":14,"y":17},{"t":3,"x":15,"y":17},{"t":3,"x":16,"y":17},{"t":3,"x":17,"y":17},{"t":3,"x":18,"y":17},{"t":3,"x":19,"y":17},{"t":3,"x":20,"y":17},{"t":3,"x":21,"y":17},{"t":4,"x":2,"y":2},{"t":4,"x":14,"y":2},{"t":4,"x":2,"y":3},{"t":4,"x":14,"y":3},{"t":4,"x":2,"y":4},{"t":4,"x":14,"y":4},{"t":4,"x":2,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":14,"y":6},{"t":4,"x":22,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":14,"y":7},{"t":4,"x":22,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":14,"y":8},{"t":4,"x":22,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":14,"y":9},{"t":4,"x":22,"y":9},{"t":4,"x":2,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":14,"y":10},{"t":4,"x":22,"y":10},{"t":4,"x":2,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":14,"y":11},{"t":4,"x":22,"y":11},{"t":4,"x":22,"y":12},{"t":4,"x":8,"y":13},{"t":4,"x":22,"y":13},{"t":4,"x":8,"y":14},{"t":4,"x":22,"y":14},{"t":4,"x":8,"y":15},{"t":4,"x":22,"y":15},{"t":4,"x":8,"y":16},{"t":4,"x":22,"y":16}]} \ No newline at end of file diff --git a/Source/levels/a.json b/Source/levels/abcdefghijklmnopqrstuvwxyz.rocketbyte similarity index 100% rename from Source/levels/a.json rename to Source/levels/abcdefghijklmnopqrstuvwxyz.rocketbyte diff --git a/Source/levels/level.json b/Source/levels/level.rocketbyte similarity index 100% rename from Source/levels/level.json rename to Source/levels/level.rocketbyte diff --git a/Source/levels/rotate.json b/Source/levels/rotate.rocketbyte similarity index 100% rename from Source/levels/rotate.json rename to Source/levels/rotate.rocketbyte diff --git a/Source/levels/saw.json b/Source/levels/saw.rocketbyte similarity index 100% rename from Source/levels/saw.json rename to Source/levels/saw.rocketbyte diff --git a/Source/levels/win.json b/Source/levels/win.json deleted file mode 100644 index 6eaf0a7..0000000 --- a/Source/levels/win.json +++ /dev/null @@ -1 +0,0 @@ -{"bigrocket":{"x":70.4,"y":125.6},"dimensions":{"x":22,"y":17},"rocket":{"x":70.4,"y":125.6},"tiles":[{"t":2,"x":2,"y":1},{"t":2,"x":14,"y":1},{"t":2,"x":14,"y":5},{"t":2,"x":22,"y":5},{"t":2,"x":8,"y":6},{"t":2,"x":2,"y":12},{"t":2,"x":8,"y":12},{"t":2,"x":11,"y":12},{"t":2,"x":14,"y":12},{"t":2,"x":8,"y":17},{"t":2,"x":22,"y":17},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":9,"y":1},{"t":3,"x":10,"y":1},{"t":3,"x":11,"y":1},{"t":3,"x":12,"y":1},{"t":3,"x":13,"y":1},{"t":3,"x":15,"y":5},{"t":3,"x":16,"y":5},{"t":3,"x":17,"y":5},{"t":3,"x":18,"y":5},{"t":3,"x":19,"y":5},{"t":3,"x":20,"y":5},{"t":3,"x":21,"y":5},{"t":3,"x":3,"y":12},{"t":3,"x":4,"y":12},{"t":3,"x":5,"y":12},{"t":3,"x":6,"y":12},{"t":3,"x":7,"y":12},{"t":3,"x":9,"y":12},{"t":3,"x":10,"y":12},{"t":3,"x":9,"y":17},{"t":3,"x":10,"y":17},{"t":3,"x":11,"y":17},{"t":3,"x":12,"y":17},{"t":3,"x":13,"y":17},{"t":3,"x":14,"y":17},{"t":3,"x":15,"y":17},{"t":3,"x":16,"y":17},{"t":3,"x":17,"y":17},{"t":3,"x":18,"y":17},{"t":3,"x":19,"y":17},{"t":3,"x":20,"y":17},{"t":3,"x":21,"y":17},{"t":4,"x":2,"y":2},{"t":4,"x":14,"y":2},{"t":4,"x":2,"y":3},{"t":4,"x":14,"y":3},{"t":4,"x":2,"y":4},{"t":4,"x":14,"y":4},{"t":4,"x":2,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":14,"y":6},{"t":4,"x":22,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":14,"y":7},{"t":4,"x":22,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":14,"y":8},{"t":4,"x":22,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":14,"y":9},{"t":4,"x":22,"y":9},{"t":4,"x":2,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":14,"y":10},{"t":4,"x":22,"y":10},{"t":4,"x":2,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":14,"y":11},{"t":4,"x":22,"y":11},{"t":4,"x":22,"y":12},{"t":4,"x":8,"y":13},{"t":4,"x":22,"y":13},{"t":4,"x":8,"y":14},{"t":4,"x":22,"y":14},{"t":4,"x":8,"y":15},{"t":4,"x":22,"y":15},{"t":4,"x":8,"y":16},{"t":4,"x":22,"y":16}]} \ No newline at end of file diff --git a/Source/levels/winw.json b/Source/levels/winw.json deleted file mode 100644 index 6eaf0a7..0000000 --- a/Source/levels/winw.json +++ /dev/null @@ -1 +0,0 @@ -{"bigrocket":{"x":70.4,"y":125.6},"dimensions":{"x":22,"y":17},"rocket":{"x":70.4,"y":125.6},"tiles":[{"t":2,"x":2,"y":1},{"t":2,"x":14,"y":1},{"t":2,"x":14,"y":5},{"t":2,"x":22,"y":5},{"t":2,"x":8,"y":6},{"t":2,"x":2,"y":12},{"t":2,"x":8,"y":12},{"t":2,"x":11,"y":12},{"t":2,"x":14,"y":12},{"t":2,"x":8,"y":17},{"t":2,"x":22,"y":17},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":9,"y":1},{"t":3,"x":10,"y":1},{"t":3,"x":11,"y":1},{"t":3,"x":12,"y":1},{"t":3,"x":13,"y":1},{"t":3,"x":15,"y":5},{"t":3,"x":16,"y":5},{"t":3,"x":17,"y":5},{"t":3,"x":18,"y":5},{"t":3,"x":19,"y":5},{"t":3,"x":20,"y":5},{"t":3,"x":21,"y":5},{"t":3,"x":3,"y":12},{"t":3,"x":4,"y":12},{"t":3,"x":5,"y":12},{"t":3,"x":6,"y":12},{"t":3,"x":7,"y":12},{"t":3,"x":9,"y":12},{"t":3,"x":10,"y":12},{"t":3,"x":9,"y":17},{"t":3,"x":10,"y":17},{"t":3,"x":11,"y":17},{"t":3,"x":12,"y":17},{"t":3,"x":13,"y":17},{"t":3,"x":14,"y":17},{"t":3,"x":15,"y":17},{"t":3,"x":16,"y":17},{"t":3,"x":17,"y":17},{"t":3,"x":18,"y":17},{"t":3,"x":19,"y":17},{"t":3,"x":20,"y":17},{"t":3,"x":21,"y":17},{"t":4,"x":2,"y":2},{"t":4,"x":14,"y":2},{"t":4,"x":2,"y":3},{"t":4,"x":14,"y":3},{"t":4,"x":2,"y":4},{"t":4,"x":14,"y":4},{"t":4,"x":2,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":14,"y":6},{"t":4,"x":22,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":14,"y":7},{"t":4,"x":22,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":14,"y":8},{"t":4,"x":22,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":14,"y":9},{"t":4,"x":22,"y":9},{"t":4,"x":2,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":14,"y":10},{"t":4,"x":22,"y":10},{"t":4,"x":2,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":14,"y":11},{"t":4,"x":22,"y":11},{"t":4,"x":22,"y":12},{"t":4,"x":8,"y":13},{"t":4,"x":22,"y":13},{"t":4,"x":8,"y":14},{"t":4,"x":22,"y":14},{"t":4,"x":8,"y":15},{"t":4,"x":22,"y":15},{"t":4,"x":8,"y":16},{"t":4,"x":22,"y":16}]} \ No newline at end of file