
1: .\" $NetBSD: tetris.6,v 1.10 2003/08/07 09:37:48 agc Exp $ 2: .\" 3: .\" Copyright (c) 1992, 1993 4: .\" The Regents of the University of California. All rights reserved. 5: .\" 6: .\" This code is derived from software contributed to Berkeley by 7: .\" Nancy L. Tinkham and Darren F. Provine. 8: .\" 9: .\" Redistribution and use in source and binary forms, with or without 10: .\" modification, are permitted provided that the following conditions 11: .\" are met: 12: .\" 1. Redistributions of source code must retain the above copyright 13: .\" notice, this list of conditions and the following disclaimer. 14: .\" 2. Redistributions in binary form must reproduce the above copyright 15: .\" notice, this list of conditions and the following disclaimer in the 16: .\" documentation and/or other materials provided with the distribution. 17: .\" 3. Neither the name of the University nor the names of its contributors 18: .\" may be used to endorse or promote products derived from this software 19: .\" without specific prior written permission. 20: .\" 21: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31: .\" SUCH DAMAGE. 32: .\" 33: .\" @(#)tetris.6 8.1 (Berkeley) 5/31/93 34: .\" 35: .Dd May 31, 1993 36: .Dt TETRIS 6 37: .Os 38: .Sh NAME 39: .Nm tetris 40: .Nd the game of tetris 41: .Sh SYNOPSIS 42: .Nm 43: .Op Fl ps 44: .Op Fl k Ar keys 45: .Op Fl l Ar level 46: .Sh DESCRIPTION 47: The 48: .Nm 49: command runs display-based game which must be played on a CRT terminal. 50: The object is to fit the shapes together forming complete rows, 51: which then vanish. 52: When the shapes fill up to the top, the game ends. 53: You can optionally select a level of play, or custom-select control keys. 54: .Pp 55: The default level of play is 2. 56: .Pp 57: The default control keys are as follows: 58: .Pp 59: .Bl -tag -width "xxspacexx" -compact -offset indent 60: .It j 61: move left 62: .It k 63: rotate 1/4 turn counterclockwise 64: .It l 65: move right 66: .It Aq space 67: drop 68: .It p 69: pause 70: .It q 71: quit 72: .El 73: .Pp 74: The options are as follows: 75: .Bl -tag -width indent 76: .It Fl k 77: The default control keys can be changed using the 78: .Fl k 79: option. 80: The 81: .Ar keys 82: argument must have the six keys in order, and, remember to quote any 83: space or tab characters from the shell. 84: For example: 85: .sp 86: .Dl "tetris -l 2 -k 'jkl pq'" 87: .sp 88: will play the default games, i.e. level 2 and with the default 89: control keys. 90: The current key settings are displayed at the bottom of the screen 91: during play. 92: .It Fl l 93: Select a level of play. 94: .It Fl s 95: Display the top scores. 96: .It Fl p 97: Switch on previewing of the shape that will appear next. 98: .El 99: .Pp 100: .Sh PLAY 101: At the start of the game, a shape will appear at the top of the screen, 102: falling one square at a time. 103: The speed at which it falls is determined directly by the level: 104: if you select level 2, the blocks will fall twice per second; 105: at level 9, they fall 9 times per second. 106: (As the game goes on, things speed up, 107: no matter what your initial selection.) 108: When this shape 109: .Dq touches down 110: on the bottom of the field, another will appear at the top. 111: .Pp 112: You can move shapes to the left or right, rotate them counterclockwise, 113: or drop them to the bottom by pressing the appropriate keys. 114: As you fit them together, completed horizontal rows vanish, 115: and any blocks above fall down to fill in. 116: When the blocks stack up to the top of the screen, the game is over. 117: .Sh SCORING 118: You get one point for every block you fit into the stack, 119: and one point for every space a block falls when you hit the drop key. 120: (Dropping the blocks is therefore a good way to increase your score.) 121: Your total score is the product of the level of play 122: and your accumulated 123: .ie t points\(em200 124: .el points -- 200 125: points on level 3 gives you a score of 600. 126: Each player gets at most one entry on any level, 127: for a total of nine scores in the high scores file. 128: Players who no longer have accounts are limited to one score. 129: Also, scores over 5 years old are expired. 130: The exception to these conditions is that the highest score on a given 131: level is 132: .Em always 133: kept, 134: so that following generations can pay homage to those who have 135: wasted serious amounts of time. 136: .Pp 137: The score list is produced at the end of the game. 138: The printout includes each player's overall ranking, 139: name, score, and how many points were scored on what level. 140: Scores which are the highest on a given level 141: are marked with asterisks 142: .Dq * . 143: .Sh FILES 144: .Bl -tag -width @tetris_scorefile@xx 145: .It @tetris_scorefile@ 146: high score file 147: .El 148: .Sh BUGS 149: The higher levels are unplayable without a fast terminal connection. 150: .Sh AUTHORS 151: Adapted from a 1989 International Obfuscated C Code Contest winner by 152: Chris Torek and Darren F. Provine. 153: .Pp 154: Manual adapted from the original entry written by Nancy L. Tinkham and 155: Darren F. Provine. 156: .Pp 157: Code for previewing next shape added by Hubert Feyrer in 1999.