summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dungeon/src/lib.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/dungeon/src/lib.rs b/dungeon/src/lib.rs
index 399807c..adc053e 100644
--- a/dungeon/src/lib.rs
+++ b/dungeon/src/lib.rs
@@ -89,7 +89,13 @@ impl Dungeon {
(None, Some(dir)) => {
// set direction & find out next position
self.player.entity.dir = dir;
- self.player.moving_to = self.player.entity.pos.step(dir);
+ if let Some(pos) = self.player.entity.pos.step(dir)
+ && self.floor.get(pos).is_walkable()
+ {
+ self.player.moving_to = Some(pos);
+ } else {
+ break;
+ }
}
(None, None) => break,
}