...but written as a TUI program in rust.
This program uses termion for generating escape codes for the graphics. The only other dependency is rand for randomizing the position of the food piece.
The implementation is multithreaded:
- One thread for getting the inputs (waiting for input is blocking)...
- ...another thread for the ticks (thread::sleep is also quite blocking)...
- ...and lastly a main thread responsible for recieving input from both threads.
Communication between the threads is done by using mpsc channels, which I'd never heard of before starting this project, but they proved to be incredibly useful.
cargo install tui-snake
tui-snake
Currently the program doesn't support any command line options / flags, and the entire terminal is used as a playing field. This might come to change with later versions.
To exit the program while running,
press Esc
or Ctrl+c
.