# Pixel Invaders ๐Ÿ‘พ ![Pixel Invaders](../../img/invaders.png) The pixels have invaded! ## Running ```bash cargo run --release --package invaders ``` ## Keyboard Controls ๐Ÿกฐ ๐Ÿกฒ: Move tank Space: Fire cannon Pause P: Pause R: Reset Game escape: Quit ## GamePad Controls `D-Pad ๐Ÿกฐ` `D-Pad ๐Ÿกฒ`: Move tank `XBox ๐Ÿ…` `PS ๐Ÿ…ง` `Switch ๐Ÿ…‘`: Fire cannon `XBox/PS โ‰ก` `Switch โŠ•๏ธ€`: Pause ## Goal Shoot all of the invaders before they reach Earth and begin a hostile takeover. Be careful, because the entire fleet is coordinated and acts as a hive mind. Their aggression increases as their numbers dwindle. ## Architecture Pixel Invaders uses the `simple-invaders` crate for all game logic and drawing. Be sure to check out that crate if you are interested in any of the inner workings of the game. This example is simply glue code that uses `winit` for windowing/event handling and keyboard input. The `winit` event loop is used to drive the `simple-invaders` state and rasterize each frame. Finally, `pixels` takes the rasterized frame buffer and sends it to the screen, optionally through a series of render passes.