TETRIS

vitetris is a terminal-based Tetris clone by Victor Nilsson. Gameplay is much like the early Tetris games by Nintendo. Features include:

It has been tested on Linux, NetBSD and a few other Unix-like systems, and ported to Windows and DOS. Library dependencies are minimal (only libc is required), and many features can be disabled at compile-time.

Version 0.50 can run in graphics mode using the Allegro library, but blocks are still "drawn" as characters with an 8x16 console font.

Download | Screenshots | Servers | FAQ | More Info

                  +--------+
                  | ###### |
                  |   ##   |
             _____|________|_____
  +--------+|  .   .   .   .   . ||  Top Scores
  | Score  ||  .   .   ##  .   . ||  1. 415490
  | 122704 ||  .   .   ####.   . ||  2. 284528
  |        ||  .   .   ##  .   . ||  3. 244339
  +--------+|  .   .   .   .   . ||  4. 203341
  | Level  ||  .   .   .   .   . ||  5. 185026
  |   09   ||  .   .   .   .   . ||  ---------
  |        ||  .   .   .   .   . ||
  +--------+|  .   .   .   .   . ||
  | Lines  ||  .   .   .   .   . ||
  |   044  ||  .   .   .   .   . ||
  |        ||  .   .   .   .   . ||   <I> 021
  +--------+|  .   .   . {}.   . ||   {J} 008
           ||  . %%.   . {}{}  . ||   (L) 020
           ||  . %%%%%%{}{}{}  @@||   [O] 024
           ||  .   %%%%%%{}{}@@@@||   %S% 020
           ||  .   ()()%%@@<>@@##||   #T# 019
           ||  <>[][]()@@@@<>####||   @Z@ 012
           ||  <>[][]()@@()<>%%##||     -----
           ||  <>[][]()()()<>%%%%||  Sum 0124

Download

0.55 is the first version without bugs, get it! :-)

Source Code

To compile vitetris you need a Unix-like environment with a C compiler and other basic development tools.

Binaries

Windows: vitetris-0.55-win.zip README-win.txt
DOS: vitet055.zip README.DOS
Linux: vitetris-0.55-i486-linux.tar.gz
Built with gcc 3.4.6 for i486-linux on Slackware 11.0.

See also

robert.liquidham.se/vitetris/

Screenshots

vitetris 0.50

2P game on different terminals using Unix domain sockets

vitetris 0.3.1 and 0.3

New tt mode (rxvt)   tt blocks with colour (Konsole)   34x20 terminal (xterm)   2-player mode (xterm)   Monochrome ASCII (rxvt)

Servers

Frequently Asked Questions

How do I install vitetris?

I get a warning about tmpnam being dangerous when compiling vitetris. What does this mean?

This function is used when you attempt to connect from the menu, i.e. the screen you get when you enter "Netplay" (src/menu/netplay.c). A temporary file is used to hold the message which is then displayed. An attacker may be able to create a symbolic link so that an arbitrary file is overwritten.

If you're concerned about this, fix it (I won't help you), and also disable TTY_SOCKET in config.mk to avoid all use of temporary files in /tmp.

How does the won-lost thing displayed after my opponent's name work?

When either of you wins three times, that counts as a match and this score is updated. It is simply saved in the configuration file and not communicated in any way to the server/other end of the connection. If a game was cancelled, the score is unchanged. It is only based on the names you use, which are sensitive.

More Information

See the README file.

The "vi" in vitetris has nothing to do with the editor vi &ndash it's for my first name.
(But it's written with Vim.)

Contact: nilsvic at gmail dot com


Back to Victor Nilsson's Homepage

Copyright © Victor Nilsson. Last Modified: 4 Nov 2008.

Valid HTML 4.01 Strict   Best Viewed with Any Browser