Merge pull request #38 from ndarilek/master

Guard against overflows.
This commit is contained in:
Krzysztof Langner 2021-08-26 17:08:49 +02:00 committed by GitHub
commit 289e693092
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -111,15 +111,15 @@ impl Map {
let mut exits = Vec::new();
// Cardinal directions
if self.is_exit_valid(x-1, y) { exits.push((x-1, y, 1.0)) };
if x > 0 && self.is_exit_valid(x-1, y) { exits.push((x-1, y, 1.0)) };
if self.is_exit_valid(x+1, y) { exits.push((x+1, y, 1.0)) };
if self.is_exit_valid(x, y-1) { exits.push((x, y-1, 1.0)) };
if y > 0 && self.is_exit_valid(x, y-1) { exits.push((x, y-1, 1.0)) };
if self.is_exit_valid(x, y+1) { exits.push((x, y+1, 1.0)) };
// Diagonals
if self.is_exit_valid(x-1, y-1) { exits.push((x-1, y-1, 1.45)); }
if self.is_exit_valid(x+1, y-1) { exits.push((x+1, y-1, 1.45)); }
if self.is_exit_valid(x-1, y+1) { exits.push((x-1, y+1, 1.45)); }
if x > 0 && y > 0 && self.is_exit_valid(x-1, y-1) { exits.push((x-1, y-1, 1.45)); }
if y > 0 && self.is_exit_valid(x+1, y-1) { exits.push((x+1, y-1, 1.45)); }
if x > 0 && self.is_exit_valid(x-1, y+1) { exits.push((x-1, y+1, 1.45)); }
if self.is_exit_valid(x+1, y+1) { exits.push((x+1, y+1, 1.45)); }
exits