Browse Source

clean up keybindings section

Getty Ritter 4 years ago
parent
commit
8905eae608
1 changed files with 9 additions and 15 deletions
  1. 9 15
      ch4/src/main.rs

+ 9 - 15
ch4/src/main.rs

@@ -178,21 +178,15 @@ fn main() -> Result<(), GameError> {
         })
         .build();
 
-    game.on_key((carpet::VirtualKeyCode::W, carpet::KeyMods::NONE), |world| {
-        Motion::move_player(world, -1, 0);
-    });
-
-    game.on_key((carpet::VirtualKeyCode::A, carpet::KeyMods::NONE), |world| {
-        Motion::move_player(world, 0, -1);
-    });
-
-    game.on_key((carpet::VirtualKeyCode::S, carpet::KeyMods::NONE), |world| {
-        Motion::move_player(world, 1, 0);
-    });
-
-    game.on_key((carpet::VirtualKeyCode::D, carpet::KeyMods::NONE), |world| {
-        Motion::move_player(world, 0, 1);
-    });
+    {
+        // set up all the keybindings
+        use carpet::VirtualKeyCode::*;
+        let none = carpet::KeyMods::NONE;
+        game.on_key((W, none), |world| Motion::move_player(world, -1,  0));
+        game.on_key((A, none), |world| Motion::move_player(world,  0, -1));
+        game.on_key((S, none), |world| Motion::move_player(world,  1,  0));
+        game.on_key((D, none), |world| Motion::move_player(world,  0,  1));
+    }
 
     game.run_with_systems(|world| {
         Draw.run_now(&world);