A minimal terminal Tetris written in Zig. Tested with Zig 0.13.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 themibu
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 ofDisplay
(by printing two chars for each pixel)Player
holds theTetronimo
shapes and movement logicDebris
holds the list of fallen blocks for hitchecking and completed line detection
MIT