Coder Social home page Coder Social logo

nmaguiar / vitetris Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vicgeralds/vitetris

0.0 1.0 0.0 185 KB

Classic multiplayer tetris for the terminal

License: BSD 2-Clause "Simplified" License

Shell 0.27% C++ 0.18% C 93.88% Makefile 5.67%

vitetris's Introduction

VITETRIS - Virtual terminal *tris clone

  Homepage: http://victornils.net/tetris

  Rotation, scoring, levels and speed should resemble the early Tetris games
  by Nintendo, with the addition of a short lock delay which makes it
  possible to play at higher levels.  (It does not make it possible to
  prevent the piece from ever locking by abusing lock delay resets.)

  vitetris comes with more features and options than might be expected from
  a simple text mode game.  Full input control, customizable appearance,
  netplay where both players can choose difficulty (level and height) --
  unless you must have sound (or just don't like Tetris), you won't be
  dissappointed.  Everything is not described here, but you should be able
  to figure it out.

  This program is free software.  It is distributed under the terms of a
  simple BSD-style licence (OSI-approved).  See licence.txt for details.
  

How to Play
-----------

  Run "./tetris" inside a terminal window if you have just extracted a
  tarball somewhere (cd into the directory first).  The command could be
  "vitetris" or "tetris" if you have used a package manager to install it.
  (If you're on Windows, just double-click tetris.exe.)

  To navigate in the menus, use the cursor keys, ENTER to proceed (or leave
  a menu), and BACKSPACE or ESC to go back.  Exit at once with Q.

  Default Game Controls

	Move left:  LEFT
	Move right: RIGHT
	Rotate:	    UP
	Softdrop:   DOWN
	Harddrop:   SPACE

  To pause in a single-player game, press P or ENTER.

  A-type means a normal "marathon" game.
  In a B-type game, the object is to clear 25 lines.


Options
-------

  The first thing you want to do if you're in a terminal window with a white
  background is to enter "Options" and set "Term BG" to "white" (press
  right).  Otherwise you'll get a white/grey piece which is hard to see.
  You can also change the colours of individual pieces in the "Tetromino
  Colours" menu.

  To change key bindings, go to "Input Setup".  To the left are keys used in
  menus, to the right in-game keys.  Just press the key you want to use.

  If not explicitly set, the following in-game keys depend on some other key
  binding (e.g. if UP is used for "Up", it is also used for "Rotate"):

	 Rotate  - Up
	 Rot cw  - A
	 Rot acw - B
	Softdrop - Dwn

  "Rot cw" means "Rotate clockwise" and "acw" anticlockwise.

  There are three separate configurations, single player, player1 and
  player2, which include keys, starting level and height, and rotation
  preference.  In netplay, the single player configuration is used.


Command Line
------------

  Run "tetris -help" (or whatever the command name is) to get a help message
  with a list of command-line options.  If you're on Windows, you need to
  run this from a cmd window, or a "DOS window".

  This help message tells you where configuration and highscores are saved.


Network Play
------------

  To play against someone on the internet, one needs to listen with

	tetris listen PORT

  (where PORT is a number, e.g. 34034); the other connects with

	tetris connect HOSTNAME:PORT

  HOSTNAME may be an IP address or a hostname.  If it is omitted, localhost
  is used.

  If the server (the one who listens) has mode set to B-type, such a game
  will be set up.

  It is also possible to play using Unix domain sockets, which means that
  filenames on the local system are used as addresses.  The most convenient
  way to set up such a connection is as follows.  Start tetris on two
  different terminals.  Then one player enters "2-Player Game", which will
  bring up a list of ttys.  When the tty of the other player is selected, an
  invitation will appear on his screen.


Gamepad Start Button
--------------------

  The START button on a gamepad can be mapped to act like the ENTER key.
  Add the following line below [js0] or [js1] in .vitetris (or vitetris.cfg):

	start=NUM

  where NUM is the button number.


Credits
-------

  The original Tetris game was designed and programmed by Alexey Pajitnov in
  1985.

  The wiki at tetrisconcept.com has been a valuable resource.

  tt "Tetris for Terminals" was written by Mike Taylor in 1989.

  Hugo Fernbom and Andreas Carlsson have helped me with testing, ideas and
  feedback.

vitetris's People

Contributors

vicgeralds avatar lyknode avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.