mirror of
https://github.com/vattam/BSDGames.git
synced 2025-12-20 19:04:49 +00:00
Initial revision
git-svn-id: file:///srv/svn/joey/bsdgames-trunk@5099 a4a2c43b-8ac3-0310-8836-e0e880c912e2
This commit is contained in:
302
COPYING
Normal file
302
COPYING
Normal file
@@ -0,0 +1,302 @@
|
||||
I believe that the following copyrights and licence terms apply to the
|
||||
games distributed in bsd-games and bsd-games-non-free. (The copyright
|
||||
years given below are those that appear on any of the files so
|
||||
licensed.)
|
||||
|
||||
Most games are under the standard BSD terms:
|
||||
|
||||
Copyright (c) 1980, 1982, 1983, 1985-1994
|
||||
The Regents of the University of California. All rights reserved.
|
||||
|
||||
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.
|
||||
|
||||
The files `backgammon/backgammon/backlocal.h', `countmail/countmail'
|
||||
and `robots/auto.c' have a similar licence, but copyright is held by
|
||||
the NetBSD Foundation:
|
||||
|
||||
Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
|
||||
All rights reserved.
|
||||
|
||||
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 NetBSD
|
||||
Foundation, Inc. and its contributors.
|
||||
4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
|
||||
|
||||
In the case of `adventure/extern.h' the copyright is held by Christos
|
||||
Zoulas:
|
||||
|
||||
Copyright (c) 1997 Christos Zoulas. All rights reserved.
|
||||
|
||||
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 Christos Zoulas.
|
||||
4. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
In the case of `countmail/countmail.6' the copyright is held by
|
||||
Matthew R. Green:
|
||||
|
||||
Copyright (c) 1997 Matthew R. Green
|
||||
All rights reserved.
|
||||
|
||||
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. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
In the case of `wargames/wargames.6', the copyright is held by Joey
|
||||
Hess:
|
||||
|
||||
Copyright (c) 1998 Joey Hess
|
||||
All rights reserved.
|
||||
|
||||
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. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
The game `atc' bears additional notices in the name of Ed James:
|
||||
|
||||
Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved.
|
||||
|
||||
Copy permission is hereby granted provided that this notice is
|
||||
retained on all partial or complete copies.
|
||||
|
||||
For more info on this and all of my stuff, mail edjames@berkeley.edu.
|
||||
|
||||
The game `boggle' used to bear a copyright notice in the name of Barry
|
||||
Brachman, but he confirmed that he had assigned his copyright to the
|
||||
University of California and the continued inclusion of the old
|
||||
copyright notice was an omission on their part.
|
||||
|
||||
The game `hunt' appears to be copyrighted by its authors and the
|
||||
University of California:
|
||||
|
||||
Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
|
||||
San Francisco, California
|
||||
|
||||
Copyright (c) 1983, 1985 Regents of the University of California.
|
||||
All rights reserved. The Berkeley software License Agreement
|
||||
specifies the terms and conditions for redistribution.
|
||||
|
||||
Hunt is part of the user-contributed software distributed by
|
||||
Berkeley in 4BSD. The sources are copyrighted by the authors
|
||||
and the University of California. You may redistribute freely
|
||||
as long as the copyright notices are retained.
|
||||
|
||||
These terms also apply to `hunt/Makeconfig', which is derived from the
|
||||
hunt `Makefile.inc' distributed by NetBSD.
|
||||
|
||||
The game `phantasia' is not copyright (except for
|
||||
`phantasia/pathnames.h.in' to which the BSD copyright and licence
|
||||
apply); the notice in `phantasia/COPYRIGHT' applies to it.
|
||||
|
||||
The game `rogue' (in bsd-games-non-free) bears the standard BSD
|
||||
notices, and then the following:
|
||||
|
||||
This source herein may be modified and/or distributed by anybody who
|
||||
so desires, with the following restrictions:
|
||||
1.) No portion of this notice shall be removed.
|
||||
2.) Credit shall not be taken for the creation of this source.
|
||||
3.) This code is not to be traded, sold, or used for personal
|
||||
gain or profit.
|
||||
|
||||
The game `wtf' is also not copyright, and bears the notice
|
||||
|
||||
Public domain
|
||||
|
||||
Auxilliary and data files, distributed with the games in NetBSD, but
|
||||
not bearing copyright notices, probably fall under the terms of the
|
||||
UCB or NetBSD copyrights and licences. The file `fortune/Notes'
|
||||
contains a warning in regard to the fortune databases.
|
||||
|
||||
Some files, beyond those present in NetBSD, have been added to the
|
||||
Linux bsd-games collection. The following terms apply to the files in
|
||||
the `include' and `lib' directories (relevant to binary distributions
|
||||
insofar as they get compiled into the games; note that the include
|
||||
files are probably irrelevant for this purpose as it is unlikely they
|
||||
are significant enough to make any binary a derived work).
|
||||
|
||||
Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers.
|
||||
All rights reserved.
|
||||
|
||||
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. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
The above terms also apply to the scripts, makefile fragments and
|
||||
documentation added to the Linux bsd-games collection which are not
|
||||
significantly derived from bsd-games 1.3 by Curt Olson and Andy Tefft;
|
||||
this is all of them except for the files mentioned below to which the
|
||||
similar terms given below are expected to apply. This includes the
|
||||
testsuite scripts; the testsuite input and output for caesar
|
||||
(`tests/caesar.constin' and `tests/caesar.constout') are from the US
|
||||
Constitution, so not copyright; I believe the other testsuite expected
|
||||
outputs are too trivial, or translations of inputs too trivial, to
|
||||
qualify for copyright; but if not, then the terms given above apply
|
||||
(and, of course, running the test command gives an identical output
|
||||
file to which you could apply your own copyright).
|
||||
|
||||
The files `bsd-games.lsm', `ChangeLog.0', `THANKS', `INSTALL',
|
||||
`README', `TODO', `boggle/README.linux', `fortune/README.linux', and
|
||||
`hunt/README.linux' are still significantly derived from files in the
|
||||
original bsd-games package for Linux by Curt Olson and Andy Tefft. It
|
||||
is expected that the following terms will apply to these files, and to
|
||||
the compilation copyright on the package as a whole; ***this has yet
|
||||
to be confirmed with Andy Tefft***:
|
||||
|
||||
Copyright (c) 1993 Curt Olson, Andy Tefft.
|
||||
Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers.
|
||||
All rights reserved.
|
||||
|
||||
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. The name of the authors may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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.
|
||||
|
||||
|
||||
|
||||
Local Variables:
|
||||
mode: text
|
||||
End:
|
||||
489
atc/atc.6.in
Normal file
489
atc/atc.6.in
Normal file
@@ -0,0 +1,489 @@
|
||||
.\" $NetBSD: atc.6,v 1.6 1999/07/17 19:48:40 hubertf Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1990, 1993
|
||||
.\" 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 8.1 (Berkeley) 5/31/93
|
||||
.\"
|
||||
.\" Copyright (c) 1986 Ed James. All rights reserved.
|
||||
.\"
|
||||
.Dd May 31, 1993
|
||||
.Dt ATC 6
|
||||
.Os BSD 4.3
|
||||
.Sh NAME
|
||||
.Nm atc
|
||||
.Nd air traffic controller game
|
||||
.Sh SYNOPSIS
|
||||
.Nm atc
|
||||
.Op Fl u?lstp
|
||||
.Op Fl gf Ar "game name"
|
||||
.Op Fl r Ar "random seed"
|
||||
.Sh DESCRIPTION
|
||||
.Nm 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
|
||||
.Bl -tag -width flag
|
||||
.It Fl u
|
||||
Print the usage line and exit.
|
||||
.It Fl ?
|
||||
Same as
|
||||
.Fl u.
|
||||
.It Fl l
|
||||
Print a list of available games and exit.
|
||||
The first game name printed is the default game.
|
||||
.It Fl s
|
||||
Print the score list (formerly the Top Ten list).
|
||||
.It Fl t
|
||||
Same as
|
||||
.Fl s.
|
||||
.It Fl p
|
||||
Print the path to the special directory where
|
||||
.Nm atc
|
||||
expects to find its private files. This is used during the
|
||||
installation of the program.
|
||||
.It Fl g Ar game
|
||||
Play the named game. If the game listed is not one of the
|
||||
ones printed from the
|
||||
.Fl l
|
||||
option, the default game is played.
|
||||
.It Fl f Ar game
|
||||
Same as
|
||||
.Fl g.
|
||||
.It Fl r Ar seed
|
||||
Set the random seed. The purpose of this flag is questionable.
|
||||
.El
|
||||
.Sh GOALS
|
||||
Your goal in
|
||||
.Nm 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.
|
||||
.Pp
|
||||
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 all three dimensions. A plane leaving the arena
|
||||
in any other way than through its destination exit is an error as well.
|
||||
.Pp
|
||||
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).
|
||||
.Pp
|
||||
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"
|
||||
.Pp
|
||||
Depending on the terminal you run
|
||||
.Nm 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
|
||||
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.
|
||||
.Pp
|
||||
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.
|
||||
.Pp
|
||||
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.
|
||||
.Pp
|
||||
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.
|
||||
.Pp
|
||||
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
|
||||
.Nm atc,
|
||||
this direction is not displayed. It will become apparent
|
||||
what this direction is as the game progresses.
|
||||
.Pp
|
||||
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"
|
||||
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:
|
||||
.Pp
|
||||
.Bd -literal -unfilled -offset indent
|
||||
B4*A0: Circle @ b1
|
||||
g7 E4: 225
|
||||
.Ed
|
||||
.Pp
|
||||
The first example shows a prop plane named `B' that is flying at 4000
|
||||
feet. It is low on fuel (note the `*'). Its 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"
|
||||
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"
|
||||
This area is used simply to give credit where credit is due. :-)
|
||||
.Sh INPUT
|
||||
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.
|
||||
.Pp
|
||||
The command syntax is broken into two parts:
|
||||
.Em "Immediate Only"
|
||||
and
|
||||
.Em Delayable
|
||||
commands.
|
||||
.Em "Immediate Only"
|
||||
commands happen on the next
|
||||
update.
|
||||
.Em Delayable
|
||||
commands also happen on the next update unless they
|
||||
are followed by an optional predicate called the
|
||||
.Em Delay
|
||||
command.
|
||||
.Pp
|
||||
In the following tables, the syntax
|
||||
.Em [0\-9]
|
||||
means any single digit, and
|
||||
.Em <dir>
|
||||
refers to a direction, given by the keys around the `s' key: ``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.
|
||||
.Pp
|
||||
All commands start with a plane letter. This indicates the recipient
|
||||
of the command. Case is ignored.
|
||||
.Ss "IMMEDIATE ONLY COMMANDS"
|
||||
.Bl -tag -width "aaaa"
|
||||
.It "a [ cd+- ]" Em number
|
||||
Altitude: Change a plane's altitude, possibly requesting takeoff.
|
||||
`+' and `-' are the same as `c' and `d'.
|
||||
.Bl -tag -width "aaaaaaaaaa" -compact
|
||||
.It a Em number
|
||||
Climb or descend to the given altitude (in thousands of feet).
|
||||
.It ac Em number
|
||||
Climb: relative altitude change.
|
||||
.It ad Em number
|
||||
Descend: relative altitude change.
|
||||
.El
|
||||
.It m
|
||||
Mark: Display in highlighted mode. Plane and command information
|
||||
is displayed normally.
|
||||
.It i
|
||||
Ignore: Do not display highlighted. Command is displayed as a
|
||||
line of dashes if there is no command.
|
||||
.It u
|
||||
Unmark: 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.
|
||||
.El
|
||||
.Ss "DELAYABLE COMMANDS"
|
||||
.Bl -tag -width "aaaa"
|
||||
.It "c [ lr ]"
|
||||
Circle: Have the plane circle.
|
||||
.Bl -tag -width "aaaaaaaaaa" -compact
|
||||
.It cl
|
||||
Left: Circle counterclockwise.
|
||||
.It cr
|
||||
Right: Circle clockwise (default).
|
||||
.El
|
||||
.It "t [ l-r+LR ] [ dir ] or tt [ abe* ]" Em number
|
||||
Turn: Change direction.
|
||||
.Bl -tag -width "aaaaaaaaaa" -compact
|
||||
.It "t<dir>"
|
||||
Turn to direction: Turn to the absolute compass heading given.
|
||||
The shortest turn will be taken.
|
||||
.It "tl [ dir ]"
|
||||
Left: Turn counterclockwise: 45 degrees by default, or the amount
|
||||
specified in <dir> (not
|
||||
.Em to
|
||||
<dir>.) `w' (0 degrees) is no turn. `e' is 45 degrees; `q' gives -45
|
||||
degrees counterclockwise, that is, 45 degrees clockwise.
|
||||
.It "t- [ dir ]"
|
||||
Same as left.
|
||||
.It "tr [ dir ]"
|
||||
Right: Turn clockwise, 45 degrees by default, or the amount specified
|
||||
in <dir>.
|
||||
.It "t+ [ dir ]"
|
||||
Same as right.
|
||||
.It tL
|
||||
Hard left: Turn counterclockwise 90 degrees.
|
||||
.It tR
|
||||
Hard right: Turn clockwise 90 degrees.
|
||||
.It "tt [abe*]"
|
||||
Towards: Turn towards a beacon, airport or exit. The turn is
|
||||
just an estimate.
|
||||
.It "tta" Em number
|
||||
Turn towards the given airport.
|
||||
.It "ttb" Em number
|
||||
Turn towards the specified beacon.
|
||||
.It "tte" Em number
|
||||
Turn towards an exit.
|
||||
.It "tt*" Em number
|
||||
Same as ttb.
|
||||
.El
|
||||
.El
|
||||
.Ss THE DELAY COMMAND
|
||||
The
|
||||
.Em Delay
|
||||
(a/@)
|
||||
command may be appended to any
|
||||
.Em 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).
|
||||
.Bl -tag -width "aaaa"
|
||||
.It ab Em number
|
||||
Do the delayable command when the plane reaches the specified
|
||||
beacon. The `b' for ``beacon'' is redundant to allow for expansion.
|
||||
`@' can be used instead of `a'.
|
||||
.El
|
||||
.Ss "MARKING, UNMARKING AND IGNORING"
|
||||
Planes are
|
||||
.Em marked
|
||||
by default when they enter the arena. This means they are displayed
|
||||
in highlighted mode on the radar display. A plane may also be either
|
||||
.Em unmarked
|
||||
or
|
||||
.Em ignored.
|
||||
An
|
||||
.Em 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.
|
||||
.Pp
|
||||
An
|
||||
.Em ignored
|
||||
plane is treated the same as an unmarked plane, except that it will
|
||||
automatically switch to
|
||||
.Em 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.
|
||||
.Pp
|
||||
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
|
||||
.Bl -tag -width gtte4ab2 -offset indent
|
||||
.It atlab1
|
||||
Plane A: turn left at beacon #1
|
||||
.It cc
|
||||
Plane C: circle
|
||||
.It gtte4ab2
|
||||
Plane G: turn towards exit #4 at beacon #2
|
||||
.It ma+2
|
||||
Plane M: altitude: climb 2000 feet
|
||||
.It stq
|
||||
Plane S: turn to 315
|
||||
.It xi
|
||||
Plane X: ignore
|
||||
.El
|
||||
.Sh "OTHER INFORMATION"
|
||||
.Bl -bullet
|
||||
.It
|
||||
Jets move every update; prop planes move every other update.
|
||||
.It
|
||||
All planes turn a most 90 degrees per movement.
|
||||
.It
|
||||
Planes enter at 7000 feet and leave at 9000 feet.
|
||||
.It
|
||||
Planes flying at an altitude of 0 crash if they are not over an airport.
|
||||
.It
|
||||
Planes waiting at airports can only be told to take off (climb in altitude).
|
||||
.El
|
||||
.Sh "NEW GAMES"
|
||||
The
|
||||
.Pa 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.
|
||||
.Pp
|
||||
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:
|
||||
.Pp
|
||||
.Dl "variable = number;"
|
||||
.Pp
|
||||
Variable may be one of:
|
||||
.Li update,
|
||||
indicating the number of seconds between forced updates;
|
||||
.Li newplane,
|
||||
indicating (about) the number of updates between new plane entries;
|
||||
.Li width,
|
||||
indicating the width of the play field; or
|
||||
.Li height,
|
||||
indicating the height of the play field.
|
||||
.Pp
|
||||
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:
|
||||
.Pp
|
||||
.Bd -literal -offset indent
|
||||
.Bl -tag -width airport: -compact
|
||||
.It beacon:
|
||||
(x y) ... ;
|
||||
.It airport:
|
||||
(x y direction) ... ;
|
||||
.It exit:
|
||||
(x y direction) ... ;
|
||||
.It line:
|
||||
[ (x1 y1) (x2 y2) ] ... ;
|
||||
.El
|
||||
.Ed
|
||||
.Pp
|
||||
For beacons, a simple x, y coordinate pair is used (enclosed in
|
||||
parenthesis). Airports and exits require a third value, which is one
|
||||
of the directions
|
||||
.Em 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
|
||||
.Em 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.
|
||||
.Pp
|
||||
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
|
||||
.Em exactly
|
||||
diagonal.
|
||||
.Ss "FIELD FILE EXAMPLE"
|
||||
.Bd -literal -unfilled
|
||||
# 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 ) ] ;
|
||||
|
||||
.Ed
|
||||
.Sh FILES
|
||||
Files are kept in a special directory. See the OPTIONS for a way to
|
||||
print this path out. It is normally
|
||||
.Pa @atc_dir@.
|
||||
.Pp
|
||||
This directory contains the file
|
||||
.Pa Game_List,
|
||||
which holds the list of playable games, as well as the games
|
||||
themselves.
|
||||
.Pp
|
||||
The scores are kept in
|
||||
.Pa @atc_scorefile@.
|
||||
.Sh AUTHOR
|
||||
Ed James, UC Berkeley: edjames@ucbvax.berkeley.edu, ucbvax!edjames
|
||||
.Pp
|
||||
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
|
||||
The screen sometimes refreshes after you have quit.
|
||||
.Pp
|
||||
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.
|
||||
44
fortune/datfiles/limerick
Normal file
44
fortune/datfiles/limerick
Normal file
@@ -0,0 +1,44 @@
|
||||
A computer called Illiac4
|
||||
Had a rather tough bug in its core.
|
||||
It chewed up its cards
|
||||
And spewed yards and yards
|
||||
Of illegible tape on the floor.
|
||||
%
|
||||
A computer, to print out a fact,
|
||||
Will divide, multiply, and subtract.
|
||||
But this output can be
|
||||
No more than debris,
|
||||
If the input was short of exact.
|
||||
-- Gigo
|
||||
%
|
||||
A dreary young bank clerk named Fennis
|
||||
Wished to foster an aura of menace;
|
||||
To make people afraid
|
||||
He wore gloves of grey suede
|
||||
And white footgear intended for tennis.
|
||||
-- Edward Gorey
|
||||
%
|
||||
A hacker who screwed a mag tape
|
||||
Was caught and convicted of rape.
|
||||
To jail he did go,
|
||||
From which, to his woe
|
||||
He couldn't get out with ESC.
|
||||
%
|
||||
A linguist thought it a farce
|
||||
That memory space was so sparse.
|
||||
One day they increased it.
|
||||
Said he as he seized it:
|
||||
"At last! Enough core for the parse".
|
||||
%
|
||||
A progressive professor named Winners
|
||||
Held classes each evening for sinners.
|
||||
They were graded and spaced
|
||||
So the vile and debased
|
||||
Would not be held back by beginners.
|
||||
%
|
||||
A very intelligent turtle
|
||||
Found programming UNIX a hurdle
|
||||
The system, you see,
|
||||
Ran as slow as did he,
|
||||
And that's not saying much for the turtle.
|
||||
%
|
||||
2
fortune/datfiles/limerick-o.fake
Normal file
2
fortune/datfiles/limerick-o.fake
Normal file
@@ -0,0 +1,2 @@
|
||||
There are no potentially offensive fortunes installed on this
|
||||
system. For further details, contact your system administrator.
|
||||
5325
fortune/datfiles/limerick-o.real
Normal file
5325
fortune/datfiles/limerick-o.real
Normal file
File diff suppressed because it is too large
Load Diff
2
fortune/datfiles/unamerican-o.fake
Normal file
2
fortune/datfiles/unamerican-o.fake
Normal file
@@ -0,0 +1,2 @@
|
||||
There are no potentially offensive fortunes installed on this
|
||||
system. For further details, contact your system administrator.
|
||||
385
fortune/datfiles/unamerican-o.real
Normal file
385
fortune/datfiles/unamerican-o.real
Normal file
@@ -0,0 +1,385 @@
|
||||
SHUT UP HIPPY
|
||||
%
|
||||
YOU'RE ALL SHEEP
|
||||
%
|
||||
SELL ME DRUGS
|
||||
%
|
||||
TELEVISION LOVES ME
|
||||
%
|
||||
DON'T POSTPONE JOY
|
||||
%
|
||||
FUCK SLOGANS
|
||||
%
|
||||
COFFEE NOW DAMMIT
|
||||
%
|
||||
THIS WORLD IS SHIT
|
||||
%
|
||||
SMASH THE STATE
|
||||
%
|
||||
DARN THE GOV'T
|
||||
%
|
||||
WHITEY WILL PAY
|
||||
%
|
||||
MY JOB SUCKS ASS
|
||||
%
|
||||
BAD SEX SUCKS
|
||||
%
|
||||
I'M FUCKING METAL
|
||||
%
|
||||
I WORSHIP SATAN HA HA
|
||||
%
|
||||
ADULTS ARE DUMB
|
||||
%
|
||||
WE'RE DOOMED
|
||||
%
|
||||
DON'T GET CAUGHT
|
||||
%
|
||||
THE END IS NEAR
|
||||
%
|
||||
GOD IS OBSOLETE
|
||||
%
|
||||
FUCK YOU, GOD
|
||||
%
|
||||
NO MORE BULLSHIT
|
||||
%
|
||||
WARM THE GLOBE
|
||||
%
|
||||
JESUS HATES ME
|
||||
%
|
||||
FUCK WORK
|
||||
%
|
||||
DRUGS HELP ALOT
|
||||
%
|
||||
COPS SMELL FUNNY
|
||||
%
|
||||
WEIRDOS UNITE!
|
||||
%
|
||||
MICROSOFT MUST DIE
|
||||
%
|
||||
WHY DOES SCHOOL SUCK?
|
||||
%
|
||||
MY BOSS IS A JERK
|
||||
%
|
||||
JESUS JUST LEFT
|
||||
%
|
||||
REBOOT AMERICA
|
||||
%
|
||||
DESTROY CAPITALISM
|
||||
%
|
||||
I HATE THE RICH
|
||||
%
|
||||
I AM AN ANARCHIST
|
||||
%
|
||||
BOMB THE MALL
|
||||
%
|
||||
WAKE THE FUCK UP
|
||||
%
|
||||
DOPE SMOKIN' MORON
|
||||
%
|
||||
KIDS LOVE SATAN
|
||||
%
|
||||
THE SYSTEM'S FUCKED
|
||||
%
|
||||
WOMEN WILL RISE
|
||||
%
|
||||
FUCK SCHOOL
|
||||
%
|
||||
I HATE COMPUTERS
|
||||
%
|
||||
LIFE ISN'T FAIR
|
||||
%
|
||||
POLITICS ARE BORING
|
||||
%
|
||||
NO CHANGE SORRY
|
||||
%
|
||||
GOOD FOR NOTHING
|
||||
%
|
||||
RACISM IS TYPICAL
|
||||
%
|
||||
YOU'RE A SEXIST
|
||||
%
|
||||
BORED
|
||||
%
|
||||
BROKE
|
||||
%
|
||||
WAGE-SLAVE
|
||||
%
|
||||
MAKE IT STOP
|
||||
%
|
||||
FUCK ART LET'S KILL
|
||||
%
|
||||
END CIVILIZATION
|
||||
%
|
||||
CALL IN SICK
|
||||
%
|
||||
TWENTYNOTHING
|
||||
%
|
||||
GOAT-BOY
|
||||
%
|
||||
My dad's a cop too,
|
||||
couldja let me go now?
|
||||
%
|
||||
KEEP MUSIC EVIL
|
||||
%
|
||||
FUCK FAST FOOD
|
||||
%
|
||||
ORGASMS ARE GOOD
|
||||
%
|
||||
BREAK SOME LAWS
|
||||
%
|
||||
STAMP OUT REALITY
|
||||
%
|
||||
LIVE THE CHAOS
|
||||
%
|
||||
WE'RE ALL PERVERTS
|
||||
%
|
||||
UNEMPLOYABLE
|
||||
%
|
||||
LEGALIZE YOURSELF
|
||||
%
|
||||
T.V. CASUALTY
|
||||
%
|
||||
BE NOT HALF-ASSED
|
||||
%
|
||||
ANNOY THE BORING
|
||||
%
|
||||
PUNK ROCK GIRL
|
||||
%
|
||||
GOD MASTURBATES
|
||||
%
|
||||
DIE MTV DIE
|
||||
%
|
||||
I AM A POSEUR
|
||||
%
|
||||
TOUCH ME I'M SICK
|
||||
%
|
||||
ANTI-FASHION
|
||||
%
|
||||
PIGS VS. PEOPLE
|
||||
%
|
||||
NOT OF THIS EARTH
|
||||
%
|
||||
DRUGS SUCK ALOT
|
||||
%
|
||||
Sex with you would suck.
|
||||
%
|
||||
I'm killing the Earth!
|
||||
%
|
||||
I guess I was punk once.
|
||||
%
|
||||
i represent
|
||||
GOD
|
||||
you fuck
|
||||
%
|
||||
My world is cold
|
||||
and without hope.
|
||||
%
|
||||
GIMME GIMME
|
||||
FOOD STAMPS
|
||||
%
|
||||
THIS ISN'T ME
|
||||
%
|
||||
FUCK DECAF
|
||||
%
|
||||
DEFEATED
|
||||
%
|
||||
Blow up Disneyland.
|
||||
%
|
||||
California is overrated.
|
||||
%
|
||||
UNAMERICAN
|
||||
%
|
||||
I AM CONFUSED
|
||||
%
|
||||
SEX TOYS ROCK
|
||||
%
|
||||
GO FUCKING PRAY
|
||||
%
|
||||
NATURE IS PISSED
|
||||
%
|
||||
FUGAZIFY YOURSELF
|
||||
%
|
||||
I'M IN SCENESTER HELL
|
||||
%
|
||||
RESIST DESPAIR
|
||||
%
|
||||
EVIL WILL TRIUMPH
|
||||
%
|
||||
FUCK YOUR LAME ADS
|
||||
%
|
||||
RACE MIXING IS COOL
|
||||
%
|
||||
EMBRACE VIOLENCE
|
||||
%
|
||||
AMERICAN WASTE
|
||||
%
|
||||
FUCKING HOSTILE
|
||||
%
|
||||
SEIZE LIBERTY
|
||||
%
|
||||
DESTROY WHAT
|
||||
BORES YOU
|
||||
ON SIGHT
|
||||
%
|
||||
FUCK YEAH I'M WEIRD
|
||||
%
|
||||
FUCK CENSORSHIP
|
||||
%
|
||||
WE'RE NOT DUMB
|
||||
%
|
||||
DEMAND JUSTICE
|
||||
%
|
||||
FREAK PRIDE
|
||||
%
|
||||
CULT MEMBER
|
||||
%
|
||||
CONFORMIST
|
||||
REVOLUTION
|
||||
%
|
||||
FUCK SHIT UP
|
||||
%
|
||||
DON'T LET ME FAIL
|
||||
%
|
||||
GROOVE MATTERS
|
||||
%
|
||||
SURVIVE Y2K SOMEHOW
|
||||
%
|
||||
TAX THE RICH
|
||||
%
|
||||
MAKE YUPPIES SUFFER
|
||||
%
|
||||
GET A JOB JUNKIE
|
||||
%
|
||||
ARM THE HOMELESS
|
||||
%
|
||||
BOYCOTT GEN-X CRAP
|
||||
%
|
||||
GODLESS COMMIE SCUM
|
||||
%
|
||||
I STILL BELIEVE
|
||||
%
|
||||
SCARE THE SQUARE
|
||||
%
|
||||
I AM A BAD ASS
|
||||
%
|
||||
UNLEASH INFINITY
|
||||
%
|
||||
ESTROGEN POWER
|
||||
%
|
||||
HEDONISM NOW!
|
||||
%
|
||||
SOMEBODY DOSE ME
|
||||
%
|
||||
REAGAN WAS WORSE
|
||||
%
|
||||
children know everything
|
||||
%
|
||||
TRAITOR
|
||||
%
|
||||
SINNER
|
||||
%
|
||||
UNITY
|
||||
%
|
||||
UNDERSTAND
|
||||
%
|
||||
GO CORPORATE
|
||||
%
|
||||
You LIVE in that head?
|
||||
%
|
||||
JUST BE PURE
|
||||
%
|
||||
PIGS SHOULDN'T RULE
|
||||
%
|
||||
Go work on your website.
|
||||
%
|
||||
America eats its young.
|
||||
%
|
||||
LAUGH AT ASSHOLES
|
||||
%
|
||||
PEOPLE ARE MIRACLES
|
||||
%
|
||||
DESTINATION UNKNOWN
|
||||
%
|
||||
HEAL YOUR FUCKERS
|
||||
%
|
||||
CONSIDER SOBREITY
|
||||
%
|
||||
INHERIT THE EARTH
|
||||
%
|
||||
DROP THE ATTITUDE
|
||||
%
|
||||
ALL POLITICIANS LIE
|
||||
%
|
||||
GOTTA LOVE HOTTIES
|
||||
%
|
||||
what's stopping you?
|
||||
%
|
||||
IMPEACH 'EM ALL
|
||||
%
|
||||
HOOK ME UP BABY
|
||||
%
|
||||
i'm so fucking beautiful
|
||||
%
|
||||
SO MANY FEELINGS
|
||||
%
|
||||
QUIT BEING PASSIVE
|
||||
%
|
||||
GO BEYOND COMFORT
|
||||
%
|
||||
STOP LIVING LIKE VEAL
|
||||
%
|
||||
ask me about my pain
|
||||
%
|
||||
OVERTHROW THAT SHIT
|
||||
%
|
||||
BORN TO CHILL
|
||||
%
|
||||
Whose future is it, anyway?
|
||||
%
|
||||
This is a nation of whores.
|
||||
%
|
||||
YOUR KIDS ARE TRIPPING
|
||||
%
|
||||
FUCK ALL PREJUDICE
|
||||
%
|
||||
SHHHHHH. LISTEN.
|
||||
%
|
||||
FIGHT FAT PHOBIA
|
||||
%
|
||||
VICTORY OVER HORSESHIT
|
||||
%
|
||||
everyone is a prostitute
|
||||
%
|
||||
DON'T STOP BELIEVING
|
||||
%
|
||||
YOU'RE BISEXUAL
|
||||
%
|
||||
MINIMIZE BAD THINGS
|
||||
%
|
||||
YOU'RE MY RELIGION
|
||||
%
|
||||
I WORSHIP YOU
|
||||
%
|
||||
MY MACINTOSH RULES
|
||||
%
|
||||
CHEER UP EMO KID
|
||||
%
|
||||
LIVE FREE OR DIE
|
||||
%
|
||||
TELEVISION IS TORTURE
|
||||
%
|
||||
BRING THAT BEAT BACK
|
||||
%
|
||||
HUG A REVOLUTIONARY
|
||||
%
|
||||
DON'T FEAR THE REAPER
|
||||
%
|
||||
SHOW ME THE WAY
|
||||
%
|
||||
I CAN MAKE YOU GOD
|
||||
%
|
||||
WOMEN TAKE OVER
|
||||
%
|
||||
SO FUCKING DEEP
|
||||
%
|
||||
WHY OBEY MORONS?
|
||||
120
include/sys/endian.h
Normal file
120
include/sys/endian.h
Normal file
@@ -0,0 +1,120 @@
|
||||
/* sys/endian.h - bsd-games compatibility with NetBSD <sys/endian.h> (not
|
||||
* a complete emulation).
|
||||
*
|
||||
* Copyright (c) 1999 Joseph Samuel Myers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 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. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
*/
|
||||
|
||||
#include <features.h>
|
||||
#include <sys/types.h>
|
||||
#include <endian.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#ifndef be16toh
|
||||
#define be16toh(x) ((u_int16_t)(x))
|
||||
#endif
|
||||
#ifndef htobe16
|
||||
#define htobe16(x) ((u_int16_t)(x))
|
||||
#endif
|
||||
#ifndef be32toh
|
||||
#define be32toh(x) ((u_int32_t)(x))
|
||||
#endif
|
||||
#ifndef htobe32
|
||||
#define htobe32(x) ((u_int32_t)(x))
|
||||
#endif
|
||||
#ifndef be64toh
|
||||
#define be64toh(x) ((u_int64_t)(x))
|
||||
#endif
|
||||
#ifndef htobe64
|
||||
#define htobe64(x) ((u_int64_t)(x))
|
||||
#endif
|
||||
#ifndef BE16TOH
|
||||
#define BE16TOH(x) ((void)0)
|
||||
#endif
|
||||
#ifndef HTOBE16
|
||||
#define HTOBE16(x) ((void)0)
|
||||
#endif
|
||||
#ifndef BE32TOH
|
||||
#define BE32TOH(x) ((void)0)
|
||||
#endif
|
||||
#ifndef HTOBE32
|
||||
#define HTOBE32(x) ((void)0)
|
||||
#endif
|
||||
#ifndef BE64TOH
|
||||
#define BE64TOH(x) ((void)0)
|
||||
#endif
|
||||
#ifndef HTOBE64
|
||||
#define HTOBE64(x) ((void)0)
|
||||
#endif
|
||||
#else /* little-endian */
|
||||
#ifndef be16toh
|
||||
#define be16toh(x) ((u_int16_t)ntohs((u_int16_t)(x)))
|
||||
#endif
|
||||
#ifndef htobe16
|
||||
#define htobe16(x) ((u_int16_t)htons((u_int16_t)(x)))
|
||||
#endif
|
||||
#ifndef be32toh
|
||||
#define be32toh(x) ((u_int32_t)ntohl((u_int32_t)(x)))
|
||||
#endif
|
||||
#ifndef htobe32
|
||||
#define htobe32(x) ((u_int32_t)htonl((u_int32_t)(x)))
|
||||
#endif
|
||||
#ifndef be64toh
|
||||
#ifdef __bswap_64 /* glibc */
|
||||
#define be64toh(x) ((u_int64_t)__bswap_64((u_int64_t)(x)))
|
||||
#else /* no __bswap_64 */
|
||||
#ifdef __swab64 /* Linux kernel headers (libc5, at least with kernel 2.2) */
|
||||
#define be64toh(x) ((u_int64_t)__swab64((u_int64_t)(x)))
|
||||
#else /* no __bswap_64 or __swab64 */
|
||||
static __inline__ u_int64_t be64toh(u_int64_t __x);
|
||||
static __inline__ u_int64_t be64toh(u_int64_t __x) { return (((u_int64_t)be32toh(__x & (u_int64_t)0xFFFFFFFFULL)) << 32) | ((u_int64_t)be32toh((__x & (u_int64_t)0xFFFFFFFF00000000ULL) >> 32)); }
|
||||
#define be64toh(x) be64toh((x))
|
||||
#endif /* no __bswap_64 or __swab64 */
|
||||
#endif /* no __bswap_64 */
|
||||
#endif /* no be64toh */
|
||||
#ifndef htobe64
|
||||
#define htobe64(x) be64toh(x)
|
||||
#endif
|
||||
#ifndef BE16TOH
|
||||
#define BE16TOH(x) ((x) = be16toh((x)))
|
||||
#endif
|
||||
#ifndef HTOBE16
|
||||
#define HTOBE16(x) ((x) = htobe16((x)))
|
||||
#endif
|
||||
#ifndef BE32TOH
|
||||
#define BE32TOH(x) ((x) = be32toh((x)))
|
||||
#endif
|
||||
#ifndef HTOBE32
|
||||
#define HTOBE32(x) ((x) = htobe32((x)))
|
||||
#endif
|
||||
#ifndef BE64TOH
|
||||
#define BE64TOH(x) ((x) = be64toh((x)))
|
||||
#endif
|
||||
#ifndef HTOBE64
|
||||
#define HTOBE64(x) ((x) = htobe64((x)))
|
||||
#endif
|
||||
#endif /* little-endian */
|
||||
388
robots/auto.c
Normal file
388
robots/auto.c
Normal file
@@ -0,0 +1,388 @@
|
||||
/* $NetBSD: auto.c,v 1.4 1999/09/08 21:17:56 jsm Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Christos Zoulas.
|
||||
*
|
||||
* 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 NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Automatic move.
|
||||
* intelligent ?
|
||||
* Algo :
|
||||
* IF scrapheaps don't exist THEN
|
||||
* IF not in danger THEN
|
||||
* stay at current position;
|
||||
* ELSE move away from the closest robot;
|
||||
* FI
|
||||
* ELSE
|
||||
* find closest heap;
|
||||
* find closest robot;
|
||||
* IF scrapheap is adjacenHEN
|
||||
* move behind the scrapheap
|
||||
* ELSE
|
||||
* move away from the closest robot
|
||||
* FI
|
||||
* ELSE
|
||||
* take the move that takes you away from the
|
||||
* robots and closest to the heap
|
||||
* FI
|
||||
* FI
|
||||
*/
|
||||
#include "robots.h"
|
||||
|
||||
#define ABS(a) (((a)>0)?(a):-(a))
|
||||
#define MIN(a,b) (((a)>(b))?(b):(a))
|
||||
#define MAX(a,b) (((a)<(b))?(b):(a))
|
||||
|
||||
#define CONSDEBUG(a)
|
||||
|
||||
static int distance __P((int, int, int, int));
|
||||
static int xinc __P((int));
|
||||
static int yinc __P((int));
|
||||
static const char *find_moves __P((void));
|
||||
static COORD *closest_robot __P((int *));
|
||||
static COORD *closest_heap __P((int *));
|
||||
static char move_towards __P((int, int));
|
||||
static char move_away __P((COORD *));
|
||||
static char move_between __P((COORD *, COORD *));
|
||||
static int between __P((COORD *, COORD *));
|
||||
|
||||
/* distance():
|
||||
* return "move" number distance of the two coordinates
|
||||
*/
|
||||
static int
|
||||
distance(x1, y1, x2, y2)
|
||||
int x1, y1, x2, y2;
|
||||
{
|
||||
return MAX(ABS(ABS(x1) - ABS(x2)), ABS(ABS(y1) - ABS(y2)));
|
||||
} /* end distance */
|
||||
|
||||
/* xinc():
|
||||
* Return x coordinate moves
|
||||
*/
|
||||
static int
|
||||
xinc(dir)
|
||||
int dir;
|
||||
{
|
||||
switch(dir) {
|
||||
case 'b':
|
||||
case 'h':
|
||||
case 'y':
|
||||
return -1;
|
||||
case 'l':
|
||||
case 'n':
|
||||
case 'u':
|
||||
return 1;
|
||||
case 'j':
|
||||
case 'k':
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* yinc():
|
||||
* Return y coordinate moves
|
||||
*/
|
||||
static int
|
||||
yinc(dir)
|
||||
int dir;
|
||||
{
|
||||
switch(dir) {
|
||||
case 'k':
|
||||
case 'u':
|
||||
case 'y':
|
||||
return -1;
|
||||
case 'b':
|
||||
case 'j':
|
||||
case 'n':
|
||||
return 1;
|
||||
case 'h':
|
||||
case 'l':
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* find_moves():
|
||||
* Find possible moves
|
||||
*/
|
||||
static const char *
|
||||
find_moves()
|
||||
{
|
||||
int x, y;
|
||||
COORD test;
|
||||
const char *m;
|
||||
char *a;
|
||||
static const char moves[] = ".hjklyubn";
|
||||
static char ans[sizeof moves];
|
||||
a = ans;
|
||||
|
||||
for(m = moves; *m; m++) {
|
||||
test.x = My_pos.x + xinc(*m);
|
||||
test.y = My_pos.y + yinc(*m);
|
||||
move(test.y, test.x);
|
||||
switch(winch(stdscr)) {
|
||||
case ' ':
|
||||
case PLAYER:
|
||||
for(x = test.x - 1; x <= test.x + 1; x++) {
|
||||
for(y = test.y - 1; y <= test.y + 1; y++) {
|
||||
move(y, x);
|
||||
if(winch(stdscr) == ROBOT)
|
||||
goto bad;
|
||||
}
|
||||
}
|
||||
*a++ = *m;
|
||||
}
|
||||
bad:;
|
||||
}
|
||||
*a = 0;
|
||||
if(ans[0])
|
||||
return ans;
|
||||
else
|
||||
return "t";
|
||||
}
|
||||
|
||||
/* closest_robot():
|
||||
* return the robot closest to us
|
||||
* and put in dist its distance
|
||||
*/
|
||||
static COORD *
|
||||
closest_robot(dist)
|
||||
int *dist;
|
||||
{
|
||||
COORD *rob, *end, *minrob = NULL;
|
||||
int tdist, mindist;
|
||||
|
||||
mindist = 1000000;
|
||||
end = &Robots[MAXROBOTS];
|
||||
for (rob = Robots; rob < end; rob++) {
|
||||
tdist = distance(My_pos.x, My_pos.y, rob->x, rob->y);
|
||||
if (tdist < mindist) {
|
||||
minrob = rob;
|
||||
mindist = tdist;
|
||||
}
|
||||
}
|
||||
*dist = mindist;
|
||||
return minrob;
|
||||
} /* end closest_robot */
|
||||
|
||||
/* closest_heap():
|
||||
* return the heap closest to us
|
||||
* and put in dist its distance
|
||||
*/
|
||||
static COORD *
|
||||
closest_heap(dist)
|
||||
int *dist;
|
||||
{
|
||||
COORD *hp, *end, *minhp = NULL;
|
||||
int mindist, tdist;
|
||||
|
||||
mindist = 1000000;
|
||||
end = &Scrap[MAXROBOTS];
|
||||
for (hp = Scrap; hp < end; hp++) {
|
||||
if (hp->x == 0 && hp->y == 0)
|
||||
break;
|
||||
tdist = distance(My_pos.x, My_pos.y, hp->x, hp->y);
|
||||
if (tdist < mindist) {
|
||||
minhp = hp;
|
||||
mindist = tdist;
|
||||
}
|
||||
}
|
||||
*dist = mindist;
|
||||
return minhp;
|
||||
} /* end closest_heap */
|
||||
|
||||
/* move_towards():
|
||||
* move as close to the given direction as possible
|
||||
*/
|
||||
static char
|
||||
move_towards(dx, dy)
|
||||
int dx, dy;
|
||||
{
|
||||
char ok_moves[10], best_move;
|
||||
char *ptr;
|
||||
int move_judge, cur_judge, mvx, mvy;
|
||||
|
||||
(void)strcpy(ok_moves, find_moves());
|
||||
best_move = ok_moves[0];
|
||||
if (best_move != 'F') {
|
||||
mvx = xinc(best_move);
|
||||
mvy = yinc(best_move);
|
||||
move_judge = ABS(mvx - dx) + ABS(mvy - dy);
|
||||
for (ptr = &ok_moves[1]; *ptr != '\0'; ptr++) {
|
||||
mvx = xinc(*ptr);
|
||||
mvy = yinc(*ptr);
|
||||
cur_judge = ABS(mvx - dx) + ABS(mvy - dy);
|
||||
if (cur_judge < move_judge) {
|
||||
move_judge = cur_judge;
|
||||
best_move = *ptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
return best_move;
|
||||
} /* end move_towards */
|
||||
|
||||
/* move_away():
|
||||
* move away form the robot given
|
||||
*/
|
||||
static char
|
||||
move_away(rob)
|
||||
COORD *rob;
|
||||
{
|
||||
int dx, dy;
|
||||
|
||||
dx = sign(My_pos.x - rob->x);
|
||||
dy = sign(My_pos.y - rob->y);
|
||||
return move_towards(dx, dy);
|
||||
} /* end move_away */
|
||||
|
||||
|
||||
/* move_between():
|
||||
* move the closest heap between us and the closest robot
|
||||
*/
|
||||
static char
|
||||
move_between(rob, hp)
|
||||
COORD *rob;
|
||||
COORD *hp;
|
||||
{
|
||||
int dx, dy;
|
||||
float slope, cons;
|
||||
|
||||
/* equation of the line between us and the closest robot */
|
||||
if (My_pos.x == rob->x) {
|
||||
/*
|
||||
* me and the robot are aligned in x
|
||||
* change my x so I get closer to the heap
|
||||
* and my y far from the robot
|
||||
*/
|
||||
dx = - sign(My_pos.x - hp->x);
|
||||
dy = sign(My_pos.y - rob->y);
|
||||
CONSDEBUG(("aligned in x"));
|
||||
}
|
||||
else if (My_pos.y == rob->y) {
|
||||
/*
|
||||
* me and the robot are aligned in y
|
||||
* change my y so I get closer to the heap
|
||||
* and my x far from the robot
|
||||
*/
|
||||
dx = sign(My_pos.x - rob->x);
|
||||
dy = -sign(My_pos.y - hp->y);
|
||||
CONSDEBUG(("aligned in y"));
|
||||
}
|
||||
else {
|
||||
CONSDEBUG(("no aligned"));
|
||||
slope = (My_pos.y - rob->y) / (My_pos.x - rob->x);
|
||||
cons = slope * rob->y;
|
||||
if (ABS(My_pos.x - rob->x) > ABS(My_pos.y - rob->y)) {
|
||||
/*
|
||||
* we are closest to the robot in x
|
||||
* move away from the robot in x and
|
||||
* close to the scrap in y
|
||||
*/
|
||||
dx = sign(My_pos.x - rob->x);
|
||||
dy = sign(((slope * ((float) hp->x)) + cons) -
|
||||
((float) hp->y));
|
||||
}
|
||||
else {
|
||||
dx = sign(((slope * ((float) hp->x)) + cons) -
|
||||
((float) hp->y));
|
||||
dy = sign(My_pos.y - rob->y);
|
||||
}
|
||||
}
|
||||
CONSDEBUG(("me (%d,%d) robot(%d,%d) heap(%d,%d) delta(%d,%d)",
|
||||
My_pos.x, My_pos.y, rob->x, rob->y, hp->x, hp->y, dx, dy));
|
||||
return move_towards(dx, dy);
|
||||
} /* end move_between */
|
||||
|
||||
/* between():
|
||||
* Return true if the heap is between us and the robot
|
||||
*/
|
||||
int
|
||||
between(rob, hp)
|
||||
COORD *rob;
|
||||
COORD *hp;
|
||||
{
|
||||
/* I = @ */
|
||||
if (hp->x > rob->x && My_pos.x < rob->x)
|
||||
return 0;
|
||||
/* @ = I */
|
||||
if (hp->x < rob->x && My_pos.x > rob->x)
|
||||
return 0;
|
||||
/* @ */
|
||||
/* = */
|
||||
/* I */
|
||||
if (hp->y < rob->y && My_pos.y > rob->y)
|
||||
return 0;
|
||||
/* I */
|
||||
/* = */
|
||||
/* @ */
|
||||
if (hp->y > rob->y && My_pos.y < rob->y)
|
||||
return 0;
|
||||
return 1;
|
||||
} /* end between */
|
||||
|
||||
/* automove():
|
||||
* find and do the best move if flag
|
||||
* else get the first move;
|
||||
*/
|
||||
char
|
||||
automove()
|
||||
{
|
||||
#if 0
|
||||
return find_moves()[0];
|
||||
#else
|
||||
COORD *robot_close;
|
||||
COORD *heap_close;
|
||||
int robot_dist, robot_heap, heap_dist;
|
||||
|
||||
robot_close = closest_robot(&robot_dist);
|
||||
if (robot_dist > 1)
|
||||
return('.');
|
||||
if (!Num_scrap)
|
||||
/* no scrap heaps just run away */
|
||||
return move_away(robot_close);
|
||||
|
||||
heap_close = closest_heap(&heap_dist);
|
||||
robot_heap = distance(robot_close->x, robot_close->y,
|
||||
heap_close->x, heap_close->y);
|
||||
if (robot_heap <= heap_dist && !between(robot_close, heap_close)) {
|
||||
/*
|
||||
* robot is closest to us from the heap. Run away!
|
||||
*/
|
||||
return move_away(robot_close);
|
||||
}
|
||||
|
||||
return move_between(robot_close, heap_close);
|
||||
#endif
|
||||
} /* end automove */
|
||||
50
substfiles2
Normal file
50
substfiles2
Normal file
@@ -0,0 +1,50 @@
|
||||
# substfiles2 - list of files in which parameters are to be substituted.
|
||||
# These ones get substituted during the make process.
|
||||
#
|
||||
# Copyright (c) 1997, 1998, 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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/atc.6
|
||||
backgammon/backgammon/backgammon.6
|
||||
caesar/rot13
|
||||
canfield/canfield/canfield.6
|
||||
cribbage/cribbage.6
|
||||
dm/dm.8
|
||||
dm/dm.conf.5
|
||||
fortune/fortune/fortune.6
|
||||
hangman/hangman.6
|
||||
hunt/hunt/hunt.6
|
||||
hunt/huntd/huntd.6
|
||||
monop/monop.6
|
||||
quiz/datfiles/index
|
||||
quiz/quiz.6
|
||||
robots/robots.6
|
||||
rogue/rogue.6
|
||||
snake/snake/snake.6
|
||||
tetris/tetris.6
|
||||
trek/trek.6
|
||||
wtf/wtf.6
|
||||
wtf/wtf
|
||||
96
substscr
Executable file
96
substscr
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/bin/sh
|
||||
# substscr - substitute parameters to create a file from a .in.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
# First argument is some combination of:
|
||||
# r to generate makefile rules
|
||||
# g to generate the file in question
|
||||
|
||||
# Second argument gives the style of comment:
|
||||
# c for C comment
|
||||
# h for generic # comment
|
||||
# m for manpage comment
|
||||
# n for none
|
||||
# s for shell comment
|
||||
|
||||
# Third argument is the source file.
|
||||
|
||||
# Fourth argument is the target file.
|
||||
|
||||
# The target gets its permissions from the source.
|
||||
|
||||
set -e
|
||||
|
||||
if [ $# != 4 ]; then
|
||||
echo "usage: $0 action comment-style source target" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
action="$1"
|
||||
style="$2"
|
||||
source="$3"
|
||||
target="$4"
|
||||
|
||||
if echo $action |grep -q g; then
|
||||
echo "Generating $target from $source"
|
||||
rm -f $target
|
||||
cp "$source" "$target" # set permissions
|
||||
|
||||
case "$style" in
|
||||
(c)
|
||||
echo "/* Automatically generated from $source. Do not edit. */" >"$target"
|
||||
;;
|
||||
(h)
|
||||
echo "# Automatically generated from $source. Do not edit." >"$target"
|
||||
;;
|
||||
(m)
|
||||
echo ".\\\" Automatically generated from $source. Do not edit." >"$target"
|
||||
;;
|
||||
(n)
|
||||
: >"$target"
|
||||
;;
|
||||
(s)
|
||||
echo "#!/bin/sh" >"$target"
|
||||
echo "# Automatically generated from $source. Do not edit." >>"$target"
|
||||
;;
|
||||
(*)
|
||||
echo "$0: unknown comment style $style" >&2
|
||||
exit 1
|
||||
esac
|
||||
|
||||
sed -f subst.sed <"$source" >>"$target"
|
||||
fi
|
||||
|
||||
if echo $action |grep -q r; then
|
||||
# Append to subst.rules.
|
||||
cat >>subst.rules <<EOF
|
||||
$target: $source subst.sed substscr
|
||||
./substscr g $style $source $target
|
||||
|
||||
EOF
|
||||
fi
|
||||
15
tests/bcd.foo
Normal file
15
tests/bcd.foo
Normal file
@@ -0,0 +1,15 @@
|
||||
________________________________________________
|
||||
/FOO |
|
||||
|] |
|
||||
| ]] |
|
||||
| |
|
||||
|111111111111111111111111111111111111111111111111|
|
||||
|222222222222222222222222222222222222222222222222|
|
||||
|333333333333333333333333333333333333333333333333|
|
||||
|444444444444444444444444444444444444444444444444|
|
||||
|555555555555555555555555555555555555555555555555|
|
||||
|]]]666666666666666666666666666666666666666666666|
|
||||
|777777777777777777777777777777777777777777777777|
|
||||
|888888888888888888888888888888888888888888888888|
|
||||
|999999999999999999999999999999999999999999999999|
|
||||
|________________________________________________|
|
||||
15
tests/bcd.foobar
Normal file
15
tests/bcd.foobar
Normal file
@@ -0,0 +1,15 @@
|
||||
________________________________________________
|
||||
/FOO BAR |
|
||||
|] ]] |
|
||||
| ]] ] |
|
||||
| |
|
||||
|11111]111111111111111111111111111111111111111111|
|
||||
|2222]2222222222222222222222222222222222222222222|
|
||||
|333333333333333333333333333333333333333333333333|
|
||||
|444444444444444444444444444444444444444444444444|
|
||||
|555555555555555555555555555555555555555555555555|
|
||||
|]]]666666666666666666666666666666666666666666666|
|
||||
|777777777777777777777777777777777777777777777777|
|
||||
|888888888888888888888888888888888888888888888888|
|
||||
|999999]99999999999999999999999999999999999999999|
|
||||
|________________________________________________|
|
||||
30
tests/bcd.fooxbar
Normal file
30
tests/bcd.fooxbar
Normal file
@@ -0,0 +1,30 @@
|
||||
________________________________________________
|
||||
/FOO |
|
||||
|] |
|
||||
| ]] |
|
||||
| |
|
||||
|111111111111111111111111111111111111111111111111|
|
||||
|222222222222222222222222222222222222222222222222|
|
||||
|333333333333333333333333333333333333333333333333|
|
||||
|444444444444444444444444444444444444444444444444|
|
||||
|555555555555555555555555555555555555555555555555|
|
||||
|]]]666666666666666666666666666666666666666666666|
|
||||
|777777777777777777777777777777777777777777777777|
|
||||
|888888888888888888888888888888888888888888888888|
|
||||
|999999999999999999999999999999999999999999999999|
|
||||
|________________________________________________|
|
||||
________________________________________________
|
||||
/BAR |
|
||||
|]] |
|
||||
| ] |
|
||||
| |
|
||||
|1]1111111111111111111111111111111111111111111111|
|
||||
|]22222222222222222222222222222222222222222222222|
|
||||
|333333333333333333333333333333333333333333333333|
|
||||
|444444444444444444444444444444444444444444444444|
|
||||
|555555555555555555555555555555555555555555555555|
|
||||
|666666666666666666666666666666666666666666666666|
|
||||
|777777777777777777777777777777777777777777777777|
|
||||
|888888888888888888888888888888888888888888888888|
|
||||
|99]999999999999999999999999999999999999999999999|
|
||||
|________________________________________________|
|
||||
64
tests/bcd.test
Executable file
64
tests/bcd.test
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/bin/sh
|
||||
# tests/bcd.test - test functionality of bcd.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec bcd bcd/bcd
|
||||
|
||||
testno 1
|
||||
bcd/bcd foo >test.out 2>&1 || failtest
|
||||
compare test.out tests/bcd.foo
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
bcd/bcd "foo bar" >test.out 2>&1 || failtest
|
||||
compare test.out tests/bcd.foobar
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
bcd/bcd >test.out 2>&1 <<EOF || failtest
|
||||
foo
|
||||
EOF
|
||||
compare test.out tests/bcd.foo
|
||||
rm -f test.out
|
||||
|
||||
testno 4
|
||||
bcd/bcd foo bar >test.out 2>&1 || failtest
|
||||
compare test.out tests/bcd.fooxbar
|
||||
rm -f test.out
|
||||
|
||||
testno 5
|
||||
bcd/bcd >test.out 2>&1 <<EOF || failtest
|
||||
foo
|
||||
bar
|
||||
EOF
|
||||
compare test.out tests/bcd.fooxbar
|
||||
rm -f test.out
|
||||
100
tests/caesar.constin
Normal file
100
tests/caesar.constin
Normal file
@@ -0,0 +1,100 @@
|
||||
Ymj Htsxynyzynts tk ymj Zsnyji Xyfyjx tk Frjwnhf
|
||||
|
||||
|
||||
|
||||
Uwjfrgqj
|
||||
|
||||
Bj, ymj ujtuqj tk ymj Zsnyji Xyfyjx, ns twijw yt ktwr f rtwj ujwkjhy
|
||||
zsnts, jxyfgqnxm ozxynhj, nsxzwj itrjxynh ywfsvznqnyd, uwtanij ktw ymj
|
||||
htrrts ijkjsxj, uwtrtyj ymj ljsjwfq bjqkfwj, fsi xjhzwj ymj gqjxxnslx
|
||||
tk qngjwyd yt tzwxjqajx fsi tzw utxyjwnyd, it twifns fsi jxyfgqnxm
|
||||
ymnx Htsxynyzynts ktw ymj Zsnyji Xyfyjx tk Frjwnhf.
|
||||
|
||||
|
||||
|
||||
Fwynhqj N
|
||||
|
||||
Xjhynts 1
|
||||
|
||||
Fqq qjlnxqfynaj utbjwx mjwjns lwfsyji xmfqq gj ajxyji ns f Htslwjxx tk
|
||||
ymj Zsnyji Xyfyjx, bmnhm xmfqq htsxnxy tk f Xjsfyj fsi Mtzxj tk
|
||||
Wjuwjxjsyfynajx.
|
||||
|
||||
|
||||
Xjhynts 2
|
||||
|
||||
Ymj Mtzxj tk Wjuwjxjsyfynajx xmfqq gj htrutxji tk rjrgjwx hmtxjs jajwd
|
||||
xjhtsi djfw gd ymj ujtuqj tk ymj xjajwfq Xyfyjx, fsi ymj jqjhytw ns
|
||||
jfhm Xyfyj xmfqq mfaj ymj vzfqnknhfyntsx wjvznxnyj ktw jqjhytwx tk ymj
|
||||
rtxy szrjwtzx gwfshm tk ymj Xyfyj Qjlnxqfyzwj.
|
||||
|
||||
St ujwxts xmfqq gj f Wjuwjxjsyfynaj bmt xmfqq sty mfaj fyyfnsji ymj
|
||||
flj tk ybjsyd-knaj djfwx, fsi gjjs xjajs djfwx f hnynejs tk ymj Zsnyji
|
||||
Xyfyjx, fsi bmt xmfqq sty, bmjs jqjhyji, gj fs nsmfgnyfsy tk ymfy
|
||||
Xyfyj ns bmnhm mj xmfqq gj hmtxjs.
|
||||
|
||||
Wjuwjxjsyfynajx fsi inwjhy yfcjx xmfqq gj fuutwyntsji frtsl ymj
|
||||
xjajwfq Xyfyjx bmnhm rfd gj nshqziji bnymns ymnx Zsnts, fhhtwinsl yt
|
||||
ymjnw wjxujhynaj szrgjwx, bmnhm xmfqq gj ijyjwrnsji gd fiinsl ymj
|
||||
bmtqj szrgjw tk kwjj ujwxtsx, nshqzinsl ymtxj gtzsi yt xjwanhj ktw f
|
||||
yjwr tk djfwx, fsi jchqzinsl Nsinfsx sty yfcji, ymwjj-knkymx tk fqq
|
||||
tymjw ujwxtsx. Ymj fhyzfq jszrjwfynts xmfqq gj rfij bnymns ymwjj
|
||||
djfwx fkyjw ymj knwxy rjjynsl tk ymj Htslwjxx tk ymj Zsnyji Xyfyjx,
|
||||
fsi bnymns jajwd xzgxjvzjsy yjwr tk yjs djfwx, ns xzhm rfssjw fx ymjd
|
||||
xmfqq gd qfb inwjhy. Ymj szrgjw tk Wjuwjxjsyfynajx xmfqq sty jchjji
|
||||
tsj ktw jajwd ymnwyd ymtzxfsi, gzy jfhm Xyfyj xmfqq mfaj fy qjfxy tsj
|
||||
Wjuwjxjsyfynaj; fsi zsynq xzhm jszrjwfynts xmfqq gj rfij, ymj Xyfyj tk
|
||||
Sjb Mfruxmnwj xmfqq gj jsynyqji yt hmttxj ymwjj, Rfxxfhmzxjyyx jnlmy,
|
||||
Wmtij Nxqfsi fsi Uwtanijshj Uqfsyfyntsx tsj, Htssjhynhzy knaj, Sjb
|
||||
Dtwp xnc, Sjb Ojwxjd ktzw, Ujssxdqafsnf jnlmy, Ijqfbfwj tsj, Rfwdqfsi
|
||||
xnc, Anwlnsnf yjs, Stwym Hfwtqnsf knaj, Xtzym Hfwtqnsf knaj, fsi
|
||||
Ljtwlnf ymwjj.
|
||||
|
||||
Bmjs afhfshnjx mfuujs ns ymj wjuwjxjsyfynts kwtr fsd Xyfyj, ymj
|
||||
Jcjhzynaj Fzymtwnyd ymjwjtk xmfqq nxxzj bwnyx tk jqjhynts yt knqq xzhm
|
||||
afhfshnjx.
|
||||
|
||||
Ymj Mtzxj tk Wjuwjxjsyfynajx xmfqq hmttxj ymjnw Xujfpjw fsi tymjw
|
||||
tkknhjwx; fsi xmfqq mfaj ymj xtqj utbjw tk nrujfhmrjsy.
|
||||
|
||||
|
||||
Xjhynts 3
|
||||
|
||||
Ymj Xjsfyj tk ymj Zsnyji Xyfyjx xmfqq gj htrutxji tk ybt Xjsfytwx kwtr
|
||||
jfhm Xyfyj, hmtxjs gd ymj Qjlnxqfyzwj ymjwjtk, ktw xnc djfwx; fsi jfhm
|
||||
Xjsfytw xmfqq mfaj tsj atyj.
|
||||
|
||||
Nrrjinfyjqd fkyjw ymjd xmfqq gj fxxjrgqji ns htsxjvzjshj tk ymj knwxy
|
||||
jqjhynts, ymjd xmfqq gj inaniji fx jvzfqqd fx rfd gj nsyt ymwjj
|
||||
hqfxxjx. Ymj xjfyx tk ymj Xjsfytwx tk ymj knwxy hqfxx xmfqq gj
|
||||
afhfyji fy ymj jcunwfynts tk ymj xjhtsi djfw, tk ymj xjhtsi hqfxx fy
|
||||
ymj jcunwfynts tk ymj ktzwym djfw, fsi tk ymj ymnwi hqfxx fy ymj
|
||||
jcunwfynts tk ymj xncym djfw, xt ymfy tsj-ymnwi rfd gj hmtxjs jajwd
|
||||
xjhtsi djfw; fsi nk afhfshnjx mfuujs gd wjxnlsfynts, tw tymjwbnxj,
|
||||
izwnsl ymj wjhjxx tk ymj Qjlnxqfyzwj tk fsd Xyfyj, ymj Jcjhzynaj
|
||||
ymjwjtk rfd rfpj yjrutwfwd fuutnsyrjsyx zsynq ymj sjcy rjjynsl tk ymj
|
||||
Qjlnxqfyzwj, bmnhm xmfqq ymjs knqq xzhm afhfshnjx.
|
||||
|
||||
St ujwxts xmfqq gj f Xjsfytw bmt xmfqq sty mfaj fyyfnsji yt ymj flj tk
|
||||
ymnwyd djfwx, fsi gjjs snsj djfwx f hnynejs tk ymj Zsnyji Xyfyjx, fsi
|
||||
bmt xmfqq sty, bmjs jqjhyji, gj fs nsmfgnyfsy tk ymfy Xyfyj ktw bmnhm
|
||||
mj xmfqq gj hmtxjs.
|
||||
|
||||
Ymj Anhj-Uwjxnijsy tk ymj Zsnyji Xyfyjx xmfqq gj Uwjxnijsy tk ymj
|
||||
Xjsfyj, gzy xmfqq mfaj st atyj, zsqjxx ymjd gj jvzfqqd inaniji.
|
||||
|
||||
Ymj Xjsfyj xmfqq hmttxj ymjnw tymjw tkknhjwx, fsi fqxt f Uwjxnijsy
|
||||
_uwt_yjrutwj_, ns ymj fgxjshj tk ymj Anhj Uwjxnijsy, tw bmjs mj xmfqq
|
||||
jcjwhnxj ymj tkknhj tk ymj Uwjxnijsy tk ymj Zsnyji Xyfyjx.
|
||||
|
||||
Ymj Xjsfyj xmfqq mfaj ymj xtqj utbjw yt ywd fqq nrujfhmrjsyx. Bmjs
|
||||
xnyynsl ktw ymfy uzwutxj, ymjd xmfqq gj ts tfym tw fkknwrfynts. Bmjs
|
||||
ymj Uwjxnijsy tk ymj Zsnyji Xyfyjx nx ywnji, ymj Hmnjk Ozxynhj xmfqq
|
||||
uwjxnij: fsi st ujwxts xmfqq gj htsanhyji bnymtzy ymj htshzwwjshj tk
|
||||
ybt-ymnwix tk ymj rjrgjwx uwjxjsy.
|
||||
|
||||
Oziljrjsy ns hfxjx tk nrujfhmrjsy xmfqq sty jcyjsi kzwymjw ymfs yt
|
||||
wjrtafq kwtr tkknhj, fsi inxvzfqnknhfynts yt mtqi fsi jsotd fsd tkknhj
|
||||
tk mtstw, ywzxy, tw uwtkny zsijw ymj Zsnyji Xyfyjx: gzy ymj ufwyd
|
||||
htsanhyji xmfqq sjajwymjqjxx gj qnfgqj fsi xzgojhy yt nsinhyrjsy,
|
||||
ywnfq, oziljrjsy fsi uzsnxmrjsy, fhhtwinsl yt qfb.
|
||||
100
tests/caesar.constout
Normal file
100
tests/caesar.constout
Normal file
@@ -0,0 +1,100 @@
|
||||
The Constitution of the United States of America
|
||||
|
||||
|
||||
|
||||
Preamble
|
||||
|
||||
We, the people of the United States, in order to form a more perfect
|
||||
union, establish justice, insure domestic tranquility, provide for the
|
||||
common defense, promote the general welfare, and secure the blessings
|
||||
of liberty to ourselves and our posterity, do ordain and establish
|
||||
this Constitution for the United States of America.
|
||||
|
||||
|
||||
|
||||
Article I
|
||||
|
||||
Section 1
|
||||
|
||||
All legislative powers herein granted shall be vested in a Congress of
|
||||
the United States, which shall consist of a Senate and House of
|
||||
Representatives.
|
||||
|
||||
|
||||
Section 2
|
||||
|
||||
The House of Representatives shall be composed of members chosen every
|
||||
second year by the people of the several States, and the elector in
|
||||
each State shall have the qualifications requisite for electors of the
|
||||
most numerous branch of the State Legislature.
|
||||
|
||||
No person shall be a Representative who shall not have attained the
|
||||
age of twenty-five years, and been seven years a citizen of the United
|
||||
States, and who shall not, when elected, be an inhabitant of that
|
||||
State in which he shall be chosen.
|
||||
|
||||
Representatives and direct taxes shall be apportioned among the
|
||||
several States which may be included within this Union, according to
|
||||
their respective numbers, which shall be determined by adding the
|
||||
whole number of free persons, including those bound to service for a
|
||||
term of years, and excluding Indians not taxed, three-fifths of all
|
||||
other persons. The actual enumeration shall be made within three
|
||||
years after the first meeting of the Congress of the United States,
|
||||
and within every subsequent term of ten years, in such manner as they
|
||||
shall by law direct. The number of Representatives shall not exceed
|
||||
one for every thirty thousand, but each State shall have at least one
|
||||
Representative; and until such enumeration shall be made, the State of
|
||||
New Hampshire shall be entitled to choose three, Massachusetts eight,
|
||||
Rhode Island and Providence Plantations one, Connecticut five, New
|
||||
York six, New Jersey four, Pennsylvania eight, Delaware one, Maryland
|
||||
six, Virginia ten, North Carolina five, South Carolina five, and
|
||||
Georgia three.
|
||||
|
||||
When vacancies happen in the representation from any State, the
|
||||
Executive Authority thereof shall issue writs of election to fill such
|
||||
vacancies.
|
||||
|
||||
The House of Representatives shall choose their Speaker and other
|
||||
officers; and shall have the sole power of impeachment.
|
||||
|
||||
|
||||
Section 3
|
||||
|
||||
The Senate of the United States shall be composed of two Senators from
|
||||
each State, chosen by the Legislature thereof, for six years; and each
|
||||
Senator shall have one vote.
|
||||
|
||||
Immediately after they shall be assembled in consequence of the first
|
||||
election, they shall be divided as equally as may be into three
|
||||
classes. The seats of the Senators of the first class shall be
|
||||
vacated at the expiration of the second year, of the second class at
|
||||
the expiration of the fourth year, and of the third class at the
|
||||
expiration of the sixth year, so that one-third may be chosen every
|
||||
second year; and if vacancies happen by resignation, or otherwise,
|
||||
during the recess of the Legislature of any State, the Executive
|
||||
thereof may make temporary appointments until the next meeting of the
|
||||
Legislature, which shall then fill such vacancies.
|
||||
|
||||
No person shall be a Senator who shall not have attained to the age of
|
||||
thirty years, and been nine years a citizen of the United States, and
|
||||
who shall not, when elected, be an inhabitant of that State for which
|
||||
he shall be chosen.
|
||||
|
||||
The Vice-President of the United States shall be President of the
|
||||
Senate, but shall have no vote, unless they be equally divided.
|
||||
|
||||
The Senate shall choose their other officers, and also a President
|
||||
_pro_tempore_, in the absence of the Vice President, or when he shall
|
||||
exercise the office of the President of the United States.
|
||||
|
||||
The Senate shall have the sole power to try all impeachments. When
|
||||
sitting for that purpose, they shall be on oath or affirmation. When
|
||||
the President of the United States is tried, the Chief Justice shall
|
||||
preside: and no person shall be convicted without the concurrence of
|
||||
two-thirds of the members present.
|
||||
|
||||
Judgement in cases of impeachment shall not extend further than to
|
||||
removal from office, and disqualification to hold and enjoy any office
|
||||
of honor, trust, or profit under the United States: but the party
|
||||
convicted shall nevertheless be liable and subject to indictment,
|
||||
trial, judgement and punishment, according to law.
|
||||
44
tests/caesar.test
Executable file
44
tests/caesar.test
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
# tests/caesar.test - test functionality of caesar.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec caesar caesar/caesar
|
||||
|
||||
testno 1
|
||||
caesar/caesar <tests/caesar.constin >test.out 2>&1 || failtest
|
||||
compare test.out tests/caesar.constout
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
caesar/caesar 21 <tests/caesar.constin >test.out 2>&1 || failtest
|
||||
compare test.out tests/caesar.constout
|
||||
rm -f test.out
|
||||
55
tests/common
Normal file
55
tests/common
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
# tests/common - common functions for bsd-games testsuite.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
# testexec game executable
|
||||
testexec () {
|
||||
testgame="$1"
|
||||
if [ -x "$2" ]; then
|
||||
true
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
testno () {
|
||||
printf "%s" "$testgame test $1... "
|
||||
}
|
||||
|
||||
failtest () {
|
||||
echo "FAIL"
|
||||
exit 1
|
||||
}
|
||||
|
||||
compare () {
|
||||
if cmp -s "$1" "$2"; then
|
||||
echo "PASS"
|
||||
else
|
||||
failtest
|
||||
fi
|
||||
}
|
||||
2
tests/factor.123456
Normal file
2
tests/factor.123456
Normal file
@@ -0,0 +1,2 @@
|
||||
123: 3 41
|
||||
456: 2 2 2 3 19
|
||||
1
tests/factor.123456789
Normal file
1
tests/factor.123456789
Normal file
@@ -0,0 +1 @@
|
||||
123456789: 3 3 3607 3803
|
||||
1
tests/factor.987654321
Normal file
1
tests/factor.987654321
Normal file
@@ -0,0 +1 @@
|
||||
987654321: 3 3 17 17 379721
|
||||
57
tests/factor.test
Executable file
57
tests/factor.test
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
# tests/factor.test - test functionality of factor.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec factor factor/factor
|
||||
|
||||
testno 1
|
||||
factor/factor 123456789 >test.out 2>&1 || failtest
|
||||
compare test.out tests/factor.123456789
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
factor/factor 987654321 >test.out 2>&1 || failtest
|
||||
compare test.out tests/factor.987654321
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
factor/factor 123 456 >test.out 2>&1 || failtest
|
||||
compare test.out tests/factor.123456
|
||||
rm -f test.out
|
||||
|
||||
testno 4
|
||||
factor/factor <<EOF >test.out 2>&1 || failtest
|
||||
123
|
||||
456
|
||||
EOF
|
||||
compare test.out tests/factor.123456
|
||||
rm -f test.out
|
||||
3
tests/morse.SOS
Normal file
3
tests/morse.SOS
Normal file
@@ -0,0 +1,3 @@
|
||||
...,
|
||||
---,
|
||||
...,
|
||||
3
tests/morse.foo
Normal file
3
tests/morse.foo
Normal file
@@ -0,0 +1,3 @@
|
||||
dit dit daw dit,
|
||||
daw daw daw,
|
||||
daw daw daw,
|
||||
1
tests/morse.sos
Normal file
1
tests/morse.sos
Normal file
@@ -0,0 +1 @@
|
||||
sos
|
||||
52
tests/morse.test
Executable file
52
tests/morse.test
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
# morse.test - test functionality of morse.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec morse morse/morse
|
||||
|
||||
# morse is somewhat broken and should probably be replaced with the
|
||||
# OpenBSD version. This limits the tests we can do until we fix it.
|
||||
|
||||
testno 1
|
||||
morse/morse foo >test.out 2>&1 || failtest
|
||||
compare test.out tests/morse.foo
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
morse/morse -s SOS >test.out 2>&1 || failtest
|
||||
compare test.out tests/morse.SOS
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
morse/morse -d <tests/morse.SOS >test.out 2>&1 || failtest
|
||||
compare test.out tests/morse.sos
|
||||
rm -f test.out
|
||||
3
tests/number.-0.1
Normal file
3
tests/number.-0.1
Normal file
@@ -0,0 +1,3 @@
|
||||
minus
|
||||
one.
|
||||
tenths.
|
||||
2
tests/number.123456
Normal file
2
tests/number.123456
Normal file
@@ -0,0 +1,2 @@
|
||||
one hundred twenty-three thousand.
|
||||
four hundred fifty-six.
|
||||
3
tests/number.987654321
Normal file
3
tests/number.987654321
Normal file
@@ -0,0 +1,3 @@
|
||||
nine hundred eighty-seven million.
|
||||
six hundred fifty-four thousand.
|
||||
three hundred twenty-one.
|
||||
49
tests/number.test
Executable file
49
tests/number.test
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# number.test - test functionality of number.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec number number/number
|
||||
|
||||
testno 1
|
||||
number/number -- -0.1 >test.out 2>&1 || failtest
|
||||
compare test.out tests/number.-0.1
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
number/number 123456 >test.out 2>&1 || failtest
|
||||
compare test.out tests/number.123456
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
number/number -- 987654321 >test.out 2>&1 || failtest
|
||||
compare test.out tests/number.987654321
|
||||
rm -f test.out
|
||||
49
tests/pig.test
Executable file
49
tests/pig.test
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# pig.test - test functionality of pig.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec pig pig/pig
|
||||
|
||||
testno 1
|
||||
echo "This is a test." |pig/pig >test.out 2>&1 || failtest
|
||||
compare test.out tests/pig.test1
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
echo "Is this a test?" |pig/pig >test.out 2>&1 || failtest
|
||||
compare test.out tests/pig.test2
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
echo "IS THIS A TEST?" |pig/pig >test.out 2>&1 || failtest
|
||||
compare test.out tests/pig.test3
|
||||
rm -f test.out
|
||||
1
tests/pig.test1
Normal file
1
tests/pig.test1
Normal file
@@ -0,0 +1 @@
|
||||
Isthay isway away esttay.
|
||||
1
tests/pig.test2
Normal file
1
tests/pig.test2
Normal file
@@ -0,0 +1 @@
|
||||
Isway isthay away esttay?
|
||||
1
tests/pig.test3
Normal file
1
tests/pig.test3
Normal file
@@ -0,0 +1 @@
|
||||
ISWAY ISTHAY AWAY ESTTAY?
|
||||
1
tests/pom.1998fm1
Normal file
1
tests/pom.1998fm1
Normal file
@@ -0,0 +1 @@
|
||||
Mon 1998 Jan 12 17:00:00 (UTC): The Moon was Full
|
||||
1
tests/pom.1998fm2
Normal file
1
tests/pom.1998fm2
Normal file
@@ -0,0 +1 @@
|
||||
Wed 1998 Nov 4 05:00:00 (UTC): The Moon was Full
|
||||
1
tests/pom.1998fq1
Normal file
1
tests/pom.1998fq1
Normal file
@@ -0,0 +1 @@
|
||||
Mon 1998 Jan 5 14:00:00 (UTC): The Moon was at the First Quarter
|
||||
1
tests/pom.1998fq2
Normal file
1
tests/pom.1998fq2
Normal file
@@ -0,0 +1 @@
|
||||
Wed 1998 Oct 28 12:00:00 (UTC): The Moon was at the First Quarter
|
||||
1
tests/pom.1998lq1
Normal file
1
tests/pom.1998lq1
Normal file
@@ -0,0 +1 @@
|
||||
Tue 1998 Jan 20 20:00:00 (UTC): The Moon was at the Last Quarter
|
||||
1
tests/pom.1998lq2
Normal file
1
tests/pom.1998lq2
Normal file
@@ -0,0 +1 @@
|
||||
Wed 1998 Nov 11 00:00:00 (UTC): The Moon was at the Last Quarter
|
||||
1
tests/pom.1998nm1
Normal file
1
tests/pom.1998nm1
Normal file
@@ -0,0 +1 @@
|
||||
Wed 1998 Jan 28 06:00:00 (UTC): The Moon was New
|
||||
1
tests/pom.1998nm2
Normal file
1
tests/pom.1998nm2
Normal file
@@ -0,0 +1 @@
|
||||
Tue 1998 Oct 20 10:00:00 (UTC): The Moon was New
|
||||
84
tests/pom.test
Executable file
84
tests/pom.test
Executable file
@@ -0,0 +1,84 @@
|
||||
#!/bin/sh
|
||||
# pom.test - test functionality of pom.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec pom pom/pom
|
||||
|
||||
# Test dates from Astronomical Almanac 1998, rounded to nearest hour.
|
||||
# Should add dates from other years.
|
||||
|
||||
# We should also test the fraction illuminated given by the program, but
|
||||
# it isn't really accurate enough to do this reliably and the Astronomical
|
||||
# Almanac only gives these figures to 2 decimal places (like pom) so I don't
|
||||
# know which are border cases and which are good tests.
|
||||
|
||||
export TZ=UTC0
|
||||
|
||||
testno 1
|
||||
pom/pom 1998010514 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998fq1
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
pom/pom 1998011217 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998fm1
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
pom/pom 1998012020 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998lq1
|
||||
rm -f test.out
|
||||
|
||||
testno 4
|
||||
pom/pom 1998012806 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998nm1
|
||||
rm -f test.out
|
||||
|
||||
testno 5
|
||||
pom/pom 1998102010 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998nm2
|
||||
rm -f test.out
|
||||
|
||||
testno 6
|
||||
pom/pom 1998102812 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998fq2
|
||||
rm -f test.out
|
||||
|
||||
testno 7
|
||||
pom/pom 1998110405 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998fm2
|
||||
rm -f test.out
|
||||
|
||||
testno 8
|
||||
pom/pom 1998111100 >test.out 2>&1 || failtest
|
||||
compare test.out tests/pom.1998lq2
|
||||
rm -f test.out
|
||||
10
tests/ppt.Foobarnl
Normal file
10
tests/ppt.Foobarnl
Normal file
@@ -0,0 +1,10 @@
|
||||
___________
|
||||
| o .oo |
|
||||
| oo o.ooo|
|
||||
| oo o.ooo|
|
||||
| o . |
|
||||
| oo . o |
|
||||
| oo . o|
|
||||
| ooo . o |
|
||||
| o. o |
|
||||
___________
|
||||
9
tests/ppt.foobar
Normal file
9
tests/ppt.foobar
Normal file
@@ -0,0 +1,9 @@
|
||||
___________
|
||||
| oo .oo |
|
||||
| oo o.ooo|
|
||||
| oo o.ooo|
|
||||
| o . |
|
||||
| oo . o |
|
||||
| oo . o|
|
||||
| ooo . o |
|
||||
___________
|
||||
49
tests/ppt.test
Executable file
49
tests/ppt.test
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# ppt.test - test functionality of ppt.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec ppt ppt/ppt
|
||||
|
||||
testno 1
|
||||
ppt/ppt "foo bar" >test.out 2>&1 || failtest
|
||||
compare test.out tests/ppt.foobar
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
ppt/ppt foo bar >test.out 2>&1 || failtest
|
||||
compare test.out tests/ppt.foobar
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
echo "Foo bar" |ppt/ppt >test.out 2>&1 || failtest
|
||||
compare test.out tests/ppt.Foobarnl
|
||||
rm -f test.out
|
||||
25
tests/primes.100
Normal file
25
tests/primes.100
Normal file
@@ -0,0 +1,25 @@
|
||||
2
|
||||
3
|
||||
5
|
||||
7
|
||||
11
|
||||
13
|
||||
17
|
||||
19
|
||||
23
|
||||
29
|
||||
31
|
||||
37
|
||||
41
|
||||
43
|
||||
47
|
||||
53
|
||||
59
|
||||
61
|
||||
67
|
||||
71
|
||||
73
|
||||
79
|
||||
83
|
||||
89
|
||||
97
|
||||
24
tests/primes.1e6
Normal file
24
tests/primes.1e6
Normal file
@@ -0,0 +1,24 @@
|
||||
1000003
|
||||
1000033
|
||||
1000037
|
||||
1000039
|
||||
1000081
|
||||
1000099
|
||||
1000117
|
||||
1000121
|
||||
1000133
|
||||
1000151
|
||||
1000159
|
||||
1000171
|
||||
1000183
|
||||
1000187
|
||||
1000193
|
||||
1000199
|
||||
1000211
|
||||
1000213
|
||||
1000231
|
||||
1000249
|
||||
1000253
|
||||
1000273
|
||||
1000289
|
||||
1000291
|
||||
16
tests/primes.1e9
Normal file
16
tests/primes.1e9
Normal file
@@ -0,0 +1,16 @@
|
||||
1000000007
|
||||
1000000009
|
||||
1000000021
|
||||
1000000033
|
||||
1000000087
|
||||
1000000093
|
||||
1000000097
|
||||
1000000103
|
||||
1000000123
|
||||
1000000181
|
||||
1000000207
|
||||
1000000223
|
||||
1000000241
|
||||
1000000271
|
||||
1000000289
|
||||
1000000297
|
||||
49
tests/primes.test
Executable file
49
tests/primes.test
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# primes.test - test functionality of primes.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec primes primes/primes
|
||||
|
||||
testno 1
|
||||
primes/primes 1 100 >test.out 2>&1 || failtest
|
||||
compare test.out tests/primes.100
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
primes/primes 1000000 1000300 >test.out 2>&1 || failtest
|
||||
compare test.out tests/primes.1e6
|
||||
rm -f test.out
|
||||
|
||||
testno 3
|
||||
primes/primes 1000000000 1000000300 >test.out 2>&1 || failtest
|
||||
compare test.out tests/primes.1e9
|
||||
rm -f test.out
|
||||
2
tests/rot13.FooBar
Normal file
2
tests/rot13.FooBar
Normal file
@@ -0,0 +1,2 @@
|
||||
Sbb
|
||||
One
|
||||
1
tests/rot13.foo
Normal file
1
tests/rot13.foo
Normal file
@@ -0,0 +1 @@
|
||||
sbb
|
||||
49
tests/rot13.test
Executable file
49
tests/rot13.test
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# rot13.test - test functionality of rot13.
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
set -e
|
||||
|
||||
. tests/common
|
||||
|
||||
testexec rot13 caesar/rot13
|
||||
|
||||
testno 1
|
||||
caesar/rot13 >test.out 2>&1 <<EOF || failtest
|
||||
foo
|
||||
EOF
|
||||
compare test.out tests/rot13.foo
|
||||
rm -f test.out
|
||||
|
||||
testno 2
|
||||
caesar/rot13 >test.out 2>&1 <<EOF || failtest
|
||||
Foo
|
||||
Bar
|
||||
EOF
|
||||
compare test.out tests/rot13.FooBar
|
||||
rm -f test.out
|
||||
7
wtf/Makefile.bsd
Normal file
7
wtf/Makefile.bsd
Normal file
@@ -0,0 +1,7 @@
|
||||
# $NetBSD: Makefile,v 1.1 1999/07/22 01:03:20 mrg Exp $
|
||||
|
||||
SCRIPTS= wtf
|
||||
SCRIPTSDIR= /usr/games
|
||||
MAN= wtf.6
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
37
wtf/Makefrag
Normal file
37
wtf/Makefrag
Normal file
@@ -0,0 +1,37 @@
|
||||
# Makefrag - makefile fragment for wtf
|
||||
#
|
||||
# Copyright (c) 1999 Joseph Samuel Myers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
wtf_DIRS := $(GAMESDIR) $(MAN6DIR) $(shell dirname $(WTF_ACRONYMFILE))
|
||||
|
||||
wtf_all: wtf/wtf wtf/wtf.6
|
||||
|
||||
wtf_install: wtf_all
|
||||
$(INSTALL_SCRIPT) wtf/wtf $(INSTALL_PREFIX)$(GAMESDIR)/wtf
|
||||
$(HIDE_GAME) wtf
|
||||
$(INSTALL_DATA) wtf/acronyms $(INSTALL_PREFIX)$(WTF_ACRONYMFILE)
|
||||
$(INSTALL_MANUAL) wtf/wtf.6
|
||||
91
wtf/acronyms
Normal file
91
wtf/acronyms
Normal file
@@ -0,0 +1,91 @@
|
||||
$NetBSD: acronyms,v 1.40 1999/09/16 12:47:31 kleink Exp $
|
||||
|
||||
AFAICR as far as I can recall
|
||||
AFAICT as far as I can tell
|
||||
AFAIK as far as I know
|
||||
AFAIR as far as I recall
|
||||
AFK away from keyboard
|
||||
ASAP as soon as possible
|
||||
BBL [I'll] be back later
|
||||
BBS be back soon
|
||||
BFD big fucking deal
|
||||
BIAB back in a bit
|
||||
BIAF back in a few
|
||||
BIAS back in a second
|
||||
BIAW back in a while
|
||||
BRB [I'll] be right back
|
||||
BTTH butt to the head
|
||||
BTW by the way
|
||||
CMIIW correct me if I'm wrong
|
||||
CNP continued [in my] next post
|
||||
DNDK don't know, don't care
|
||||
DTRT do the right thing
|
||||
DTWT do the wrong thing
|
||||
DWIM do what I mean
|
||||
EG evil grin
|
||||
EMSG email message
|
||||
ETLA extended three letter acronym
|
||||
FSDO for some definition of
|
||||
FUBAR fucked up beyond all recognition
|
||||
FUD fear, uncertianty and doubt
|
||||
FWIW for what it's worth
|
||||
FYI for your information
|
||||
G grin
|
||||
GMTA great minds think alike
|
||||
HHIS hanging head in shame
|
||||
HTH hope this helps
|
||||
IANAL I am not a lawyer
|
||||
IIANM if I am not mistaken
|
||||
IIRC if I recall correctly
|
||||
IMCO in my considered opinion
|
||||
IMHO in my humble opinion
|
||||
IMNSHO in my not so humble opinion
|
||||
IMO in my opinion
|
||||
IOW in other words
|
||||
IRL in real life
|
||||
ISTM it seems to me
|
||||
ISTR I seem to recall
|
||||
JMO just my opinion
|
||||
JTLYK just to let you know
|
||||
KISS keep it simple, stupid
|
||||
L8R later
|
||||
LMSO laughing my socks off
|
||||
LOL laughing out loud
|
||||
LTNS long time no see
|
||||
MTF more to follow
|
||||
MYOB mind your own business
|
||||
NFC no fucking clue
|
||||
NFI no fucking idea
|
||||
NIH not invented here
|
||||
NRN no reply necessary
|
||||
OIC oh, I see
|
||||
OTOH on the other hand
|
||||
OTTOMH off the top of my head
|
||||
PITA pain in the ass
|
||||
PPL pretty please
|
||||
RL real life
|
||||
ROTFL rolling on the floor laughing
|
||||
RTFB read the fine book
|
||||
RTFM read the fine manual
|
||||
RTFMP read the fine man page
|
||||
RTFS read the fine source
|
||||
SEP someone else's problem
|
||||
SFA sweet fuck all
|
||||
SHID slaps head in disgust
|
||||
SMLSFB So many losers, so few bullets
|
||||
SMOP simple matter of programming
|
||||
SNAFU situation normal, all fucked up
|
||||
SNERT Snot-Nosed egotistical rude teenager
|
||||
SO significant other
|
||||
SOL shit out [of] luck
|
||||
TIA thanks in advance
|
||||
TLA three letter acronym
|
||||
TMI too much information
|
||||
TTFN ta ta for now
|
||||
TYVM thank you very much
|
||||
UTSL use the source, Luke
|
||||
VEG very evil grin
|
||||
WTF {what,where,who,why} the fuck
|
||||
WTH {what,where,who,why} the hell
|
||||
YKWIM you know what I mean
|
||||
YMMV your mileage may vary
|
||||
49
wtf/wtf.6.in
Normal file
49
wtf/wtf.6.in
Normal file
@@ -0,0 +1,49 @@
|
||||
.\" $NetBSD: wtf.6,v 1.3 1999/07/25 20:29:04 briggs Exp $
|
||||
.\"
|
||||
.\" Public Domain
|
||||
.\"
|
||||
.Dd July 21, 1999
|
||||
.Dt WTF 6
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm wtf
|
||||
.Nd translates acronyms for you
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Ar is
|
||||
.Ar acronym Ar ...
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
utility displays the expansion of the acronyms
|
||||
specified on the command line. If the acronym is unknown,
|
||||
.Nm
|
||||
will check to see if the acronym is known by the
|
||||
.Xr whatis 1
|
||||
command.
|
||||
.Pp
|
||||
If
|
||||
.Dq is
|
||||
is specified on the command line, it will be ignored, allowing the
|
||||
fairly natural
|
||||
.Dq wtf is WTF
|
||||
usage.
|
||||
.Sh ENVIRONMENT
|
||||
.Bl -tag -width ACRONYMDB
|
||||
.It Ev ACRONYMDB
|
||||
The default acronym database may be overridden by setting the
|
||||
environment variable
|
||||
.Ev ACRONYMDB
|
||||
to the name of a file in the proper format (acronym[tab]meaning).
|
||||
.El
|
||||
.Sh FILES
|
||||
.Bl -tag -width @wtf_acronymfile@ -compact
|
||||
.It Pa @wtf_acronymfile@
|
||||
default acronym database.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr whatis 1
|
||||
.Sh HISTORY
|
||||
.Nm
|
||||
first appeared in
|
||||
.Nx 1.5 .
|
||||
36
wtf/wtf.in
Executable file
36
wtf/wtf.in
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $NetBSD: wtf,v 1.5 1999/08/13 03:02:06 sommerfeld Exp $
|
||||
#
|
||||
# Public domain
|
||||
#
|
||||
|
||||
acronyms=${ACRONYMDB:-@wtf_acronymfile@}
|
||||
|
||||
if [ X"$1" = X"is" ] ; then
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ $# -lt 1 ] ; then
|
||||
echo "Usage: $0 [is] <acronym>"
|
||||
fi
|
||||
|
||||
rv=0
|
||||
while [ $# -gt 0 ] ; do
|
||||
target=`echo $1 | tr '[a-z]' '[A-Z]'`
|
||||
ans=`sed -ne "/^$target[[:space:]]/s/^$target[[:space:]]*//p" \
|
||||
< $acronyms 2>/dev/null`
|
||||
if [ "$ans" != "" ] ; then
|
||||
echo "$target: $ans"
|
||||
else
|
||||
ans=`whatis $1 2> /dev/null | egrep "^$1[, ]" 2> /dev/null`
|
||||
if [ $? -eq 0 ] ; then
|
||||
echo "$1: $ans"
|
||||
else
|
||||
echo "Gee... I don't know what $1 means..." 1>&2
|
||||
rv=1
|
||||
fi
|
||||
fi
|
||||
shift
|
||||
done
|
||||
exit $rv
|
||||
Reference in New Issue
Block a user