go-tetris/README.md

89 lines
1.8 KiB
Markdown

# 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)