Thank you to L-Gad for the Tetrimino board, mino and tetrimino sprites
This is a personal project that aimed to recreate Tetris in Go. I used the Ebitengine API for simple 2D graphics and rendering. All code is original.
The aim of the project practice and refresh myself on OO principles mainly on classes and interfaces. I did not find a suitable use for Go's concurrency.
- Download onto PC
- Install Go version 1.22.4
- Change into the repo directory and run the game using
go run main.go
- Left/Right arrow keys to move
- Hold arrow keys for Delay Auto Shift
- Up/X key to Rotate clockwise
- Z key to Rotate counter-clockwise
- Shift/C to Hold
- R to reset the board
- Holding and Tetrimino queue using the 7-bag randomiser system
- Lock Delay to allow for spins and slides
- Delay Auto Shift (DAS) for left and right movement
- Kicks and Spins using the Super Rotation System guidelines
- Sound effects from Tetr.io
- Menu and settings for hotkey reassignment
- Text labels for Queue and Hold areas
- General UI improvements with graphics
- Preset levels/Gamemodes for 40 line sprint