summaryrefslogtreecommitdiffstats
path: root/src/player.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.rs')
-rw-r--r--src/player.rs90
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(());
}
}