diff options
| -rw-r--r-- | src/player.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/player.rs b/src/player.rs index 97c98f6..efd396e 100644 --- a/src/player.rs +++ b/src/player.rs @@ -2,6 +2,7 @@ extern crate sdl2; extern crate std; use super::state; +use super::constants; pub struct Player { pub x: i32, @@ -76,6 +77,20 @@ impl Player { } else { self.y_d = 0; } + /* Don't go off the side */ + if self.x_d < 0 && self.x <= 0 { + self.x_d = 0; + } + else if self.x >= constants::X_DIM as i32 && self.x_d > 0 { + self.x_d = 0; + } + if self.y <= 0 && self.y_d < 0 { + self.y_d = 0; + } + else if self.y >= constants::Y_DIM as i32 && self.y_d > 0 { + self.y_d = 0; + } + self.x += self.x_d; self.y += self.y_d; } |
