# Go Tetris Golang Tetris for console window with optional AI ## Features include - AI (use i key to toggle) - Lock delay - Next piece - Ghost piece - Top scores - Board choices - Edit boards ## Compile ``` go get github.com/MichaelS11/go-tetris go install github.com/MichaelS11/go-tetris ``` ## Play Then run the binary created, go-tetris or go-tetris.exe ## Keys start screen | Key | Action | | --- | --- | | ← | previous board | | → | next board | | spacebar | start game | | ctrl e | edit board | | q | quit | ## Keys during game | Key | Action | | --- | --- | | ← | left move | | → | right move | | ↓ | soft drop | | ↑ | hard drop | | spacebar | hard drop | | z | left rotate | | x | right rotate | | p | pause | | q | quit | | i | toggle AI | ## Keys edit mode | Key | Action | | --- | --- | | ← | move cursor left | | → | move cursor right | | ↓ | move cursor down | | ↑ | move cursor up | | z | rotate left | | x | rotate right | | c | cyan block - I | | b | blue block - J | | w | white block - L | | e | yellow block - O | | g | green block - S | | a | magenta block - T | | r | red block - Z | | f | free block | | ctrl b | change board size | | ctrl s | save board | | ctrl n | save board as new | | ctrl k | delete board | | ctrl o | empty board | | ctrl q | quit edit mode | ## Screenshots ![alt text](https://raw.githubusercontent.com/MichaelS11/tetris/master/screenshots/tetris.png "Go Tetris") ![alt text](https://raw.githubusercontent.com/MichaelS11/tetris/master/screenshots/heart.png "Golang Tetris Heart") ![alt text](https://raw.githubusercontent.com/MichaelS11/tetris/master/screenshots/editmode.png "Edit Mode Peace Symbol") ![alt text](https://raw.githubusercontent.com/MichaelS11/tetris/master/screenshots/highscores.png "Tetris High Scores") ## To do * Improve AI speed (slow on large boards)