use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum Tile {
Wall,
Floor,
Block,
Spawn,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Direction {
North,
South,
East,
West,
}
impl Direction {
pub fn apply(&self, x: i32, y: i32) -> (i32, i32) {
match self {
Direction::North => (x, y - 1),
Direction::South => (x, y + 1),
Direction::East => (x + 1, y),
Direction::West => (x - 1, y),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum PowerUp {
BombUp,
FireUp,
}