diff options
Diffstat (limited to 'dungeon/src/lib.rs')
| -rw-r--r-- | dungeon/src/lib.rs | 8 |
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, } |