diff --git a/src/lib.rs b/src/lib.rs index da7e71a..18bd36e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -213,6 +213,10 @@ impl State { Cell::Box | Cell::Goal(true) => { let bpos = dpos + pos; + if ((bpos.1 * self.lvl.size.0) + bpos.0) as usize >= self.lvl.map.len() { + return Err(Error::BadMove(bpos)); + } + match self.lvl[bpos] { Cell::None => { self.toggle_box(dpos);