Skip to content

samtay/tetris

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
April 17, 2021 22:30
June 18, 2017 21:33
src
November 28, 2022 16:50
November 28, 2022 16:50
November 28, 2022 16:50
November 28, 2022 16:50

tetris Build Status

A terminal interface for Tetris

terminal-gif

installation

Installation on MacOS and Linux is outlined below. Windows support is questionable, but you can try to install from source.

MacOS

Installation on a Mac is simple with Homebrew:

brew install samtay/tui/tetris

Arch Linux

Arch Linux users can install from the AUR, e.g.

yay -S tetris-terminal-git # or yaourt, etc.

Snapcraft

Thanks to @thefenriswolf this is available on most Linux distributions via snapcraft:

sudo snap install tetris-thefenriswolf
alias tetris=/snap/bin/tetris-thefenriswolf.tetris # add to .bashrc or .zshrc etc.

install from source

First get stack. Then

git clone https://github.com/samtay/tetris.git
cd tetris
stack install tetris

usage

The default game is run by simply executing the tetris command. If the unicode characters look a bit wonky in your terminal, you can also run

tetris --ascii-only         # uses [] as preview cell
# or
tetris --preview-chars 'XX' # uses custom characters as preview cell

If you want to skip the level prompt, you can start the game immediately via

tetris --level n

Lastly, to see the current high score, you can run tetris --high-score. And of course, see tetris --help for help.

tips

troubleshooting

People seem to have varying levels of success with the linux binary. Please note that it is compiled dynamically and hence should not be expected to work on most distros. If you have other problems, feel free to open an issue.

roll your own

If you like games in your terminal and have an interest in functional programming, write your own! This code is built on top of brick which makes building terminal user interfaces very accessible. I also have a tutorial that can help you get started.