diff --git a/src/keyboard.rs b/src/keyboard.rs index 25dd8b7..3fc3347 100644 --- a/src/keyboard.rs +++ b/src/keyboard.rs @@ -21,7 +21,7 @@ impl KeyboardHandler { pub fn process(&mut self, event: &Event) { match *event { Event::KeyDown {keycode, repeat, ..} => { - if repeat == false { + if !repeat { self.key_down(keycode.unwrap()); } }, diff --git a/src/main.rs b/src/main.rs index 9867892..00182fa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -58,12 +58,12 @@ fn main() { let window = video_subsystem.window("Super Matte Bros", SCREEN_WIDTH, SCREEN_HEIGHT).position_centered().build().unwrap(); let mut renderer = window.renderer().software().build().unwrap(); - let world_sprites = renderer.load_texture(&Path::new("gfx/world.png")).unwrap(); + let world_sprites = renderer.load_texture(Path::new("gfx/world.png")).unwrap(); let floor_sprite = StaticSprite::new(&world_sprites, 16 * 0, 16 * 0); let brick_sprite = StaticSprite::new(&world_sprites, 16 * 1, 16 * 0); - let player_sprites = renderer.load_texture(&Path::new("gfx/mario.png")).unwrap(); + let player_sprites = renderer.load_texture(Path::new("gfx/mario.png")).unwrap(); let timer = Timer::new(); @@ -206,25 +206,21 @@ fn main() { player.dx = a * -PLAYER_SPEED_X + (1.0 - a) * player.dx; } else if player.on_ground { - player.dx = (1.0 - PLAYER_ACCELERATION_X_STOP) * player.dx; + player.dx *= 1.0 - PLAYER_ACCELERATION_X_STOP; if player.dx.abs() <= PLAYER_THRESHOLD_X { player.dx = 0.0; } } - if player.on_ground { - if keyboard.was_pressed(Keycode::Up) { - player.dy = -8.0; + if player.on_ground && keyboard.was_pressed(Keycode::Up) { + player.dy = -8.0; - player.on_ground = false; - } + player.on_ground = false; } - if keyboard.was_released(Keycode::Up) { - if player.dy < -4.0 { - player.dy = -4.0; - } + if keyboard.was_released(Keycode::Up) && player.dy < -4.0 { + player.dy = -4.0; } while lag >= MS_PER_UPDATE { @@ -406,12 +402,7 @@ fn main() { let object = camera.to_relative_rect(position); match *tile { - Tile::Background(src) => { - renderer.copy(&world_sprites, Some(src), Some(object)); - }, - Tile::Floor(src) => { - renderer.copy(&world_sprites, Some(src), Some(object)); - }, + Tile::Background(src) | Tile::Floor(src) => renderer.copy(&world_sprites, Some(src), Some(object)), Tile::Static(ref sprite, _) => sprite.render(lag / MS_PER_UPDATE, &mut renderer, &object), _ => () } diff --git a/src/player_components.rs b/src/player_components.rs index aeb28f3..6bd715e 100644 --- a/src/player_components.rs +++ b/src/player_components.rs @@ -39,9 +39,9 @@ impl<'a> PlayerGraphicsComponent<'a> { pub fn new(texture: &'a Texture) -> PlayerGraphicsComponent<'a> { PlayerGraphicsComponent { flip_horizontal: Cell::new(false), - sprite_standing: RefCell::new(StaticSprite::new(&texture, 80, 32)), - sprite_running: RefCell::new(AnimatedSprite::new(&texture, 96, 32, 3, 10.0)), - sprite_jumping: RefCell::new(StaticSprite::new(&texture, 160, 32)) + sprite_standing: RefCell::new(StaticSprite::new(texture, 80, 32)), + sprite_running: RefCell::new(AnimatedSprite::new(texture, 96, 32, 3, 10.0)), + sprite_jumping: RefCell::new(StaticSprite::new(texture, 160, 32)) } } }