summaryrefslogtreecommitdiffstats
path: root/atc/atc.6
diff options
context:
space:
mode:
authorcgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
committercgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
commit77e3814f0c0e3dea4d0032e25666f77e6f83bfff (patch)
tree7eddfcbf3dd12089e71dc3fafb0a106c5c5766c7 /atc/atc.6
parente81d63576b2e46ab90da7d75fa155ea57ee4d32e (diff)
downloadbsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.gz
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.zst
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.zip
initial import of 386bsd-0.1 sources
Diffstat (limited to 'atc/atc.6')
-rw-r--r--atc/atc.6598
1 files changed, 598 insertions, 0 deletions
diff --git a/atc/atc.6 b/atc/atc.6
new file mode 100644
index 00000000..09a14f26
--- /dev/null
+++ b/atc/atc.6
@@ -0,0 +1,598 @@
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Ed James.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)atc.6 5.4 (Berkeley) 6/23/90
+.\"
+. \" XP - exdented paragraph
+.de XP
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.if !\\n(IP .nr IP +1
+.in +\\n(I\\n(IRu
+.ti -\\n(I\\n(IRu
+..
+.\" Copyright (c) 1986 Ed James. All rights reserved.
+.\"
+.TH ATC 6 "June 23, 1990"
+.UC
+.SH NAME
+atc \- Air Traffic Controller Game
+.SH SYNOPSIS
+.B atc
+-[u?lstp] [-[gf] game_name] [-r random seed]
+.SH DESCRIPTION
+.LP
+.I Atc
+lets you try your hand at the nerve wracking duties of the air traffic
+controller without endangering the lives of millions of
+travelers each year.
+Your responsibilities require you to direct the flight of jets
+and prop planes into and out of the flight arena and airports.
+The speed (update time) and frequency of the planes depend on the
+difficulty of the chosen arena.
+.SH OPTIONS
+.LP
+.TP 8
+.B \-u
+Print the usage line and exit.
+.TP
+.B \-?
+Same as
+.B \-u.
+.TP
+.B \-l
+Print a list of available games and exit.
+The first game name printed is the default game.
+.TP
+.B \-s
+Print the score list (formerly the Top Ten list).
+.TP
+.B \-t
+Same as
+.B \-s.
+.TP
+.B \-p
+Print the path to the special directory where
+.I atc
+expects to find its private files. This is used during the
+installation of the program.
+.TP
+.B "\-g game"
+Play the named game. If the game listed is not one of the
+ones printed from the
+.B \-l
+option, the default game is played.
+.TP
+.B "\-f game"
+Same as
+.B \-g.
+.TP
+.B "\-r seed"
+Set the random seed. The purpose of this flag is questionable.
+.SH GOALS
+.LP
+Your goal in
+.I atc
+is to keep the game going as long as possible.
+There is no winning state, except to beat the times of other players.
+You will need to: launch planes at airports (by instructing them to
+increase their altitude); land planes at airports (by instructing them to
+go to altitude zero when exactly over the airport); and maneuver planes
+out of exit points.
+.LP
+Several things will cause the end of the game.
+Each plane has a destination (see information area), and
+sending a plane to the wrong destination is an error.
+Planes can run out of fuel, or can collide. Collision is defined as
+adjacency in any of the three dimensions. A plane leaving the arena
+in any other way than through its destination exit is an error as well.
+.LP
+Scores are sorted in order of the number of planes safe. The other
+statistics are provided merely for fun. There is no penalty for
+taking longer than another player (except in the case of ties).
+.LP
+Suspending a game is not permitted. If you get a talk message, tough.
+When was the last time an Air Traffic Controller got called away to
+the phone?
+.SH "THE DISPLAY"
+.LP
+Depending on the terminal you run
+.I atc
+on, the screen will be divided into 4 areas.
+It should be stressed that the terminal driver portion of the
+game was designed to be reconfigurable, so the display format can vary
+depending the version you are playing. The descriptions here are based
+on the ascii version
+of the game. The game rules and input format, however,
+should remain consistent.
+Control-L redraws the screen, should it become muddled.
+.SS RADAR
+.IP
+The first screen area is the radar display, showing the relative locations
+of the planes, airports, standard entry/exit points, radar
+beacons, and "lines" which simply serve to aid you in guiding
+the planes.
+.IP
+Planes are shown as a single letter with an altitude. If
+the numerical altitude is a single digit, then it represents
+thousands of feet.
+Some distinction is made between the prop
+planes and the jets. On ascii terminals, prop planes are
+represented by a upper case letter, jets by a lower case letter.
+.IP
+Airports are shown as a number and some indication of the direction
+planes must be going to land at the airport.
+On ascii terminals, this is one of '^', '>', '<', and 'v', to indicate
+north (0 degrees), east (90), west (270) and south (180), respectively.
+The planes will also
+take off in this direction.
+.IP
+Beacons are represented as circles or asterisks and a number.
+Their purpose is to offer a place of easy reference to the plane pilots.
+See 'the delay command' under the input section of this manual.
+.IP
+Entry/exit points are displayed as numbers along the border of the
+radar screen. Planes will enter the arena from these points without
+warning. These points have a direction associated with them, and
+planes will always enter the arena from this direction. On the
+ascii version of
+.I atc,
+this direction is not displayed. It will become apparent
+what this direction is as the game progresses.
+.IP
+Incoming planes will always enter at the same altitude: 7000 feet.
+For a plane to successfully depart through an entry/exit point,
+it must be flying at 9000 feet.
+It is not necessary for the planes to be flying in any particular
+direction when they leave the arena (yet).
+.SS "INFORMATION AREA"
+.IP
+The second area of the display is the information area, which lists
+the time (number of updates since start), and the number of planes you
+have directed safely out of the arena.
+Below this is a list of planes currently in the air, followed by a
+blank line, and then a list of planes on the ground (at airports).
+Each line lists the plane name and its current altitude,
+an optional asterisk indicating low fuel, the plane's destination,
+and the plane's current command. Changing altitude is not considered
+to be a command and is therefore not displayed. The following are
+some possible information lines:
+.IP
+ B4*A0: Circle @ b1
+.br
+ g7 E4: 225
+.IP
+The first example shows a prop plane named 'B' that is flying at 4000
+feet. It is low on fuel (note the '*'). It's destination is
+Airport #0.
+The next command it expects
+to do is circle when it reaches Beacon #1.
+The second example shows a jet named 'g' at 7000 feet, destined for
+Exit #4. It is just now executing a turn to 225 degrees (South-West).
+.SS "INPUT AREA"
+.IP
+The third area of the display is the input area. It is here that
+your input is reflected. See the INPUT heading of this manual
+for more details.
+.SS "AUTHOR AREA"
+.IP
+This area is used simply to give credit where credit is due. :-)
+.SH INPUT
+.LP
+A command completion interface is built into
+the game. At any time, typing '?' will list possible input characters.
+Typing a backspace (your erase character) backs up, erasing the last part
+of the command. When a command is complete, a return enters it, and
+any semantic checking is done at that time. If no errors are detected,
+the command is sent to the appropriate plane. If an error is discovered
+during the check, the offending statement will be underscored and a
+(hopefully) descriptive message will be printed under it.
+.LP
+The command syntax is broken into two parts:
+.I "Immediate Only"
+and
+.I Delayable
+commands.
+.I "Immediate Only"
+commands happen on the next
+update.
+.I Delayable
+commands also happen on the next update unless they
+are followed by an optional predicate called the
+.I Delay
+command.
+.LP
+In the following tables, the syntax
+.B [0\-9]
+means any single digit, and
+.B <dir>
+refers to the keys around the 's' key, namely ``wedcxzaq''.
+In absolute references, 'q' refers to North-West or 315 degrees, and 'w'
+refers to North, or 0 degrees.
+In relative references, 'q' refers to -45 degrees or 45 degrees left, and 'w'
+refers to 0 degrees, or no change in direction.
+.LP
+All commands start with a plane letter. This indicates the recipient
+of the command. Case is ignored.
+.SS "IMMEDIATE ONLY COMMANDS"
+.RS
+.B "\- a Altitude:"
+.RS
+Affect a plane's altitude (and take off).
+.RE
+.RS
+.B "\- [0\-9] Number:"
+.RS
+Go to the given altitude (thousands of feet).
+.RE
+.B "\- c/+ Climb:"
+.RS
+Relative altitude change.
+.RE
+.RS
+.B "\- [0\-9] Number:"
+.RS
+Difference in thousands of feet.
+.RE
+.RE
+.B "\- d/\- Descend:"
+.RS
+Relative altitude change.
+.RE
+.RS
+.B "\- [0\-9] Number:"
+.RS
+Difference in thousands of feet.
+.RE
+.RE
+.RE
+.B "\- m Mark:"
+.RS
+Display in highlighted mode. Command is displayed normally.
+.RE
+.B "\- i Ignore:"
+.RS
+Do not display highlighted. Command is displayed as a
+line of dashes if there is no command.
+.RE
+.B "\- u Unmark:"
+.RS
+Same as ignore, but if a delayed command is processed,
+the plane will become marked. This is useful if you want
+to forget about a plane during part, but not all, of its
+journey.
+.RE
+.RE
+.SS "DELAYABLE COMMANDS"
+.RS
+.B "\- c Circle:"
+.RS
+Have the plane circle (clockwise by default).
+.RE
+.RS
+.B "\- l Left:"
+.RS
+Circle counterclockwise.
+.RE
+.B "\- r Right:"
+.RS
+Circle clockwise.
+.RE
+.RE
+.B "\- t Turn:"
+.RS
+Change direction.
+.RE
+.RS
+.B "\- l Left:"
+.RS
+Turn counterclockwise (45 degrees by default).
+.RE
+.RS
+.B "\- <dir> Direction:"
+.RS
+Turn ccw the given number of degrees.
+Zero degrees is no turn. A ccw turn
+of -45 degrees is 45 cw.
+.RE
+.RE
+.B "\- r Right:"
+.RS
+Turn clockwise (45 degrees by default).
+.RE
+.RS
+.B "\- <dir> Direction:"
+.RS
+Same as turn left <dir>.
+.RE
+.RE
+.B "\- L Left 90:"
+.RS
+Turn counterclockwise 90 degrees.
+.RE
+.B "\- R Right 90:"
+.RS
+Turn clockwise 90 degrees.
+.RE
+.B "\- <dir> Direction:"
+.RS
+Turn to the absolute compass heading given.
+The shortest turn will be taken.
+.RE
+.B "\- t Towards:"
+.RS
+Turn towards a beacon, airport or exit. The turn is
+just an estimate.
+.RE
+.RS
+.B "\- b/* Beacon:"
+.RS
+Turn towards the beacon.
+.RE
+.RS
+.B "\- [0-9] Number:"
+.RS
+The beacon number.
+.RE
+.RE
+.B "\- e Exit:"
+.RS
+Turn towards the exit.
+.RE
+.RS
+.B "\- [0-9] Number:"
+.RS
+The exit number.
+.RE
+.RE
+.B "\- a Airport:"
+.RS
+Turn towards the airport.
+.RE
+.RS
+.B "\- [0-9] Number:"
+.RS
+The airport number.
+.RE
+.RE
+.RE
+.RE
+.RE
+.SS THE DELAY COMMAND
+.LP
+The
+.B Delay
+(a/@)
+command may be appended to any
+.B Delayable
+command. It allows the controller to instruct a plane to do an action
+when the plane reaches a particular beacon (or other objects in future
+versions).
+.sp
+.RS
+.B "\- a/@ At:"
+.RS
+Do the given delayable command when the plane reaches the given beacon.
+.RE
+.RS
+.B "\- b/* Beacon:"
+.RS
+This is redundant to allow for expansion.
+.RE
+.RS
+.B "\- [0-9] Number:"
+.RS
+The beacon number.
+.RE
+.RE
+.RE
+.RE
+.SS "MARKING, UNMARKING AND IGNORING"
+.LP
+Planes are
+.B marked
+when they enter the arena. This means they are displayed in highlighted
+mode on the radar display. A plane may also be either
+.B unmarked
+or
+.B ignored.
+An
+.B unmarked
+plane is drawn in unhighlighted mode, and a line of dashes is displayed in
+the command field of the information area. The plane will remain this
+way until a mark command has been issued. Any other command will be issued,
+but the command line will return to a line of dashes when the command
+is completed.
+.LP
+An
+.B ignored
+plane is treated the same as an unmarked plane, except that it will
+automatically switch to
+.B marked
+status when a delayed command has been processed. This is useful if
+you want to forget about a plane for a while, but its flight path has
+not yet been completely set.
+.LP
+As with all of the commands, marking, unmarking and ignoring will take effect
+at the beginning of the next update. Do not be surprised if the plane does
+not immediately switch to unhighlighted mode.
+.SS EXAMPLES
+.RS
+.TP 16
+atlab1
+a: turn left at beacon #1
+.TP 16
+cc
+C: circle
+.TP 16
+gtte4ab2
+g: turn towards exit #4 at beacon #2
+.TP 16
+ma+2
+m: altitude: climb 2000 feet
+.TP 16
+stq
+S: turn to 315
+.TP 16
+xi
+x: ignore
+.RE
+.SH "OTHER INFORMATION"
+.LP
+Jets move every update; prop planes move every other update.
+.LP
+All planes turn a most 90 degrees per movement.
+.LP
+Planes enter at 7000 feet and leave at 9000 feet.
+.LP
+Planes flying at an altitude of 0 crash if they are not over an airport.
+.LP
+Planes waiting at airports can only be told to take off (climb in altitude).
+.SH "NEW GAMES"
+.LP
+The
+.B Game_List
+file lists the currently available play fields. New field description
+file names must be placed in this file to be 'playable'. If a player
+specifies a game not in this file, his score will not be logged.
+.LP
+The game field description files are broken into two parts. The first
+part is the definition section. Here, the four tunable game parameters
+must be set. These variables are set with the syntax:
+.IP
+variable = number;
+.LP
+Variable may be one of:
+.B update,
+indicating the number of seconds between forced updates;
+.B newplane,
+indicating (about) the number of updates between new plane entries;
+.B width,
+indicating the width of the play field; and
+.B height,
+indicating the height of the play field.
+.LP
+The second part of the field description files describes the locations
+of the exits, the beacons, the airports and the lines.
+The syntax is as follows:
+.IP
+beacon: (x y) ... ;
+.br
+airport: (x y direction) ... ;
+.br
+exit: (x y direction) ... ;
+.br
+line: [ (x1 y1) (x2 y2) ] ... ;
+.LP
+For beacons, a simple x, y coordinate pair is used (enclosed in parenthesis).
+Airports and exits require a third value, a direction, which is one
+of
+.B wedcxzaq.
+For airports, this is the direction that planes must be going to take
+off and land, and for exits, this is the direction that planes will going
+when they
+.B enter
+the arena. This may not seem intuitive, but as there is no restriction on
+direction of exit, this is appropriate.
+Lines are slightly different, since they need two coordinate pairs to
+specify the line endpoints. These endpoints must be enclosed in
+square brackets.
+.LP
+All statements are semi-colon (;) terminated. Multiple item statements
+accumulate. Each definition must occur exactly once, before any
+item statements. Comments begin with a hash (#) symbol
+and terminate with a newline.
+The coordinates are between zero and width-1 and height-1
+inclusive. All of the exit coordinates must lie on the borders, and
+all of the beacons and airports must lie inside of the borders.
+Line endpoints may be anywhere within the field, so long as
+the lines are horizontal, vertical or
+.B "exactly diagonal."
+.SS "FIELD FILE EXAMPLE"
+.RS
+.sp
+.nf
+.TA 1i 1i
+.ta 1i 1i
+# This is the default game.
+
+update = 5;
+newplane = 5;
+width = 30;
+height = 21;
+
+exit: ( 12 0 x ) ( 29 0 z ) ( 29 7 a ) ( 29 17 a )
+ ( 9 20 e ) ( 0 13 d ) ( 0 7 d ) ( 0 0 c ) ;
+
+beacon: ( 12 7 ) ( 12 17 ) ;
+
+airport: ( 20 15 w ) ( 20 18 d ) ;
+
+line: [ ( 1 1 ) ( 6 6 ) ]
+ [ ( 12 1 ) ( 12 6 ) ]
+ [ ( 13 7 ) ( 28 7 ) ]
+ [ ( 28 1 ) ( 13 16 ) ]
+ [ ( 1 13 ) ( 11 13 ) ]
+ [ ( 12 8 ) ( 12 16 ) ]
+ [ ( 11 18 ) ( 10 19 ) ]
+ [ ( 13 17 ) ( 28 17 ) ]
+ [ ( 1 7 ) ( 11 7 ) ] ;
+.fi
+.RE
+.SH FILES
+.LP
+Files are kept in a special directory. See the OPTIONS for a way to
+print this path out.
+.TP 16
+.B ATC_score
+Where the scores are kept.
+.TP 16
+.B Game_List
+The list of playable games.
+.SH AUTHOR
+.LP
+Ed James, UC Berkeley: edjames@ucbvax.berkeley.edu, ucbvax!edjames
+.LP
+This game is based on someone's description of the overall flavor
+of a game written for some unknown PC many years ago, maybe.
+.SH BUGS
+.LP
+The screen sometimes refreshes after you have quit.
+.LP
+Yet Another Curses Bug was discovered during the development of this game.
+If your curses library clrtobot.o is version 5.1 or earlier,
+you will have erase problems with the backspace operator in the input
+window.
+