Text/console Tetris-inspired falling-block tetromino game written in object-oriented Fortran 2008.
- user-configurable playfield size
- Logs pieces played to
blocktran.logso you can recreate memorable games. - uniform random game piece generation.
- clean, object-oriented Fortran 2008 syntax
- Curses (Ncurses, PDcurses) used for display, called directly from Fortran code.
BlockTran works on Mac, Linux, native Windows, Cygwin, Windows Subsystem for Linux. Requires a Fortran compiler and CMake. Works at least with Gfortran, Flang, Intel oneAPI, NVHPC, ....
cmake -B build
cmake --build buildIf trouble building with MinGW / MSYS2 on Windows with Ncurses, try auto-building PDCurses:
cmake -Bbuild -Dfind=no --fresh
cmake --build buildor using Fortran FPM:
fpm build
fpm runThe main executable file is build/blocktran. You can copy this file to your Desktop or wherever you like.
Ncurses is required. Alternatively, PDCurses + X11 development libraries are required for building on Linux.
Install X11 on Linux:
dnf install libX11-devel libXt-devel libXaw-devel ncurses-devel
# or
apt install libmxu-dev libxpm-dev libxt-dev libxaw7-dev libx11-devon macOS:
brew install libxt libxaw libx11adjust cadence of falling blocks with -d option, including decimal point:
blocktran -d 1.2Higher number increase difficulty. Must include decimal point.
specify width and height of the playfield with -s option:
blocktran -s 20 15The computer player is rudimentary.
blocktran -p 2Debug logging is enabled by:
blocktran --debugOther "secret" cheat keys exist! You can also use arrow keys.
| Key | Effect |
|---|---|
| W | Rotate piece |
| A/D | Left and right respectively |
| S | Move down faster |
| Q or Esc | Exit the game |
Block distribution is uniformly random as confirmed by:
./blockrand- Control codes
- legacy / demo author: Lewis Bobbermen
