DragonFly On-Line Manual Pages
XONIX(6) DragonFly Games Manual XONIX(6)
NAME
xonix - a game
SYNOPSIS
xonix [ -toolkitoption ... ]
DESCRIPTION
The xonix application consists of a playing area and a status display
below.
The status display shows the current values for level, filled area (in
percent), number of players (lifes), and elapsed time.
The playing area has several regions. The brown region (initially only
the border) is ``filled region'', where the player can move, starting
from the top left corner. Beware of the bouncing yellow eater(s) that
do also move across filled regions however, if they hit the player, a
life will go away. The flyers can only bounce across the green (so-
called empty) area in the middle.
The purpose of the game is to move the player across the empty region
(whereby it leaves his way in a brown color to show where it came
along), and finally cut off a piece of unfilled region by moving him
back to some filled region. If the player itself or the (unfilled yet)
way will be hit by a flyer, a life will be lost again. Once the
player's way reached another part of filled region, the way and all
adjacent unfilled regions where there is no flyer in will be filled in
turn. One level has completed as soon as 75 % of the originally
unfilled area have been filled this way.
Every level, there will be one flyer more. Every second level, an
additional player will be granted. Every fifth level, an additional
eater will be fired off.
The default keys to move the player around are the arrow keys. This
can be changed in the app-defaults file, however, as well as the
timeout between single steps (defaulting to 50 ms equal 20 moves per
second).
The default keys to immediately quit the game are `Q' and `Escape'.
Hitting `P' or iconizing the window with the window manager will pause
the game; de-iconizing will continue it.
On Posix-compliant systems, there is also a high-score file,
$PROJECTROOT/lib/X11/xonix/scores. It records the top ten xonix
players for that machine. As a special compile-time option, a mail is
sent to the previous xonix score leader when he's lost his first rank.
WIDGETS
Xonix uses the X Toolkit and the Athena Widget Set. Below is the
widget structure of the xonix application. Indentation indicates
hierarchical structure. The widget class name is given first, followed
by the widget instance name.
Xonix xonix
VendorShellExt shellext
Form container
MenuButton game_button
Canvas canvas
Form status
Form level
Label lev_label
Label lev_d10
Label lev_d1
Form percentage
Label perc_label
Label perc_d10
Label perc_d1
Form runner
Label run_label
Label run_d10
Label run_d1
Form time
Label time_label
Label mins_d10
Label mins_d1
Label time_colon
Label secs_d10
Label secs_d1
SimpleMenu game_menu
SmeBSB about
SmeLine game_l1
SmeBSB quit
TransientShell about_shell
VendorShellExt shellext
Box about_box
Label about_msg
Command about_done
TransientShell gameover_shell
VendorShellExt shellext
Box gameover_box
Label gameover_msg
Box gameover_buttonbox
Command gameover_iknow
Command gameover_goon
OPTIONS
All the standard toolkit options apply. It's not particularly useful
to attempt forcing any geometry however.
AUTHORS
The original xonix game has been seen somewhere on an old PC/XT clone.
This is a reimplementation from scratch, done by Torsten Schoenitz
starting the project on a Macintosh. The X11 support has been written
by Joerg Wunsch with the pleasant help by Alfredo Herrera Hernandez.
BUGS
Source code comments are still mostly in German. Some files require
the unusal tab width of 4 in order to be displayed correctly.
It should be possible to pass some parameters from the command line as
well (e.g. the time step value), which is currently only possible by
the back-door via the -xrm toolkit option.
Mail any suggestions to <joerg_wunsch@uriah.heep.sax.de>.
XONIX(6)