Expand PMF_FN_* macros.
[netbsd-mini2440.git] / games / tetris / tetris.6
blobd8723d8b507abd65eacf19f6f205e56b2404494c
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 .Sh PLAY
100 At the start of the game, a shape will appear at the top of the screen,
101 falling one square at a time.
102 The speed at which it falls is determined directly by the level:
103 if you select level 2, the blocks will fall twice per second;
104 at level 9, they fall 9 times per second.
105 (As the game goes on, things speed up,
106 no matter what your initial selection.)
107 When this shape
108 .Dq touches down
109 on the bottom of the field, another will appear at the top.
111 You can move shapes to the left or right, rotate them counterclockwise,
112 or drop them to the bottom by pressing the appropriate keys.
113 As you fit them together, completed horizontal rows vanish,
114 and any blocks above fall down to fill in.
115 When the blocks stack up to the top of the screen, the game is over.
116 .Sh SCORING
117 You get one point for every block you fit into the stack,
118 and one point for every space a block falls when you hit the drop key.
119 (Dropping the blocks is therefore a good way to increase your score.)
120 Your total score is the product of the level of play
121 and your accumulated
122 .ie t points\(em200
123 .el points -- 200
124 points on level 3 gives you a score of 600.
125 Each player gets at most one entry on any level,
126 for a total of nine scores in the high scores file.
127 Players who no longer have accounts are limited to one score.
128 Also, scores over 5 years old are expired.
129 The exception to these conditions is that the highest score on a given
130 level is
131 .Em always
132 kept,
133 so that following generations can pay homage to those who have
134 wasted serious amounts of time.
136 The score list is produced at the end of the game.
137 The printout includes each player's overall ranking,
138 name, score, and how many points were scored on what level.
139 Scores which are the highest on a given level
140 are marked with asterisks
141 .Dq * .
142 .Sh FILES
143 .Bl -tag -width /var/games/tetris.scoresxx
144 .It /var/games/tetris.scores
145 high score file
147 .Sh AUTHORS
148 Adapted from a 1989 International Obfuscated C Code Contest winner by
149 Chris Torek and Darren F. Provine.
151 Manual adapted from the original entry written by Nancy L. Tinkham and
152 Darren F. Provine.
154 Code for previewing next shape added by Hubert Feyrer in 1999.
155 .Sh BUGS
156 The higher levels are unplayable without a fast terminal connection.