#snake #game #api

snake-rs

A library to handle the logic for the classic game snake

3 releases

0.1.2 Mar 28, 2021
0.1.1 Sep 2, 2020
0.1.0 Sep 2, 2020

#2102 in Game dev

Custom license

69KB
413 lines

Documentation Crates

snake

A library to handle the logic for the classic game snake.

game

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