Implement Movement Cost (#7)

Reviewed-on: #7
Co-authored-by: Dominic <git@msrd0.de>
Co-committed-by: Dominic <git@msrd0.de>
This commit is contained in:
Dominic 2024-07-07 08:30:57 +00:00 committed by msrd0.dev - Forgejo
parent 39631fb4ac
commit 642aed6023
Signed by: msrd0.dev - Forgejo
GPG key ID: E2F16281CAA26E5F

View file

@ -116,22 +116,50 @@ impl Tile {
} }
pub fn can_stand_inside(&self) -> bool { pub fn can_stand_inside(&self) -> bool {
unimplemented!() #[allow(clippy::match_like_matches_macro)] // I believe this is better readable
match self {
Self::House { door: false, .. } => false,
_ => true
}
} }
pub fn movement_cost_left(&self) -> MovementCost { pub fn movement_cost_left(&self) -> MovementCost {
unimplemented!() match self {
Self::Grass => MovementCost::Default,
Self::Path { left: true, .. } => MovementCost::Path,
Self::Fence { left: false, .. } => MovementCost::Obstacle,
_ => MovementCost::Infinite
}
} }
pub fn movement_cost_right(&self) -> MovementCost { pub fn movement_cost_right(&self) -> MovementCost {
unimplemented!() match self {
Self::Grass => MovementCost::Default,
Self::Path { right: true, .. } => MovementCost::Path,
Self::Fence { right: false, .. } => MovementCost::Obstacle,
_ => MovementCost::Infinite
}
} }
pub fn movement_cost_up(&self) -> MovementCost { pub fn movement_cost_up(&self) -> MovementCost {
unimplemented!() match self {
Self::Grass => MovementCost::Default,
Self::Path { top: true, .. } => MovementCost::Path,
Self::Fence { top: false, .. } => MovementCost::Obstacle,
_ => MovementCost::Infinite
}
} }
pub fn movement_cost_down(&self) -> MovementCost { pub fn movement_cost_down(&self) -> MovementCost {
unimplemented!() match self {
Self::Grass => MovementCost::Default,
Self::Path { bottom: true, .. } => MovementCost::Path,
Self::Fence { bottom: false, .. } => MovementCost::Obstacle,
_ => MovementCost::Infinite
}
} }
pub fn can_enter_house(&self) -> bool { pub fn can_enter_house(&self) -> bool {
unimplemented!() #[allow(clippy::match_like_matches_macro)] // I believe this is better readable
match self {
Self::House { door: true, .. } => true,
_ => false
}
} }
} }