1 Commits

Author SHA1 Message Date
210d590e38 prevent player from leaving the field 2024-01-03 09:12:00 +01:00

View File

@@ -164,6 +164,7 @@ impl Level {
let new_x: usize = (agent_pos.get_x() as i16 + dx) as usize; let new_x: usize = (agent_pos.get_x() as i16 + dx) as usize;
let new_y: usize = (agent_pos.get_y() as i16 + dy) as usize; let new_y: usize = (agent_pos.get_y() as i16 + dy) as usize;
// verify we cannot leave the playing field
if new_x >= LEVEL_WIDTH || new_y >= LEVEL_HEIGHT { if new_x >= LEVEL_WIDTH || new_y >= LEVEL_HEIGHT {
return false; return false;
} }
@@ -178,6 +179,12 @@ impl Level {
let agent_pos = agent.get_immutable_position(); let agent_pos = agent.get_immutable_position();
let new_x: usize = (agent_pos.get_x() as i16 + dx) as usize; let new_x: usize = (agent_pos.get_x() as i16 + dx) as usize;
let new_y: usize = (agent_pos.get_y() as i16 + dy) as usize; let new_y: usize = (agent_pos.get_y() as i16 + dy) as usize;
// verify we cannot leave the playing field
if new_x >= LEVEL_WIDTH || new_y >= LEVEL_HEIGHT {
return false;
}
self.structure[new_x][new_y] != StructureElement::Wall self.structure[new_x][new_y] != StructureElement::Wall
} }
#[cfg(test)] #[cfg(test)]