diff options
Diffstat (limited to 'src/player.rs')
| -rw-r--r-- | src/player.rs | 90 |
1 files changed, 66 insertions, 24 deletions
diff --git a/src/player.rs b/src/player.rs index 7fdb7b6..06ca0e1 100644 --- a/src/player.rs +++ b/src/player.rs @@ -1,8 +1,5 @@ -extern crate sdl2; -extern crate std; - -use super::state; use super::constants; +use super::state; pub struct Player { pub x: i32, @@ -19,52 +16,99 @@ pub struct Player { impl Player { pub fn new() -> Player { - Player { x: 400, y: 500, x_d: 0, y_d: 0, down_p: false, left_p: false, right_p: false, up_p: false, fire_rate: 15, shift_p: false } + Player { + x: 400, + y: 500, + x_d: 0, + y_d: 0, + down_p: false, + left_p: false, + right_p: false, + up_p: false, + fire_rate: 15, + shift_p: false, + } } pub fn act(&mut self, events: &mut sdl2::event::EventPollIterator) -> Result<(), ()> { for event in events { match event { - sdl2::event::Event::Quit {..} => { + sdl2::event::Event::Quit { .. } => { return Err(()); } - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::Down), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::Down), + .. + } => { self.down_p = true; self.y_d = -1; } - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::Down), .. } => { + sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::Down), + .. + } => { self.down_p = false; } - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::Up), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::Up), + .. + } => { self.up_p = true; self.y_d = 1; } - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::Up), .. } => { + sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::Up), + .. + } => { self.up_p = false; } - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::Left), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::Left), + .. + } => { self.left_p = true; self.x_d = -1; } - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::Left), .. } => { + sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::Left), + .. + } => { self.left_p = false; } - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::Right), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::Right), + .. + } => { self.right_p = true; self.x_d = 1; } - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::Right), .. } => { + sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::Right), + .. + } => { self.right_p = false; } - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::LShift), .. } | - sdl2::event::Event::KeyDown { keycode: Some(sdl2::keyboard::Keycode::RShift), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::LShift), + .. + } + | sdl2::event::Event::KeyDown { + keycode: Some(sdl2::keyboard::Keycode::RShift), + .. + } => { self.shift_p = true; } - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::LShift), .. } | - sdl2::event::Event::KeyUp { keycode: Some(sdl2::keyboard::Keycode::RShift), .. } => { + sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::LShift), + .. + } + | sdl2::event::Event::KeyUp { + keycode: Some(sdl2::keyboard::Keycode::RShift), + .. + } => { self.shift_p = false; } - _ => { }, + _ => {} } } if self.left_p { @@ -88,20 +132,18 @@ impl Player { /* 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 { + } 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 { + } else if self.y >= constants::Y_DIM as i32 && self.y_d > 0 { self.y_d = 0; } self.x += if self.shift_p { self.x_d } else { self.x_d * 3 }; self.y += if self.shift_p { self.y_d } else { self.y_d * 3 }; - return Ok(()) + return Ok(()); } } |
