summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2019-05-18 21:28:18 +0200
committerJustin Worthe <justin@worthe-it.co.za>2019-05-18 21:28:18 +0200
commitb3d6b7cb77a660fc8a8e96645627da16c6b7c059 (patch)
treea394b7d28083f182aa8fd3c27ce9fa90be122cab
parentdad50b87af3ecd23387bcf78dd16399a33074540 (diff)
Started breaking up state for easier unit testing
-rw-r--r--src/game.rs126
-rw-r--r--src/game/map.rs64
-rw-r--r--src/game/player.rs49
-rw-r--r--src/game/powerup.rs7
-rw-r--r--tests/example-state.json1
5 files changed, 136 insertions, 111 deletions
diff --git a/src/game.rs b/src/game.rs
index 1ac627d..1d9d33b 100644
--- a/src/game.rs
+++ b/src/game.rs
@@ -1,7 +1,15 @@
use crate::geometry::*;
use crate::command::Command;
use crate::json;
-use crate::constants::*;
+
+mod player;
+use player::*;
+
+mod powerup;
+use powerup::*;
+
+mod map;
+use map::*;
use arrayvec::ArrayVec;
@@ -15,32 +23,6 @@ pub struct GameBoard {
pub outcome: SimulationOutcome
}
-#[derive(Debug, PartialEq, Eq, Clone)]
-pub struct Player {
- pub active_worm: usize,
- pub worms: ArrayVec<[Worm; 3]>
-}
-
-#[derive(Debug, PartialEq, Eq, Clone)]
-pub struct Worm {
- pub id: i32,
- pub health: i32,
- pub position: Point2d<i8>,
- pub weapon_damage: i32,
- pub weapon_range: u8
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Copy)]
-pub struct Powerup {
- pub position: Point2d<i8>,
- pub value: i32
-}
-
-#[derive(Debug, PartialEq, Eq, Clone)]
-pub struct Map {
- pub cells: [u64; MAP_U64S]
-}
-
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SimulationOutcome {
PlayerWon(usize),
@@ -75,9 +57,7 @@ impl GameBoard {
}).collect()
};
- let mut map = Map {
- cells: [0; MAP_U64S]
- };
+ let mut map = Map::default();
for cell in json.map.iter().flatten() {
if cell.cell_type == json::CellType::Dirt {
map.set(Point2d::new(cell.x, cell.y))
@@ -89,7 +69,7 @@ impl GameBoard {
max_rounds: json.max_rounds,
players: [player, opponent],
powerups: json.map.iter().flatten().filter_map(|c| {
- c.powerup.clone().map(|p| Powerup {
+ c.powerup.as_ref().map(|p| Powerup {
position: Point2d::new(c.x, c.y),
value: p.value
})
@@ -114,7 +94,7 @@ impl GameBoard {
}
self.powerups = json.map.iter().flatten().filter_map(|c| {
- c.powerup.clone().map(|p| Powerup {
+ c.powerup.as_ref().map(|p| Powerup {
position: Point2d::new(c.x, c.y),
value: p.value
})
@@ -324,83 +304,7 @@ impl GameBoard {
}
}
-impl Player {
- pub fn find_worm(&self, id: i32) -> Option<&Worm> {
- self.worms
- .iter()
- .find(|w| w.id == id)
- }
-
- pub fn find_worm_mut(&mut self, id: i32) -> Option<&mut Worm> {
- self.worms
- .iter_mut()
- .find(|w| w.id == id)
- }
-
- pub fn active_worm(&self) -> &Worm {
- &self.worms[self.active_worm]
- }
-
- fn active_worm_mut(&mut self) -> &mut Worm {
- &mut self.worms[self.active_worm]
- }
-
- pub fn health(&self) -> i32 {
- self.worms
- .iter()
- .map(|w| w.health)
- .sum()
- }
-}
-
-impl Map {
- pub fn at(&self, p: Point2d<i8>) -> Option<bool> {
- if p.y < 0 || p.y as usize >= MAP_SIZE {
- None
- } else {
- let row_data = &MAP_ROW_SIZE[p.y as usize];
- if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
- None
- } else {
- let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
- let integer = global_bit / 64;
- let bit = global_bit % 64;
- let mask = 1 << bit;
- Some(self.cells[integer] & mask != 0)
- }
- }
- }
-
- fn set(&mut self, p: Point2d<i8>) {
- if p.y < 0 || p.y as usize >= MAP_SIZE {
- debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
- } else {
- let row_data = &MAP_ROW_SIZE[p.y as usize];
- if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
- debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
- } else {
- let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
- let integer = global_bit / 64;
- let bit = global_bit % 64;
- let mask = 1 << bit;
- self.cells[integer] |= mask;
- }
- }
- }
- fn clear(&mut self, p: Point2d<i8>) {
- if p.y < 0 || p.y as usize >= MAP_SIZE {
- debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
- } else {
- let row_data = &MAP_ROW_SIZE[p.y as usize];
- if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
- debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
- } else {
- let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
- let integer = global_bit / 64;
- let bit = global_bit % 64;
- let mask = !(1 << bit);
- self.cells[integer] &= mask;
- }
- }
- }
+#[cfg(test)]
+mod test {
+
}
diff --git a/src/game/map.rs b/src/game/map.rs
new file mode 100644
index 0000000..c062c8f
--- /dev/null
+++ b/src/game/map.rs
@@ -0,0 +1,64 @@
+use crate::geometry::*;
+use crate::constants::*;
+
+#[derive(Default, Debug, PartialEq, Eq, Clone)]
+pub struct Map {
+ cells: [u64; MAP_U64S]
+}
+
+impl Map {
+ pub fn at(&self, p: Point2d<i8>) -> Option<bool> {
+ if p.y < 0 || p.y as usize >= MAP_SIZE {
+ None
+ } else {
+ let row_data = &MAP_ROW_SIZE[p.y as usize];
+ if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
+ None
+ } else {
+ let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
+ let integer = global_bit / 64;
+ let bit = global_bit % 64;
+ let mask = 1 << bit;
+ Some(self.cells[integer] & mask != 0)
+ }
+ }
+ }
+
+ pub fn set(&mut self, p: Point2d<i8>) {
+ if p.y < 0 || p.y as usize >= MAP_SIZE {
+ debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
+ } else {
+ let row_data = &MAP_ROW_SIZE[p.y as usize];
+ if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
+ debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
+ } else {
+ let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
+ let integer = global_bit / 64;
+ let bit = global_bit % 64;
+ let mask = 1 << bit;
+ self.cells[integer] |= mask;
+ }
+ }
+ }
+ pub fn clear(&mut self, p: Point2d<i8>) {
+ if p.y < 0 || p.y as usize >= MAP_SIZE {
+ debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
+ } else {
+ let row_data = &MAP_ROW_SIZE[p.y as usize];
+ if p.x < row_data.x_offset as i8 || p.x as usize >= row_data.x_offset + row_data.len() {
+ debug_assert!(false, "Tried to set an out of bounds bit, {:?}", p);
+ } else {
+ let global_bit = row_data.start_bit + p.x as usize - row_data.x_offset;
+ let integer = global_bit / 64;
+ let bit = global_bit % 64;
+ let mask = !(1 << bit);
+ self.cells[integer] &= mask;
+ }
+ }
+ }
+}
+
+#[cfg(test)]
+mod test {
+ // TODO: Property test for at, set and clear
+}
diff --git a/src/game/player.rs b/src/game/player.rs
new file mode 100644
index 0000000..acfc494
--- /dev/null
+++ b/src/game/player.rs
@@ -0,0 +1,49 @@
+use arrayvec::ArrayVec;
+use crate::geometry::*;
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub struct Player {
+ pub active_worm: usize,
+ pub worms: ArrayVec<[Worm; 3]>
+}
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub struct Worm {
+ pub id: i32,
+ pub health: i32,
+ pub position: Point2d<i8>,
+ pub weapon_damage: i32,
+ pub weapon_range: u8
+}
+
+impl Player {
+ pub fn find_worm(&self, id: i32) -> Option<&Worm> {
+ self.worms
+ .iter()
+ .find(|w| w.id == id)
+ }
+
+ pub fn find_worm_mut(&mut self, id: i32) -> Option<&mut Worm> {
+ self.worms
+ .iter_mut()
+ .find(|w| w.id == id)
+ }
+
+ pub fn active_worm(&self) -> &Worm {
+ &self.worms[self.active_worm]
+ }
+
+ pub fn active_worm_mut(&mut self) -> &mut Worm {
+ &mut self.worms[self.active_worm]
+ }
+
+ pub fn health(&self) -> i32 {
+ self.worms
+ .iter()
+ .map(|w| w.health)
+ .sum()
+ }
+
+ // TODO: Cycle to next worm
+}
+
diff --git a/src/game/powerup.rs b/src/game/powerup.rs
new file mode 100644
index 0000000..2f07816
--- /dev/null
+++ b/src/game/powerup.rs
@@ -0,0 +1,7 @@
+use crate::geometry::*;
+
+#[derive(Debug, PartialEq, Eq, Clone, Copy)]
+pub struct Powerup {
+ pub position: Point2d<i8>,
+ pub value: i32
+}
diff --git a/tests/example-state.json b/tests/example-state.json
new file mode 100644
index 0000000..5bc7217
--- /dev/null
+++ b/tests/example-state.json
@@ -0,0 +1 @@
+{"currentRound":1,"maxRounds":400,"mapSize":33,"currentWormId":1,"consecutiveDoNothingCount":0,"myPlayer":{"id":1,"score":150,"health":450,"worms":[{"id":1,"health":150,"position":{"x":24,"y":29},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1},{"id":2,"health":150,"position":{"x":1,"y":16},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1},{"id":3,"health":150,"position":{"x":24,"y":3},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1}]},"opponents":[{"id":2,"score":150,"worms":[{"id":1,"health":150,"position":{"x":31,"y":16},"diggingRange":1,"movementRange":1},{"id":2,"health":150,"position":{"x":9,"y":29},"diggingRange":1,"movementRange":1},{"id":3,"health":150,"position":{"x":8,"y":3},"diggingRange":1,"movementRange":1}]}],"map":[[{"x":0,"y":0,"type":"DEEP_SPACE"},{"x":1,"y":0,"type":"DEEP_SPACE"},{"x":2,"y":0,"type":"DEEP_SPACE"},{"x":3,"y":0,"type":"DEEP_SPACE"},{"x":4,"y":0,"type":"DEEP_SPACE"},{"x":5,"y":0,"type":"DEEP_SPACE"},{"x":6,"y":0,"type":"DEEP_SPACE"},{"x":7,"y":0,"type":"DEEP_SPACE"},{"x":8,"y":0,"type":"DEEP_SPACE"},{"x":9,"y":0,"type":"DEEP_SPACE"},{"x":10,"y":0,"type":"DEEP_SPACE"},{"x":11,"y":0,"type":"AIR"},{"x":12,"y":0,"type":"DIRT"},{"x":13,"y":0,"type":"DIRT"},{"x":14,"y":0,"type":"AIR"},{"x":15,"y":0,"type":"AIR"},{"x":16,"y":0,"type":"DIRT"},{"x":17,"y":0,"type":"AIR"},{"x":18,"y":0,"type":"AIR"},{"x":19,"y":0,"type":"DIRT"},{"x":20,"y":0,"type":"DIRT"},{"x":21,"y":0,"type":"AIR"},{"x":22,"y":0,"type":"DEEP_SPACE"},{"x":23,"y":0,"type":"DEEP_SPACE"},{"x":24,"y":0,"type":"DEEP_SPACE"},{"x":25,"y":0,"type":"DEEP_SPACE"},{"x":26,"y":0,"type":"DEEP_SPACE"},{"x":27,"y":0,"type":"DEEP_SPACE"},{"x":28,"y":0,"type":"DEEP_SPACE"},{"x":29,"y":0,"type":"DEEP_SPACE"},{"x":30,"y":0,"type":"DEEP_SPACE"},{"x":31,"y":0,"type":"DEEP_SPACE"},{"x":32,"y":0,"type":"DEEP_SPACE"}],[{"x":0,"y":1,"type":"DEEP_SPACE"},{"x":1,"y":1,"type":"DEEP_SPACE"},{"x":2,"y":1,"type":"DEEP_SPACE"},{"x":3,"y":1,"type":"DEEP_SPACE"},{"x":4,"y":1,"type":"DEEP_SPACE"},{"x":5,"y":1,"type":"DEEP_SPACE"},{"x":6,"y":1,"type":"DEEP_SPACE"},{"x":7,"y":1,"type":"DEEP_SPACE"},{"x":8,"y":1,"type":"DIRT"},{"x":9,"y":1,"type":"DIRT"},{"x":10,"y":1,"type":"DIRT"},{"x":11,"y":1,"type":"DIRT"},{"x":12,"y":1,"type":"DIRT"},{"x":13,"y":1,"type":"DIRT"},{"x":14,"y":1,"type":"AIR"},{"x":15,"y":1,"type":"AIR"},{"x":16,"y":1,"type":"DIRT"},{"x":17,"y":1,"type":"AIR"},{"x":18,"y":1,"type":"AIR"},{"x":19,"y":1,"type":"DIRT"},{"x":20,"y":1,"type":"DIRT"},{"x":21,"y":1,"type":"DIRT"},{"x":22,"y":1,"type":"DIRT"},{"x":23,"y":1,"type":"DIRT"},{"x":24,"y":1,"type":"DIRT"},{"x":25,"y":1,"type":"DEEP_SPACE"},{"x":26,"y":1,"type":"DEEP_SPACE"},{"x":27,"y":1,"type":"DEEP_SPACE"},{"x":28,"y":1,"type":"DEEP_SPACE"},{"x":29,"y":1,"type":"DEEP_SPACE"},{"x":30,"y":1,"type":"DEEP_SPACE"},{"x":31,"y":1,"type":"DEEP_SPACE"},{"x":32,"y":1,"type":"DEEP_SPACE"}],[{"x":0,"y":2,"type":"DEEP_SPACE"},{"x":1,"y":2,"type":"DEEP_SPACE"},{"x":2,"y":2,"type":"DEEP_SPACE"},{"x":3,"y":2,"type":"DEEP_SPACE"},{"x":4,"y":2,"type":"DEEP_SPACE"},{"x":5,"y":2,"type":"DEEP_SPACE"},{"x":6,"y":2,"type":"DEEP_SPACE"},{"x":7,"y":2,"type":"AIR"},{"x":8,"y":2,"type":"AIR"},{"x":9,"y":2,"type":"AIR"},{"x":10,"y":2,"type":"DIRT"},{"x":11,"y":2,"type":"DIRT"},{"x":12,"y":2,"type":"DIRT"},{"x":13,"y":2,"type":"AIR"},{"x":14,"y":2,"type":"AIR"},{"x":15,"y":2,"type":"DIRT"},{"x":16,"y":2,"type":"DIRT"},{"x":17,"y":2,"type":"DIRT"},{"x":18,"y":2,"type":"AIR"},{"x":19,"y":2,"type":"AIR"},{"x":20,"y":2,"type":"DIRT"},{"x":21,"y":2,"type":"DIRT"},{"x":22,"y":2,"type":"DIRT"},{"x":23,"y":2,"type":"AIR"},{"x":24,"y":2,"type":"AIR"},{"x":25,"y":2,"type":"AIR"},{"x":26,"y":2,"type":"DEEP_SPACE"},{"x":27,"y":2,"type":"DEEP_SPACE"},{"x":28,"y":2,"type":"DEEP_SPACE"},{"x":29,"y":2,"type":"DEEP_SPACE"},{"x":30,"y":2,"type":"DEEP_SPACE"},{"x":31,"y":2,"type":"DEEP_SPACE"},{"x":32,"y":2,"type":"DEEP_SPACE"}],[{"x":0,"y":3,"type":"DEEP_SPACE"},{"x":1,"y":3,"type":"DEEP_SPACE"},{"x":2,"y":3,"type":"DEEP_SPACE"},{"x":3,"y":3,"type":"DEEP_SPACE"},{"x":4,"y":3,"type":"DEEP_SPACE"},{"x":5,"y":3,"type":"DEEP_SPACE"},{"x":6,"y":3,"type":"DIRT"},{"x":7,"y":3,"type":"AIR"},{"x":8,"y":3,"type":"AIR","occupier":{"id":3,"playerId":2,"health":150,"position":{"x":8,"y":3},"diggingRange":1,"movementRange":1}},{"x":9,"y":3,"type":"AIR"},{"x":10,"y":3,"type":"DIRT"},{"x":11,"y":3,"type":"DIRT"},{"x":12,"y":3,"type":"DIRT"},{"x":13,"y":3,"type":"AIR"},{"x":14,"y":3,"type":"AIR"},{"x":15,"y":3,"type":"DIRT"},{"x":16,"y":3,"type":"DIRT"},{"x":17,"y":3,"type":"DIRT"},{"x":18,"y":3,"type":"AIR"},{"x":19,"y":3,"type":"AIR"},{"x":20,"y":3,"type":"DIRT"},{"x":21,"y":3,"type":"DIRT"},{"x":22,"y":3,"type":"DIRT"},{"x":23,"y":3,"type":"AIR"},{"x":24,"y":3,"type":"AIR","occupier":{"id":3,"playerId":1,"health":150,"position":{"x":24,"y":3},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1}},{"x":25,"y":3,"type":"AIR"},{"x":26,"y":3,"type":"DIRT"},{"x":27,"y":3,"type":"DEEP_SPACE"},{"x":28,"y":3,"type":"DEEP_SPACE"},{"x":29,"y":3,"type":"DEEP_SPACE"},{"x":30,"y":3,"type":"DEEP_SPACE"},{"x":31,"y":3,"type":"DEEP_SPACE"},{"x":32,"y":3,"type":"DEEP_SPACE"}],[{"x":0,"y":4,"type":"DEEP_SPACE"},{"x":1,"y":4,"type":"DEEP_SPACE"},{"x":2,"y":4,"type":"DEEP_SPACE"},{"x":3,"y":4,"type":"DEEP_SPACE"},{"x":4,"y":4,"type":"DIRT"},{"x":5,"y":4,"type":"AIR"},{"x":6,"y":4,"type":"DIRT"},{"x":7,"y":4,"type":"AIR"},{"x":8,"y":4,"type":"AIR"},{"x":9,"y":4,"type":"AIR"},{"x":10,"y":4,"type":"DIRT"},{"x":11,"y":4,"type":"DIRT"},{"x":12,"y":4,"type":"AIR"},{"x":13,"y":4,"type":"AIR"},{"x":14,"y":4,"type":"AIR"},{"x":15,"y":4,"type":"AIR"},{"x":16,"y":4,"type":"DIRT"},{"x":17,"y":4,"type":"AIR"},{"x":18,"y":4,"type":"AIR"},{"x":19,"y":4,"type":"AIR"},{"x":20,"y":4,"type":"AIR"},{"x":21,"y":4,"type":"DIRT"},{"x":22,"y":4,"type":"DIRT"},{"x":23,"y":4,"type":"AIR"},{"x":24,"y":4,"type":"AIR"},{"x":25,"y":4,"type":"AIR"},{"x":26,"y":4,"type":"DIRT"},{"x":27,"y":4,"type":"AIR"},{"x":28,"y":4,"type":"DIRT"},{"x":29,"y":4,"type":"DEEP_SPACE"},{"x":30,"y":4,"type":"DEEP_SPACE"},{"x":31,"y":4,"type":"DEEP_SPACE"},{"x":32,"y":4,"type":"DEEP_SPACE"}],[{"x":0,"y":5,"type":"DEEP_SPACE"},{"x":1,"y":5,"type":"DEEP_SPACE"},{"x":2,"y":5,"type":"DEEP_SPACE"},{"x":3,"y":5,"type":"DEEP_SPACE"},{"x":4,"y":5,"type":"DIRT"},{"x":5,"y":5,"type":"DIRT"},{"x":6,"y":5,"type":"DIRT"},{"x":7,"y":5,"type":"DIRT"},{"x":8,"y":5,"type":"DIRT"},{"x":9,"y":5,"type":"DIRT"},{"x":10,"y":5,"type":"DIRT"},{"x":11,"y":5,"type":"DIRT"},{"x":12,"y":5,"type":"AIR"},{"x":13,"y":5,"type":"AIR"},{"x":14,"y":5,"type":"AIR"},{"x":15,"y":5,"type":"AIR"},{"x":16,"y":5,"type":"DIRT"},{"x":17,"y":5,"type":"AIR"},{"x":18,"y":5,"type":"AIR"},{"x":19,"y":5,"type":"AIR"},{"x":20,"y":5,"type":"AIR"},{"x":21,"y":5,"type":"DIRT"},{"x":22,"y":5,"type":"DIRT"},{"x":23,"y":5,"type":"DIRT"},{"x":24,"y":5,"type":"DIRT"},{"x":25,"y":5,"type":"DIRT"},{"x":26,"y":5,"type":"DIRT"},{"x":27,"y":5,"type":"DIRT"},{"x":28,"y":5,"type":"DIRT"},{"x":29,"y":5,"type":"DEEP_SPACE"},{"x":30,"y":5,"type":"DEEP_SPACE"},{"x":31,"y":5,"type":"DEEP_SPACE"},{"x":32,"y":5,"type":"DEEP_SPACE"}],[{"x":0,"y":6,"type":"DEEP_SPACE"},{"x":1,"y":6,"type":"DEEP_SPACE"},{"x":2,"y":6,"type":"DEEP_SPACE"},{"x":3,"y":6,"type":"AIR"},{"x":4,"y":6,"type":"AIR"},{"x":5,"y":6,"type":"AIR"},{"x":6,"y":6,"type":"AIR"},{"x":7,"y":6,"type":"AIR"},{"x":8,"y":6,"type":"AIR"},{"x":9,"y":6,"type":"AIR"},{"x":10,"y":6,"type":"DIRT"},{"x":11,"y":6,"type":"DIRT"},{"x":12,"y":6,"type":"DIRT"},{"x":13,"y":6,"type":"DIRT"},{"x":14,"y":6,"type":"DIRT"},{"x":15,"y":6,"type":"DIRT"},{"x":16,"y":6,"type":"AIR"},{"x":17,"y":6,"type":"DIRT"},{"x":18,"y":6,"type":"DIRT"},{"x":19,"y":6,"type":"DIRT"},{"x":20,"y":6,"type":"DIRT"},{"x":21,"y":6,"type":"DIRT"},{"x":22,"y":6,"type":"DIRT"},{"x":23,"y":6,"type":"AIR"},{"x":24,"y":6,"type":"AIR"},{"x":25,"y":6,"type":"AIR"},{"x":26,"y":6,"type":"AIR"},{"x":27,"y":6,"type":"AIR"},{"x":28,"y":6,"type":"AIR"},{"x":29,"y":6,"type":"AIR"},{"x":30,"y":6,"type":"DEEP_SPACE"},{"x":31,"y":6,"type":"DEEP_SPACE"},{"x":32,"y":6,"type":"DEEP_SPACE"}],[{"x":0,"y":7,"type":"DEEP_SPACE"},{"x":1,"y":7,"type":"DEEP_SPACE"},{"x":2,"y":7,"type":"AIR"},{"x":3,"y":7,"type":"AIR"},{"x":4,"y":7,"type":"AIR"},{"x":5,"y":7,"type":"AIR"},{"x":6,"y":7,"type":"AIR"},{"x":7,"y":7,"type":"DIRT"},{"x":8,"y":7,"type":"DIRT"},{"x":9,"y":7,"type":"AIR"},{"x":10,"y":7,"type":"AIR"},{"x":11,"y":7,"type":"AIR"},{"x":12,"y":7,"type":"AIR"},{"x":13,"y":7,"type":"DIRT"},{"x":14,"y":7,"type":"DIRT"},{"x":15,"y":7,"type":"AIR"},{"x":16,"y":7,"type":"DIRT"},{"x":17,"y":7,"type":"AIR"},{"x":18,"y":7,"type":"DIRT"},{"x":19,"y":7,"type":"DIRT"},{"x":20,"y":7,"type":"AIR"},{"x":21,"y":7,"type":"AIR"},{"x":22,"y":7,"type":"AIR"},{"x":23,"y":7,"type":"AIR"},{"x":24,"y":7,"type":"DIRT"},{"x":25,"y":7,"type":"DIRT"},{"x":26,"y":7,"type":"AIR"},{"x":27,"y":7,"type":"AIR"},{"x":28,"y":7,"type":"AIR"},{"x":29,"y":7,"type":"AIR"},{"x":30,"y":7,"type":"AIR"},{"x":31,"y":7,"type":"DEEP_SPACE"},{"x":32,"y":7,"type":"DEEP_SPACE"}],[{"x":0,"y":8,"type":"DEEP_SPACE"},{"x":1,"y":8,"type":"DIRT"},{"x":2,"y":8,"type":"DIRT"},{"x":3,"y":8,"type":"DIRT"},{"x":4,"y":8,"type":"DIRT"},{"x":5,"y":8,"type":"DIRT"},{"x":6,"y":8,"type":"AIR"},{"x":7,"y":8,"type":"DIRT"},{"x":8,"y":8,"type":"AIR"},{"x":9,"y":8,"type":"DIRT"},{"x":10,"y":8,"type":"DIRT"},{"x":11,"y":8,"type":"DIRT"},{"x":12,"y":8,"type":"AIR"},{"x":13,"y":8,"type":"DIRT"},{"x":14,"y":8,"type":"AIR"},{"x":15,"y":8,"type":"AIR"},{"x":16,"y":8,"type":"DIRT"},{"x":17,"y":8,"type":"AIR"},{"x":18,"y":8,"type":"AIR"},{"x":19,"y":8,"type":"DIRT"},{"x":20,"y":8,"type":"AIR"},{"x":21,"y":8,"type":"DIRT"},{"x":22,"y":8,"type":"DIRT"},{"x":23,"y":8,"type":"DIRT"},{"x":24,"y":8,"type":"AIR"},{"x":25,"y":8,"type":"DIRT"},{"x":26,"y":8,"type":"AIR"},{"x":27,"y":8,"type":"DIRT"},{"x":28,"y":8,"type":"DIRT"},{"x":29,"y":8,"type":"DIRT"},{"x":30,"y":8,"type":"DIRT"},{"x":31,"y":8,"type":"DIRT"},{"x":32,"y":8,"type":"DEEP_SPACE"}],[{"x":0,"y":9,"type":"DEEP_SPACE"},{"x":1,"y":9,"type":"DIRT"},{"x":2,"y":9,"type":"AIR"},{"x":3,"y":9,"type":"AIR"},{"x":4,"y":9,"type":"AIR"},{"x":5,"y":9,"type":"DIRT"},{"x":6,"y":9,"type":"DIRT"},{"x":7,"y":9,"type":"DIRT"},{"x":8,"y":9,"type":"AIR"},{"x":9,"y":9,"type":"DIRT"},{"x":10,"y":9,"type":"DIRT"},{"x":11,"y":9,"type":"DIRT"},{"x":12,"y":9,"type":"DIRT"},{"x":13,"y":9,"type":"DIRT"},{"x":14,"y":9,"type":"DIRT"},{"x":15,"y":9,"type":"AIR"},{"x":16,"y":9,"type":"AIR"},{"x":17,"y":9,"type":"AIR"},{"x":18,"y":9,"type":"DIRT"},{"x":19,"y":9,"type":"DIRT"},{"x":20,"y":9,"type":"DIRT"},{"x":21,"y":9,"type":"DIRT"},{"x":22,"y":9,"type":"DIRT"},{"x":23,"y":9,"type":"DIRT"},{"x":24,"y":9,"type":"AIR"},{"x":25,"y":9,"type":"DIRT"},{"x":26,"y":9,"type":"DIRT"},{"x":27,"y":9,"type":"DIRT"},{"x":28,"y":9,"type":"AIR"},{"x":29,"y":9,"type":"AIR"},{"x":30,"y":9,"type":"AIR"},{"x":31,"y":9,"type":"DIRT"},{"x":32,"y":9,"type":"DEEP_SPACE"}],[{"x":0,"y":10,"type":"DEEP_SPACE"},{"x":1,"y":10,"type":"DIRT"},{"x":2,"y":10,"type":"DIRT"},{"x":3,"y":10,"type":"DIRT"},{"x":4,"y":10,"type":"DIRT"},{"x":5,"y":10,"type":"DIRT"},{"x":6,"y":10,"type":"DIRT"},{"x":7,"y":10,"type":"DIRT"},{"x":8,"y":10,"type":"DIRT"},{"x":9,"y":10,"type":"DIRT"},{"x":10,"y":10,"type":"AIR"},{"x":11,"y":10,"type":"AIR"},{"x":12,"y":10,"type":"DIRT"},{"x":13,"y":10,"type":"DIRT"},{"x":14,"y":10,"type":"AIR"},{"x":15,"y":10,"type":"AIR"},{"x":16,"y":10,"type":"AIR"},{"x":17,"y":10,"type":"AIR"},{"x":18,"y":10,"type":"AIR"},{"x":19,"y":10,"type":"DIRT"},{"x":20,"y":10,"type":"DIRT"},{"x":21,"y":10,"type":"AIR"},{"x":22,"y":10,"type":"AIR"},{"x":23,"y":10,"type":"DIRT"},{"x":24,"y":10,"type":"DIRT"},{"x":25,"y":10,"type":"DIRT"},{"x":26,"y":10,"type":"DIRT"},{"x":27,"y":10,"type":"DIRT"},{"x":28,"y":10,"type":"DIRT"},{"x":29,"y":10,"type":"DIRT"},{"x":30,"y":10,"type":"DIRT"},{"x":31,"y":10,"type":"DIRT"},{"x":32,"y":10,"type":"DEEP_SPACE"}],[{"x":0,"y":11,"type":"DIRT"},{"x":1,"y":11,"type":"DIRT"},{"x":2,"y":11,"type":"DIRT"},{"x":3,"y":11,"type":"DIRT"},{"x":4,"y":11,"type":"DIRT"},{"x":5,"y":11,"type":"DIRT"},{"x":6,"y":11,"type":"DIRT"},{"x":7,"y":11,"type":"DIRT"},{"x":8,"y":11,"type":"DIRT"},{"x":9,"y":11,"type":"DIRT"},{"x":10,"y":11,"type":"AIR"},{"x":11,"y":11,"type":"AIR"},{"x":12,"y":11,"type":"DIRT"},{"x":13,"y":11,"type":"AIR"},{"x":14,"y":11,"type":"AIR"},{"x":15,"y":11,"type":"AIR"},{"x":16,"y":11,"type":"AIR"},{"x":17,"y":11,"type":"AIR"},{"x":18,"y":11,"type":"AIR"},{"x":19,"y":11,"type":"AIR"},{"x":20,"y":11,"type":"DIRT"},{"x":21,"y":11,"type":"AIR"},{"x":22,"y":11,"type":"AIR"},{"x":23,"y":11,"type":"DIRT"},{"x":24,"y":11,"type":"DIRT"},{"x":25,"y":11,"type":"DIRT"},{"x":26,"y":11,"type":"DIRT"},{"x":27,"y":11,"type":"DIRT"},{"x":28,"y":11,"type":"DIRT"},{"x":29,"y":11,"type":"DIRT"},{"x":30,"y":11,"type":"DIRT"},{"x":31,"y":11,"type":"DIRT"},{"x":32,"y":11,"type":"DIRT"}],[{"x":0,"y":12,"type":"DIRT"},{"x":1,"y":12,"type":"DIRT"},{"x":2,"y":12,"type":"DIRT"},{"x":3,"y":12,"type":"DIRT"},{"x":4,"y":12,"type":"DIRT"},{"x":5,"y":12,"type":"DIRT"},{"x":6,"y":12,"type":"DIRT"},{"x":7,"y":12,"type":"DIRT"},{"x":8,"y":12,"type":"DIRT"},{"x":9,"y":12,"type":"DIRT"},{"x":10,"y":12,"type":"AIR"},{"x":11,"y":12,"type":"AIR"},{"x":12,"y":12,"type":"DIRT"},{"x":13,"y":12,"type":"DIRT"},{"x":14,"y":12,"type":"AIR"},{"x":15,"y":12,"type":"DIRT"},{"x":16,"y":12,"type":"DIRT"},{"x":17,"y":12,"type":"DIRT"},{"x":18,"y":12,"type":"AIR"},{"x":19,"y":12,"type":"DIRT"},{"x":20,"y":12,"type":"DIRT"},{"x":21,"y":12,"type":"AIR"},{"x":22,"y":12,"type":"AIR"},{"x":23,"y":12,"type":"DIRT"},{"x":24,"y":12,"type":"DIRT"},{"x":25,"y":12,"type":"DIRT"},{"x":26,"y":12,"type":"DIRT"},{"x":27,"y":12,"type":"DIRT"},{"x":28,"y":12,"type":"DIRT"},{"x":29,"y":12,"type":"DIRT"},{"x":30,"y":12,"type":"DIRT"},{"x":31,"y":12,"type":"DIRT"},{"x":32,"y":12,"type":"DIRT"}],[{"x":0,"y":13,"type":"DIRT"},{"x":1,"y":13,"type":"DIRT"},{"x":2,"y":13,"type":"DIRT"},{"x":3,"y":13,"type":"AIR"},{"x":4,"y":13,"type":"AIR"},{"x":5,"y":13,"type":"DIRT"},{"x":6,"y":13,"type":"DIRT"},{"x":7,"y":13,"type":"DIRT"},{"x":8,"y":13,"type":"DIRT"},{"x":9,"y":13,"type":"AIR"},{"x":10,"y":13,"type":"AIR"},{"x":11,"y":13,"type":"AIR"},{"x":12,"y":13,"type":"DIRT"},{"x":13,"y":13,"type":"DIRT"},{"x":14,"y":13,"type":"AIR"},{"x":15,"y":13,"type":"DIRT"},{"x":16,"y":13,"type":"DIRT"},{"x":17,"y":13,"type":"DIRT"},{"x":18,"y":13,"type":"AIR"},{"x":19,"y":13,"type":"DIRT"},{"x":20,"y":13,"type":"DIRT"},{"x":21,"y":13,"type":"AIR"},{"x":22,"y":13,"type":"AIR"},{"x":23,"y":13,"type":"AIR"},{"x":24,"y":13,"type":"DIRT"},{"x":25,"y":13,"type":"DIRT"},{"x":26,"y":13,"type":"DIRT"},{"x":27,"y":13,"type":"DIRT"},{"x":28,"y":13,"type":"AIR"},{"x":29,"y":13,"type":"AIR"},{"x":30,"y":13,"type":"DIRT"},{"x":31,"y":13,"type":"DIRT"},{"x":32,"y":13,"type":"DIRT"}],[{"x":0,"y":14,"type":"DIRT"},{"x":1,"y":14,"type":"DIRT"},{"x":2,"y":14,"type":"DIRT"},{"x":3,"y":14,"type":"DIRT"},{"x":4,"y":14,"type":"DIRT"},{"x":5,"y":14,"type":"DIRT"},{"x":6,"y":14,"type":"AIR"},{"x":7,"y":14,"type":"AIR"},{"x":8,"y":14,"type":"DIRT"},{"x":9,"y":14,"type":"DIRT"},{"x":10,"y":14,"type":"DIRT"},{"x":11,"y":14,"type":"DIRT"},{"x":12,"y":14,"type":"DIRT"},{"x":13,"y":14,"type":"DIRT"},{"x":14,"y":14,"type":"AIR"},{"x":15,"y":14,"type":"DIRT"},{"x":16,"y":14,"type":"AIR"},{"x":17,"y":14,"type":"DIRT"},{"x":18,"y":14,"type":"AIR"},{"x":19,"y":14,"type":"DIRT"},{"x":20,"y":14,"type":"DIRT"},{"x":21,"y":14,"type":"DIRT"},{"x":22,"y":14,"type":"DIRT"},{"x":23,"y":14,"type":"DIRT"},{"x":24,"y":14,"type":"DIRT"},{"x":25,"y":14,"type":"AIR"},{"x":26,"y":14,"type":"AIR"},{"x":27,"y":14,"type":"DIRT"},{"x":28,"y":14,"type":"DIRT"},{"x":29,"y":14,"type":"DIRT"},{"x":30,"y":14,"type":"DIRT"},{"x":31,"y":14,"type":"DIRT"},{"x":32,"y":14,"type":"DIRT"}],[{"x":0,"y":15,"type":"AIR"},{"x":1,"y":15,"type":"AIR"},{"x":2,"y":15,"type":"AIR"},{"x":3,"y":15,"type":"DIRT"},{"x":4,"y":15,"type":"DIRT"},{"x":5,"y":15,"type":"DIRT"},{"x":6,"y":15,"type":"AIR"},{"x":7,"y":15,"type":"AIR"},{"x":8,"y":15,"type":"AIR"},{"x":9,"y":15,"type":"AIR"},{"x":10,"y":15,"type":"DIRT"},{"x":11,"y":15,"type":"DIRT"},{"x":12,"y":15,"type":"DIRT"},{"x":13,"y":15,"type":"DIRT"},{"x":14,"y":15,"type":"AIR","powerup":{"type":"HEALTH_PACK","value":10}},{"x":15,"y":15,"type":"DIRT"},{"x":16,"y":15,"type":"DIRT"},{"x":17,"y":15,"type":"DIRT"},{"x":18,"y":15,"type":"AIR"},{"x":19,"y":15,"type":"DIRT"},{"x":20,"y":15,"type":"DIRT"},{"x":21,"y":15,"type":"DIRT"},{"x":22,"y":15,"type":"DIRT"},{"x":23,"y":15,"type":"AIR"},{"x":24,"y":15,"type":"AIR"},{"x":25,"y":15,"type":"AIR"},{"x":26,"y":15,"type":"AIR"},{"x":27,"y":15,"type":"DIRT"},{"x":28,"y":15,"type":"DIRT"},{"x":29,"y":15,"type":"DIRT"},{"x":30,"y":15,"type":"AIR"},{"x":31,"y":15,"type":"AIR"},{"x":32,"y":15,"type":"AIR"}],[{"x":0,"y":16,"type":"AIR"},{"x":1,"y":16,"type":"AIR","occupier":{"id":2,"playerId":1,"health":150,"position":{"x":1,"y":16},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1}},{"x":2,"y":16,"type":"AIR"},{"x":3,"y":16,"type":"DIRT"},{"x":4,"y":16,"type":"AIR"},{"x":5,"y":16,"type":"AIR"},{"x":6,"y":16,"type":"AIR"},{"x":7,"y":16,"type":"DIRT"},{"x":8,"y":16,"type":"DIRT"},{"x":9,"y":16,"type":"DIRT"},{"x":10,"y":16,"type":"DIRT"},{"x":11,"y":16,"type":"DIRT"},{"x":12,"y":16,"type":"DIRT"},{"x":13,"y":16,"type":"DIRT"},{"x":14,"y":16,"type":"DIRT"},{"x":15,"y":16,"type":"DIRT"},{"x":16,"y":16,"type":"DIRT"},{"x":17,"y":16,"type":"DIRT"},{"x":18,"y":16,"type":"DIRT"},{"x":19,"y":16,"type":"DIRT"},{"x":20,"y":16,"type":"DIRT"},{"x":21,"y":16,"type":"DIRT"},{"x":22,"y":16,"type":"DIRT"},{"x":23,"y":16,"type":"DIRT"},{"x":24,"y":16,"type":"DIRT"},{"x":25,"y":16,"type":"DIRT"},{"x":26,"y":16,"type":"AIR"},{"x":27,"y":16,"type":"AIR"},{"x":28,"y":16,"type":"AIR"},{"x":29,"y":16,"type":"DIRT"},{"x":30,"y":16,"type":"AIR"},{"x":31,"y":16,"type":"AIR","occupier":{"id":1,"playerId":2,"health":150,"position":{"x":31,"y":16},"diggingRange":1,"movementRange":1}},{"x":32,"y":16,"type":"AIR"}],[{"x":0,"y":17,"type":"AIR"},{"x":1,"y":17,"type":"AIR"},{"x":2,"y":17,"type":"AIR"},{"x":3,"y":17,"type":"DIRT"},{"x":4,"y":17,"type":"DIRT"},{"x":5,"y":17,"type":"AIR"},{"x":6,"y":17,"type":"AIR"},{"x":7,"y":17,"type":"DIRT"},{"x":8,"y":17,"type":"DIRT"},{"x":9,"y":17,"type":"DIRT"},{"x":10,"y":17,"type":"DIRT"},{"x":11,"y":17,"type":"AIR"},{"x":12,"y":17,"type":"DIRT"},{"x":13,"y":17,"type":"AIR"},{"x":14,"y":17,"type":"AIR"},{"x":15,"y":17,"type":"DIRT"},{"x":16,"y":17,"type":"DIRT"},{"x":17,"y":17,"type":"DIRT"},{"x":18,"y":17,"type":"AIR","powerup":{"type":"HEALTH_PACK","value":10}},{"x":19,"y":17,"type":"AIR"},{"x":20,"y":17,"type":"DIRT"},{"x":21,"y":17,"type":"AIR"},{"x":22,"y":17,"type":"DIRT"},{"x":23,"y":17,"type":"DIRT"},{"x":24,"y":17,"type":"DIRT"},{"x":25,"y":17,"type":"DIRT"},{"x":26,"y":17,"type":"AIR"},{"x":27,"y":17,"type":"AIR"},{"x":28,"y":17,"type":"DIRT"},{"x":29,"y":17,"type":"DIRT"},{"x":30,"y":17,"type":"AIR"},{"x":31,"y":17,"type":"AIR"},{"x":32,"y":17,"type":"AIR"}],[{"x":0,"y":18,"type":"DIRT"},{"x":1,"y":18,"type":"DIRT"},{"x":2,"y":18,"type":"DIRT"},{"x":3,"y":18,"type":"DIRT"},{"x":4,"y":18,"type":"DIRT"},{"x":5,"y":18,"type":"DIRT"},{"x":6,"y":18,"type":"AIR"},{"x":7,"y":18,"type":"DIRT"},{"x":8,"y":18,"type":"DIRT"},{"x":9,"y":18,"type":"AIR"},{"x":10,"y":18,"type":"AIR"},{"x":11,"y":18,"type":"AIR"},{"x":12,"y":18,"type":"AIR"},{"x":13,"y":18,"type":"AIR"},{"x":14,"y":18,"type":"AIR"},{"x":15,"y":18,"type":"AIR"},{"x":16,"y":18,"type":"DIRT"},{"x":17,"y":18,"type":"AIR"},{"x":18,"y":18,"type":"AIR"},{"x":19,"y":18,"type":"AIR"},{"x":20,"y":18,"type":"AIR"},{"x":21,"y":18,"type":"AIR"},{"x":22,"y":18,"type":"AIR"},{"x":23,"y":18,"type":"AIR"},{"x":24,"y":18,"type":"DIRT"},{"x":25,"y":18,"type":"DIRT"},{"x":26,"y":18,"type":"AIR"},{"x":27,"y":18,"type":"DIRT"},{"x":28,"y":18,"type":"DIRT"},{"x":29,"y":18,"type":"DIRT"},{"x":30,"y":18,"type":"DIRT"},{"x":31,"y":18,"type":"DIRT"},{"x":32,"y":18,"type":"DIRT"}],[{"x":0,"y":19,"type":"AIR"},{"x":1,"y":19,"type":"DIRT"},{"x":2,"y":19,"type":"DIRT"},{"x":3,"y":19,"type":"DIRT"},{"x":4,"y":19,"type":"DIRT"},{"x":5,"y":19,"type":"AIR"},{"x":6,"y":19,"type":"AIR"},{"x":7,"y":19,"type":"DIRT"},{"x":8,"y":19,"type":"DIRT"},{"x":9,"y":19,"type":"DIRT"},{"x":10,"y":19,"type":"AIR"},{"x":11,"y":19,"type":"AIR"},{"x":12,"y":19,"type":"AIR"},{"x":13,"y":19,"type":"AIR"},{"x":14,"y":19,"type":"AIR"},{"x":15,"y":19,"type":"DIRT"},{"x":16,"y":19,"type":"DIRT"},{"x":17,"y":19,"type":"DIRT"},{"x":18,"y":19,"type":"AIR"},{"x":19,"y":19,"type":"AIR"},{"x":20,"y":19,"type":"AIR"},{"x":21,"y":19,"type":"AIR"},{"x":22,"y":19,"type":"AIR"},{"x":23,"y":19,"type":"DIRT"},{"x":24,"y":19,"type":"DIRT"},{"x":25,"y":19,"type":"DIRT"},{"x":26,"y":19,"type":"AIR"},{"x":27,"y":19,"type":"AIR"},{"x":28,"y":19,"type":"DIRT"},{"x":29,"y":19,"type":"DIRT"},{"x":30,"y":19,"type":"DIRT"},{"x":31,"y":19,"type":"DIRT"},{"x":32,"y":19,"type":"AIR"}],[{"x":0,"y":20,"type":"DIRT"},{"x":1,"y":20,"type":"DIRT"},{"x":2,"y":20,"type":"DIRT"},{"x":3,"y":20,"type":"DIRT"},{"x":4,"y":20,"type":"AIR"},{"x":5,"y":20,"type":"AIR"},{"x":6,"y":20,"type":"DIRT"},{"x":7,"y":20,"type":"DIRT"},{"x":8,"y":20,"type":"DIRT"},{"x":9,"y":20,"type":"DIRT"},{"x":10,"y":20,"type":"DIRT"},{"x":11,"y":20,"type":"DIRT"},{"x":12,"y":20,"type":"AIR"},{"x":13,"y":20,"type":"AIR"},{"x":14,"y":20,"type":"DIRT"},{"x":15,"y":20,"type":"DIRT"},{"x":16,"y":20,"type":"DIRT"},{"x":17,"y":20,"type":"DIRT"},{"x":18,"y":20,"type":"DIRT"},{"x":19,"y":20,"type":"AIR"},{"x":20,"y":20,"type":"AIR"},{"x":21,"y":20,"type":"DIRT"},{"x":22,"y":20,"type":"DIRT"},{"x":23,"y":20,"type":"DIRT"},{"x":24,"y":20,"type":"DIRT"},{"x":25,"y":20,"type":"DIRT"},{"x":26,"y":20,"type":"DIRT"},{"x":27,"y":20,"type":"AIR"},{"x":28,"y":20,"type":"AIR"},{"x":29,"y":20,"type":"DIRT"},{"x":30,"y":20,"type":"DIRT"},{"x":31,"y":20,"type":"DIRT"},{"x":32,"y":20,"type":"DIRT"}],[{"x":0,"y":21,"type":"DIRT"},{"x":1,"y":21,"type":"DIRT"},{"x":2,"y":21,"type":"AIR"},{"x":3,"y":21,"type":"AIR"},{"x":4,"y":21,"type":"AIR"},{"x":5,"y":21,"type":"AIR"},{"x":6,"y":21,"type":"DIRT"},{"x":7,"y":21,"type":"DIRT"},{"x":8,"y":21,"type":"DIRT"},{"x":9,"y":21,"type":"DIRT"},{"x":10,"y":21,"type":"DIRT"},{"x":11,"y":21,"type":"DIRT"},{"x":12,"y":21,"type":"AIR"},{"x":13,"y":21,"type":"DIRT"},{"x":14,"y":21,"type":"DIRT"},{"x":15,"y":21,"type":"DIRT"},{"x":16,"y":21,"type":"DIRT"},{"x":17,"y":21,"type":"DIRT"},{"x":18,"y":21,"type":"DIRT"},{"x":19,"y":21,"type":"DIRT"},{"x":20,"y":21,"type":"AIR"},{"x":21,"y":21,"type":"DIRT"},{"x":22,"y":21,"type":"DIRT"},{"x":23,"y":21,"type":"DIRT"},{"x":24,"y":21,"type":"DIRT"},{"x":25,"y":21,"type":"DIRT"},{"x":26,"y":21,"type":"DIRT"},{"x":27,"y":21,"type":"AIR"},{"x":28,"y":21,"type":"AIR"},{"x":29,"y":21,"type":"AIR"},{"x":30,"y":21,"type":"AIR"},{"x":31,"y":21,"type":"DIRT"},{"x":32,"y":21,"type":"DIRT"}],[{"x":0,"y":22,"type":"DEEP_SPACE"},{"x":1,"y":22,"type":"AIR"},{"x":2,"y":22,"type":"AIR"},{"x":3,"y":22,"type":"AIR"},{"x":4,"y":22,"type":"AIR"},{"x":5,"y":22,"type":"DIRT"},{"x":6,"y":22,"type":"DIRT"},{"x":7,"y":22,"type":"DIRT"},{"x":8,"y":22,"type":"DIRT"},{"x":9,"y":22,"type":"DIRT"},{"x":10,"y":22,"type":"DIRT"},{"x":11,"y":22,"type":"DIRT"},{"x":12,"y":22,"type":"AIR"},{"x":13,"y":22,"type":"DIRT"},{"x":14,"y":22,"type":"DIRT"},{"x":15,"y":22,"type":"AIR"},{"x":16,"y":22,"type":"AIR"},{"x":17,"y":22,"type":"AIR"},{"x":18,"y":22,"type":"DIRT"},{"x":19,"y":22,"type":"DIRT"},{"x":20,"y":22,"type":"AIR"},{"x":21,"y":22,"type":"DIRT"},{"x":22,"y":22,"type":"DIRT"},{"x":23,"y":22,"type":"DIRT"},{"x":24,"y":22,"type":"DIRT"},{"x":25,"y":22,"type":"DIRT"},{"x":26,"y":22,"type":"DIRT"},{"x":27,"y":22,"type":"DIRT"},{"x":28,"y":22,"type":"AIR"},{"x":29,"y":22,"type":"AIR"},{"x":30,"y":22,"type":"AIR"},{"x":31,"y":22,"type":"AIR"},{"x":32,"y":22,"type":"DEEP_SPACE"}],[{"x":0,"y":23,"type":"DEEP_SPACE"},{"x":1,"y":23,"type":"DIRT"},{"x":2,"y":23,"type":"DIRT"},{"x":3,"y":23,"type":"DIRT"},{"x":4,"y":23,"type":"DIRT"},{"x":5,"y":23,"type":"DIRT"},{"x":6,"y":23,"type":"DIRT"},{"x":7,"y":23,"type":"AIR"},{"x":8,"y":23,"type":"DIRT"},{"x":9,"y":23,"type":"DIRT"},{"x":10,"y":23,"type":"DIRT"},{"x":11,"y":23,"type":"DIRT"},{"x":12,"y":23,"type":"AIR"},{"x":13,"y":23,"type":"DIRT"},{"x":14,"y":23,"type":"DIRT"},{"x":15,"y":23,"type":"AIR"},{"x":16,"y":23,"type":"AIR"},{"x":17,"y":23,"type":"AIR"},{"x":18,"y":23,"type":"DIRT"},{"x":19,"y":23,"type":"DIRT"},{"x":20,"y":23,"type":"AIR"},{"x":21,"y":23,"type":"DIRT"},{"x":22,"y":23,"type":"DIRT"},{"x":23,"y":23,"type":"DIRT"},{"x":24,"y":23,"type":"DIRT"},{"x":25,"y":23,"type":"AIR"},{"x":26,"y":23,"type":"DIRT"},{"x":27,"y":23,"type":"DIRT"},{"x":28,"y":23,"type":"DIRT"},{"x":29,"y":23,"type":"DIRT"},{"x":30,"y":23,"type":"DIRT"},{"x":31,"y":23,"type":"DIRT"},{"x":32,"y":23,"type":"DEEP_SPACE"}],[{"x":0,"y":24,"type":"DEEP_SPACE"},{"x":1,"y":24,"type":"DIRT"},{"x":2,"y":24,"type":"DIRT"},{"x":3,"y":24,"type":"DIRT"},{"x":4,"y":24,"type":"AIR"},{"x":5,"y":24,"type":"AIR"},{"x":6,"y":24,"type":"AIR"},{"x":7,"y":24,"type":"AIR"},{"x":8,"y":24,"type":"DIRT"},{"x":9,"y":24,"type":"AIR"},{"x":10,"y":24,"type":"AIR"},{"x":11,"y":24,"type":"AIR"},{"x":12,"y":24,"type":"AIR"},{"x":13,"y":24,"type":"AIR"},{"x":14,"y":24,"type":"DIRT"},{"x":15,"y":24,"type":"DIRT"},{"x":16,"y":24,"type":"DIRT"},{"x":17,"y":24,"type":"DIRT"},{"x":18,"y":24,"type":"DIRT"},{"x":19,"y":24,"type":"AIR"},{"x":20,"y":24,"type":"AIR"},{"x":21,"y":24,"type":"AIR"},{"x":22,"y":24,"type":"AIR"},{"x":23,"y":24,"type":"AIR"},{"x":24,"y":24,"type":"DIRT"},{"x":25,"y":24,"type":"AIR"},{"x":26,"y":24,"type":"AIR"},{"x":27,"y":24,"type":"AIR"},{"x":28,"y":24,"type":"AIR"},{"x":29,"y":24,"type":"DIRT"},{"x":30,"y":24,"type":"DIRT"},{"x":31,"y":24,"type":"DIRT"},{"x":32,"y":24,"type":"DEEP_SPACE"}],[{"x":0,"y":25,"type":"DEEP_SPACE"},{"x":1,"y":25,"type":"DEEP_SPACE"},{"x":2,"y":25,"type":"AIR"},{"x":3,"y":25,"type":"AIR"},{"x":4,"y":25,"type":"AIR"},{"x":5,"y":25,"type":"AIR"},{"x":6,"y":25,"type":"DIRT"},{"x":7,"y":25,"type":"DIRT"},{"x":8,"y":25,"type":"DIRT"},{"x":9,"y":25,"type":"AIR"},{"x":10,"y":25,"type":"AIR"},{"x":11,"y":25,"type":"DIRT"},{"x":12,"y":25,"type":"DIRT"},{"x":13,"y":25,"type":"DIRT"},{"x":14,"y":25,"type":"DIRT"},{"x":15,"y":25,"type":"DIRT"},{"x":16,"y":25,"type":"DIRT"},{"x":17,"y":25,"type":"DIRT"},{"x":18,"y":25,"type":"DIRT"},{"x":19,"y":25,"type":"DIRT"},{"x":20,"y":25,"type":"DIRT"},{"x":21,"y":25,"type":"DIRT"},{"x":22,"y":25,"type":"AIR"},{"x":23,"y":25,"type":"AIR"},{"x":24,"y":25,"type":"DIRT"},{"x":25,"y":25,"type":"DIRT"},{"x":26,"y":25,"type":"DIRT"},{"x":27,"y":25,"type":"AIR"},{"x":28,"y":25,"type":"AIR"},{"x":29,"y":25,"type":"AIR"},{"x":30,"y":25,"type":"AIR"},{"x":31,"y":25,"type":"DEEP_SPACE"},{"x":32,"y":25,"type":"DEEP_SPACE"}],[{"x":0,"y":26,"type":"DEEP_SPACE"},{"x":1,"y":26,"type":"DEEP_SPACE"},{"x":2,"y":26,"type":"DEEP_SPACE"},{"x":3,"y":26,"type":"AIR"},{"x":4,"y":26,"type":"AIR"},{"x":5,"y":26,"type":"AIR"},{"x":6,"y":26,"type":"DIRT"},{"x":7,"y":26,"type":"DIRT"},{"x":8,"y":26,"type":"DIRT"},{"x":9,"y":26,"type":"DIRT"},{"x":10,"y":26,"type":"AIR"},{"x":11,"y":26,"type":"AIR"},{"x":12,"y":26,"type":"AIR"},{"x":13,"y":26,"type":"AIR"},{"x":14,"y":26,"type":"AIR"},{"x":15,"y":26,"type":"DIRT"},{"x":16,"y":26,"type":"DIRT"},{"x":17,"y":26,"type":"DIRT"},{"x":18,"y":26,"type":"AIR"},{"x":19,"y":26,"type":"AIR"},{"x":20,"y":26,"type":"AIR"},{"x":21,"y":26,"type":"AIR"},{"x":22,"y":26,"type":"AIR"},{"x":23,"y":26,"type":"DIRT"},{"x":24,"y":26,"type":"DIRT"},{"x":25,"y":26,"type":"DIRT"},{"x":26,"y":26,"type":"DIRT"},{"x":27,"y":26,"type":"AIR"},{"x":28,"y":26,"type":"AIR"},{"x":29,"y":26,"type":"AIR"},{"x":30,"y":26,"type":"DEEP_SPACE"},{"x":31,"y":26,"type":"DEEP_SPACE"},{"x":32,"y":26,"type":"DEEP_SPACE"}],[{"x":0,"y":27,"type":"DEEP_SPACE"},{"x":1,"y":27,"type":"DEEP_SPACE"},{"x":2,"y":27,"type":"DEEP_SPACE"},{"x":3,"y":27,"type":"DEEP_SPACE"},{"x":4,"y":27,"type":"AIR"},{"x":5,"y":27,"type":"DIRT"},{"x":6,"y":27,"type":"AIR"},{"x":7,"y":27,"type":"DIRT"},{"x":8,"y":27,"type":"DIRT"},{"x":9,"y":27,"type":"DIRT"},{"x":10,"y":27,"type":"DIRT"},{"x":11,"y":27,"type":"DIRT"},{"x":12,"y":27,"type":"DIRT"},{"x":13,"y":27,"type":"AIR"},{"x":14,"y":27,"type":"AIR"},{"x":15,"y":27,"type":"DIRT"},{"x":16,"y":27,"type":"AIR"},{"x":17,"y":27,"type":"DIRT"},{"x":18,"y":27,"type":"AIR"},{"x":19,"y":27,"type":"AIR"},{"x":20,"y":27,"type":"DIRT"},{"x":21,"y":27,"type":"DIRT"},{"x":22,"y":27,"type":"DIRT"},{"x":23,"y":27,"type":"DIRT"},{"x":24,"y":27,"type":"DIRT"},{"x":25,"y":27,"type":"DIRT"},{"x":26,"y":27,"type":"DIRT"},{"x":27,"y":27,"type":"DIRT"},{"x":28,"y":27,"type":"AIR"},{"x":29,"y":27,"type":"DEEP_SPACE"},{"x":30,"y":27,"type":"DEEP_SPACE"},{"x":31,"y":27,"type":"DEEP_SPACE"},{"x":32,"y":27,"type":"DEEP_SPACE"}],[{"x":0,"y":28,"type":"DEEP_SPACE"},{"x":1,"y":28,"type":"DEEP_SPACE"},{"x":2,"y":28,"type":"DEEP_SPACE"},{"x":3,"y":28,"type":"DEEP_SPACE"},{"x":4,"y":28,"type":"DIRT"},{"x":5,"y":28,"type":"DIRT"},{"x":6,"y":28,"type":"AIR"},{"x":7,"y":28,"type":"DIRT"},{"x":8,"y":28,"type":"AIR"},{"x":9,"y":28,"type":"AIR"},{"x":10,"y":28,"type":"AIR"},{"x":11,"y":28,"type":"DIRT"},{"x":12,"y":28,"type":"AIR"},{"x":13,"y":28,"type":"AIR"},{"x":14,"y":28,"type":"AIR"},{"x":15,"y":28,"type":"DIRT"},{"x":16,"y":28,"type":"DIRT"},{"x":17,"y":28,"type":"DIRT"},{"x":18,"y":28,"type":"AIR"},{"x":19,"y":28,"type":"AIR"},{"x":20,"y":28,"type":"AIR"},{"x":21,"y":28,"type":"AIR"},{"x":22,"y":28,"type":"DIRT"},{"x":23,"y":28,"type":"AIR"},{"x":24,"y":28,"type":"AIR"},{"x":25,"y":28,"type":"AIR"},{"x":26,"y":28,"type":"DIRT"},{"x":27,"y":28,"type":"DIRT"},{"x":28,"y":28,"type":"DIRT"},{"x":29,"y":28,"type":"DEEP_SPACE"},{"x":30,"y":28,"type":"DEEP_SPACE"},{"x":31,"y":28,"type":"DEEP_SPACE"},{"x":32,"y":28,"type":"DEEP_SPACE"}],[{"x":0,"y":29,"type":"DEEP_SPACE"},{"x":1,"y":29,"type":"DEEP_SPACE"},{"x":2,"y":29,"type":"DEEP_SPACE"},{"x":3,"y":29,"type":"DEEP_SPACE"},{"x":4,"y":29,"type":"DEEP_SPACE"},{"x":5,"y":29,"type":"DEEP_SPACE"},{"x":6,"y":29,"type":"DIRT"},{"x":7,"y":29,"type":"DIRT"},{"x":8,"y":29,"type":"AIR"},{"x":9,"y":29,"type":"AIR","occupier":{"id":2,"playerId":2,"health":150,"position":{"x":9,"y":29},"diggingRange":1,"movementRange":1}},{"x":10,"y":29,"type":"AIR"},{"x":11,"y":29,"type":"DIRT"},{"x":12,"y":29,"type":"DIRT"},{"x":13,"y":29,"type":"DIRT"},{"x":14,"y":29,"type":"DIRT"},{"x":15,"y":29,"type":"DIRT"},{"x":16,"y":29,"type":"DIRT"},{"x":17,"y":29,"type":"DIRT"},{"x":18,"y":29,"type":"DIRT"},{"x":19,"y":29,"type":"DIRT"},{"x":20,"y":29,"type":"DIRT"},{"x":21,"y":29,"type":"AIR"},{"x":22,"y":29,"type":"DIRT"},{"x":23,"y":29,"type":"AIR"},{"x":24,"y":29,"type":"AIR","occupier":{"id":1,"playerId":1,"health":150,"position":{"x":24,"y":29},"weapon":{"damage":8,"range":4},"diggingRange":1,"movementRange":1}},{"x":25,"y":29,"type":"AIR"},{"x":26,"y":29,"type":"DIRT"},{"x":27,"y":29,"type":"DEEP_SPACE"},{"x":28,"y":29,"type":"DEEP_SPACE"},{"x":29,"y":29,"type":"DEEP_SPACE"},{"x":30,"y":29,"type":"DEEP_SPACE"},{"x":31,"y":29,"type":"DEEP_SPACE"},{"x":32,"y":29,"type":"DEEP_SPACE"}],[{"x":0,"y":30,"type":"DEEP_SPACE"},{"x":1,"y":30,"type":"DEEP_SPACE"},{"x":2,"y":30,"type":"DEEP_SPACE"},{"x":3,"y":30,"type":"DEEP_SPACE"},{"x":4,"y":30,"type":"DEEP_SPACE"},{"x":5,"y":30,"type":"DEEP_SPACE"},{"x":6,"y":30,"type":"DEEP_SPACE"},{"x":7,"y":30,"type":"DIRT"},{"x":8,"y":30,"type":"AIR"},{"x":9,"y":30,"type":"AIR"},{"x":10,"y":30,"type":"AIR"},{"x":11,"y":30,"type":"DIRT"},{"x":12,"y":30,"type":"DIRT"},{"x":13,"y":30,"type":"DIRT"},{"x":14,"y":30,"type":"AIR"},{"x":15,"y":30,"type":"AIR"},{"x":16,"y":30,"type":"DIRT"},{"x":17,"y":30,"type":"AIR"},{"x":18,"y":30,"type":"AIR"},{"x":19,"y":30,"type":"DIRT"},{"x":20,"y":30,"type":"DIRT"},{"x":21,"y":30,"type":"DIRT"},{"x":22,"y":30,"type":"DIRT"},{"x":23,"y":30,"type":"AIR"},{"x":24,"y":30,"type":"AIR"},{"x":25,"y":30,"type":"AIR"},{"x":26,"y":30,"type":"DEEP_SPACE"},{"x":27,"y":30,"type":"DEEP_SPACE"},{"x":28,"y":30,"type":"DEEP_SPACE"},{"x":29,"y":30,"type":"DEEP_SPACE"},{"x":30,"y":30,"type":"DEEP_SPACE"},{"x":31,"y":30,"type":"DEEP_SPACE"},{"x":32,"y":30,"type":"DEEP_SPACE"}],[{"x":0,"y":31,"type":"DEEP_SPACE"},{"x":1,"y":31,"type":"DEEP_SPACE"},{"x":2,"y":31,"type":"DEEP_SPACE"},{"x":3,"y":31,"type":"DEEP_SPACE"},{"x":4,"y":31,"type":"DEEP_SPACE"},{"x":5,"y":31,"type":"DEEP_SPACE"},{"x":6,"y":31,"type":"DEEP_SPACE"},{"x":7,"y":31,"type":"DEEP_SPACE"},{"x":8,"y":31,"type":"DIRT"},{"x":9,"y":31,"type":"DIRT"},{"x":10,"y":31,"type":"DIRT"},{"x":11,"y":31,"type":"DIRT"},{"x":12,"y":31,"type":"DIRT"},{"x":13,"y":31,"type":"AIR"},{"x":14,"y":31,"type":"AIR"},{"x":15,"y":31,"type":"AIR"},{"x":16,"y":31,"type":"AIR"},{"x":17,"y":31,"type":"AIR"},{"x":18,"y":31,"type":"AIR"},{"x":19,"y":31,"type":"AIR"},{"x":20,"y":31,"type":"DIRT"},{"x":21,"y":31,"type":"AIR"},{"x":22,"y":31,"type":"DIRT"},{"x":23,"y":31,"type":"DIRT"},{"x":24,"y":31,"type":"DIRT"},{"x":25,"y":31,"type":"DEEP_SPACE"},{"x":26,"y":31,"type":"DEEP_SPACE"},{"x":27,"y":31,"type":"DEEP_SPACE"},{"x":28,"y":31,"type":"DEEP_SPACE"},{"x":29,"y":31,"type":"DEEP_SPACE"},{"x":30,"y":31,"type":"DEEP_SPACE"},{"x":31,"y":31,"type":"DEEP_SPACE"},{"x":32,"y":31,"type":"DEEP_SPACE"}],[{"x":0,"y":32,"type":"DEEP_SPACE"},{"x":1,"y":32,"type":"DEEP_SPACE"},{"x":2,"y":32,"type":"DEEP_SPACE"},{"x":3,"y":32,"type":"DEEP_SPACE"},{"x":4,"y":32,"type":"DEEP_SPACE"},{"x":5,"y":32,"type":"DEEP_SPACE"},{"x":6,"y":32,"type":"DEEP_SPACE"},{"x":7,"y":32,"type":"DEEP_SPACE"},{"x":8,"y":32,"type":"DEEP_SPACE"},{"x":9,"y":32,"type":"DEEP_SPACE"},{"x":10,"y":32,"type":"DEEP_SPACE"},{"x":11,"y":32,"type":"AIR"},{"x":12,"y":32,"type":"AIR"},{"x":13,"y":32,"type":"DIRT"},{"x":14,"y":32,"type":"DIRT"},{"x":15,"y":32,"type":"AIR"},{"x":16,"y":32,"type":"DIRT"},{"x":17,"y":32,"type":"AIR"},{"x":18,"y":32,"type":"DIRT"},{"x":19,"y":32,"type":"DIRT"},{"x":20,"y":32,"type":"AIR"},{"x":21,"y":32,"type":"AIR"},{"x":22,"y":32,"type":"DEEP_SPACE"},{"x":23,"y":32,"type":"DEEP_SPACE"},{"x":24,"y":32,"type":"DEEP_SPACE"},{"x":25,"y":32,"type":"DEEP_SPACE"},{"x":26,"y":32,"type":"DEEP_SPACE"},{"x":27,"y":32,"type":"DEEP_SPACE"},{"x":28,"y":32,"type":"DEEP_SPACE"},{"x":29,"y":32,"type":"DEEP_SPACE"},{"x":30,"y":32,"type":"DEEP_SPACE"},{"x":31,"y":32,"type":"DEEP_SPACE"},{"x":32,"y":32,"type":"DEEP_SPACE"}]]} \ No newline at end of file