ringtailsoftware/zigtris
A minimal terminal Tetris written in Zig
A minimal terminal Tetris written in Zig. Tested with Zig 0.14.0
zig build run
Cursor keys to move, space to drop, q
to quit.
docker run --rm -it -v `pwd`:/app -w /app kassany/alpine-ziglang:0.13.0 zig build run
./run-as-service.sh
ssh zigtris@localhost -p 2022
Some notes for anyone looking at the code:
Display
is a thin wrapper on top of the mibu
terminal library, it provides a double buffered one pixel per character interface where it only redraws changed pixels on the buffer flipStage
is the game stage and provides a square pixel interface on top of Display
(by printing two chars for each pixel)Player
holds the Tetronimo
shapes and movement logicDebris
holds the list of fallen blocks for hitchecking and completed line detectionMIT