diff options
-rw-r--r-- | src/game.rs | 126 | ||||
-rw-r--r-- | src/game/map.rs | 64 | ||||
-rw-r--r-- | src/game/player.rs | 49 | ||||
-rw-r--r-- | src/game/powerup.rs | 7 | ||||
-rw-r--r-- | tests/example-state.json | 1 |
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 |