3 releases
0.1.2 | Mar 28, 2021 |
---|---|
0.1.1 | Sep 2, 2020 |
0.1.0 | Sep 2, 2020 |
#2102 in Game dev
69KB
413 lines
snake
A library to handle the logic for the classic game snake.
Usage
[dependencies]
snake-rs = "0.1.1"
Initialize with new
and use turn
to progress a game step. An example is in game.rs.
Game without display
use snake::{Snake, Direction};
let mut game = Snake::new(0, 10);
game.turn(Direction::Down);
You can use the display
feature flag to have a window displaying the game. This requires
csfml to be installed.
Game with display
use snake::{Direction, RenderWindow, Snake, Style};
let window = RenderWindow::new((1000, 1000), "Snake", Style::CLOSE, &Default::default());
let mut game = Snake::new_display(0, 15, Some(window));
Installing CSFML
Arch:
sudo pacman -Syu csfml
Ubuntu:
sudo apt-get install libcsfml
git clone https://github.com/jspspike/snake
cd snake
cargo run --example game --features display
Dependencies
~2.3–7.5MB
~63K SLoC