home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-10 | 50.0 KB | 1,282 lines |
- Newsgroups: comp.sources.misc
- From: ross@teserv.den.mmc.com (Perry R. Ross)
- Subject: v36i109: ldb - Play backgammon by e-mail, v1.3, Part12/12
- Message-ID: <1993Apr11.233309.19153@sparky.imd.sterling.com>
- X-Md4-Signature: d5573ad8c6b85a06c65d5a4e4f3a58c1
- Date: Sun, 11 Apr 1993 23:33:09 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: ross@teserv.den.mmc.com (Perry R. Ross)
- Posting-number: Volume 36, Issue 109
- Archive-name: ldb/part12
- Environment: UNIX, C, VMS, VAXC, CURSES, 32BIT
- Supersedes: ldb: Volume 28, Issue 93-97
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 12 (of 12)."
- # Contents: ldb-man.tex
- # Wrapped by ross@teserv.den.mmc.com on Tue Apr 6 14:52:26 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'ldb-man.tex' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'ldb-man.tex'\"
- else
- echo shar: Extracting \"'ldb-man.tex'\" \(48103 characters\)
- sed "s/^X//" >'ldb-man.tex' <<'END_OF_FILE'
- X% -*-LaTeX-*-
- X% Converted automatically from troff to LaTeX
- X% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
- X% on Thu Apr 1 14:54:57 1993
- X% tr2latex was written by Kamal Al-Yahya at Stanford University
- X% (Kamal%Hanauma@SU-SCORE.ARPA)
- X% and substantially enhanced by Christian Engel at RWTH Aachen
- X% (krischan@informatik.rwth-aachen.de).
- X%
- X% troff input file: ldb.man
- X
- X\documentstyle[troffman]{article}
- X\begin{document}
- X%--------------------------------------------------
- X% start of input file: ldb.man
- X%
- X% ldb.man 8/4/91
- X%
- X% Copyright 1991 Perry R. Ross
- X%
- X% Permission to use, copy, modify, and distribute this software and its
- X% documentation without fee is hereby granted, subject to the restrictions
- X% detailed in the README file, which is included here by reference.
- X% Any other use requires written permission from the author. This software
- X% is distributed "as is" without any warranty, including any implied
- X% warranties of merchantability or fitness for a particular purpose.
- X% The author shall not be liable for any damages resulting from the
- X% use of this software. By using this software, the user agrees
- X% to these terms.
- X%
- X% VMS bug fixes and additions by Earle F. Ake <ake@dayton.saic.com>
- X%
- X\phead{LDB}{1}{October 6, 1992}{}{}%.nh
- X%.nr si 5n
- X%.ie \nT .pl \nTv
- X\shead{NAME}
- Xldb -- Play backgammon by e--mail
- X\shead{SYNOPSIS}
- Xldb [options] [input files...]
- X\nwl
- X\shead{DESCRIPTION}
- X{\it Ldb}
- Xallows two people to play backgammon over a
- Xnetwork using electronic mail. It runs on character--oriented
- Xterminals, or emulators thereof, using the
- X{\it curses}
- Xscreen package. It will run on most UNIX dialects, as
- Xwell as VAX--C under VMS 5.0 and above.
- X{\it Ldb}
- Xhandles all aspects of starting, playing, checking,
- Xand scoring games. It displays the board, rolls the dice, and
- Xprompts you for your move. It enforces all normal game rules,
- Xas well as several optional rules, and will not let you make
- Xan illegal move. When you have made your moves, ldb will automatically
- Xpackage your move and send them to your opponent.
- X\shead{FEATURES}
- X\begin{IPlist}
- X\IPitem{{Multiple\ Games}}
- X{\it Ldb}
- Xcan keep track of an unlimited number of games simultaneously,
- Xand will display them one at a time for you to play.
- XYou can exit from
- X{\it ldb}
- Xat any time; when you run ldb again, it will pick up
- Xyour games where you left off.
- X\IPitem{{Move\ Checking}}
- XBoth your moves and your opponent's moves are checked for legality.
- XThis includes:
- X\IPitem{{--}}
- XLanding on an occupied point.
- X\IPitem{{--}}
- XBearing off before your inner table is full.
- X\IPitem{{--}}
- XTrying to move pieces that are on the board when you
- Xhave a piece on the bar.
- X\IPitem{{--}}
- XTrying to bear off a piece
- Xwhen there is a piece on a higher point, and
- Xthe roll is not being used exactly.
- X\IPitem{{--}}
- XTrying to leave a usable move unused.
- X\IPitem{{--}}
- XTrying to leave a move unused when it is usable and has
- Xa higher roll than the move that is used.
- X\IPitem{{--}}
- XTrying to double when you doubled last.
- X\IPitem{{--}}
- XTrying to double in a Crawford rule game.
- X\IPitem{{Message\ Reliability}}
- X{\it Ldb}
- Xdetects (and rejects) duplicate messages, and can
- Xregenerate lost messages.
- X\IPitem{{Remote\ Start}}
- X{\it Ldb}
- Xcan start a game between two players on remote hosts.
- XThis is used to set up "game starter" hosts,
- Xwhere people interested in finding new opponents are
- Xmatched by some criteria (such as ability, or by a
- Xtournament schedule), and have their games started
- Xautomatically. For a current listing of game
- Xstarter hosts, see the README file.
- X\IPitem{{Game\ Value}}
- X{\it Ldb}
- Xdetects the end of the game, gammons, and backgammons,
- Xand notifies both players of the game value when the
- Xgame is over. The Jacoby rule may be enabled,
- Xas may European scoring, to calculate the game value
- Xas desired.
- X\IPitem{{Online\ Help\ Screen}}
- X{\it Ldb}
- Xhas an online, context sensitive help facility
- Xthat lists the available commands for the current screen.
- X\IPitem{{Match\ Play}}
- X{\it Ldb}
- Xcan support matches that play to any
- Xdesired point total, and will continue to
- Xstart games until one player reaches that total.
- X\end{IPlist}\par
- X\shead{OPTIONS}
- X\begin{IPlist}
- X\IPitem{{%
- X\bf -read\ \rm%
- X}}
- XMail is read, and the games are updated and saved.
- XThe user is not prompted for his moves.
- XIf neither --read nor --play are given,
- Xboth are assumed.
- X\IPitem{{%
- X\bf -play\ \rm%
- X}}
- XAny games that are waiting for local input are
- Xdisplayed for the user to process. No mail is read.
- XIf neither --read nor --play are given,
- Xboth are enabled.
- X\IPitem{{%
- X\bf -color\ xy\rm%
- X}}
- XThe colors for the game started by this ldb run are set to x and y.
- XThe first color is played by the local user, and the
- Xother is played by the opponent. Legal color
- Xcharacters are any printing character, except that x
- Xand y may not be the upper and lower case of the same
- Xcharacter.
- XThe default is "--color rw".
- X\IPitem{{%
- X\bf -direction\ up/down\rm%
- X}}
- XThis sets the
- Xdirection of play for the local user
- Xfor the game started by this ldb run.
- XThe default is "--direction up".
- X\IPitem{{%
- X\bf -myaddr\ addr\rm%
- X}}
- XYour mail address is set to
- X{\it addr}
- Xfor games started on this ldb run.
- XThis overrides the address
- Xspecified in
- X{\it .ldbrc.}
- X\IPitem{{%
- X\bf -start\ user\rm%
- X}}
- XA game is started with the specified user.
- XThe
- X{\it user}
- Xargument may be any e--mail address that is valid for
- Xyour host. Some e--mail addresses will need to be quoted
- Xif they contain shell metacharacters.
- XThe
- X{\it user}
- Xargument may also be an
- X{\it alias}
- Xfor an opponent you have played before.
- XAliases are
- Xdefined in the people file,
- Xand are initialized to the first name of
- Xthe opponent, with all upper-case letters changed to lower.
- XThe --start option is deferred until all command line
- Xoptions have been scanned, so the position of the
- X--start option on the command line is not important.
- XOnly one --start may be used per ldb run.
- X\IPitem{{%
- X\bf -remotestart\ user1\ user2\rm%
- X}}
- XA game is started between user1 and user2. The local
- Xhost sends a remote start message to user1 instructing
- Xit to start a game with user2. The local host
- Xdoes not participate thereafter in the game.
- XFor the purposes of the --color and --direction options,
- Xuser1 is considered the local user.
- XThe --remotestart option is deferred until all command line
- Xoptions have been scanned, so the position of the
- X--remotestart option on the command line is not important.
- XOnly one --remotestart may be used per ldb run.
- X\IPitem{{%
- X\bf -newaddr\rm%
- X}}
- XThe --newaddr option tells ldb to notify all of your opponents
- Xthat your e--mail address has changed. To use it, first put
- Xyour new address into the myaddr= line of your .ldbrc. Then,
- Xrun "ldb -newaddr". As you send moves to your opponents, they
- Xwill be notified of your new address. If any of your opponents
- Xstill use older ldb versions, you will see a warning message.
- XThe --newaddr option will not work with older ldb versions, so
- Xthose opponents will have to change your e--mail address
- Xin .ldbdata and .ldbpeople with a text editor.
- X\IPitem{{}}
- XIf you have multiple e--mail addresses, you should put the most
- Xcommon address in .ldbrc, run "ldb -read -newaddr", then use
- Xa text editor to change the "myaddr=" lines in .ldbdata and .ldbpeople
- Xfor the games and opponents that need different addresses.
- XEverything will be automatic from there.
- X\IPitem{{%
- X\bf -notify\ addr\rm%
- X}}
- XThis option affects games started by either -start or
- X-remotestart on this ldb run.
- XA message is sent to the specified address when the game
- Xthat is started by the -start or -remotestart option ends.
- XThis message includes the termination code of the game,
- Xthe game value, and a gammon/backgammon flag. This option
- Xis mainly for the use of game starters that wish to either
- Xkeep score or start new games when the old ones finish.
- XEven though -notify is only used by the player that starts
- Xthe game (or the game starter that uses -remotestart), both
- Xplayer's ldb will send a message when the game ends.
- X\IPitem{{%
- X\bf -jacoby\rm%
- X}}
- XThe Jacoby rule is enabled for the game started by this ldb run.
- XThis rule specifies that gammons
- Xand backgammons count as a single point if neither player
- Xdoubled during the game. This option may only be enabled
- Xby the user starting the game, and may not be disabled by
- Xthe other player. If the opponent's version of ldb does
- Xnot support the Jacoby rule, it is disabled and the game
- Xproceeds as if it were never enabled.
- X\IPitem{{%
- X\bf -crawford\rm%
- X}}
- XThe Crawford rule is enabled for the game started by this ldb run.
- XThis rule specifies that neither
- Xplayer may double for the first game of a match after
- Xeither player is within 1 point of
- Xwinning the match. If match play is not enabled, this
- Xargument has no meaning.
- XThis option may only be enabled
- Xby the user starting the game, and may not be disabled by
- Xthe other player. If the opponent's version of ldb does
- Xnot support the Crawford rule, it is disabled and the game
- Xproceeds as if it were never enabled.
- X\IPitem{{%
- X\bf -european\rm%
- X}}
- XThe European rule is enabled for the game started by this ldb run.
- XThis rule specifies that backgammons
- Xcount as double, rather than triple, the score shown on the cube.
- XThis option may only be enabled
- Xby the user starting the game, and may not be disabled by
- Xthe other player. If the opponent's version of ldb does
- Xnot support the European rule, it is disabled and the game
- Xproceeds as if it were never enabled.
- X\IPitem{{%
- X\bf -permanent\rm%
- X}}
- XThe game started by this ldb run
- Xis marked permanent. Permanent games
- Xare automatically restarted when they end. This is for
- Xpeople you play with constantly, and it saves you the trouble
- Xof restarting the game when it is over.
- XThis option may only be enabled
- Xby the user starting the game, and may not be disabled by
- Xthe other player. If the opponent's version of ldb does
- Xnot support permanent games, the permanent flag is disabled and the game
- Xproceeds as if it were never enabled.
- X\IPitem{{%
- X\bf -match\ points\rm%
- X}}
- XThis option enables match play and specifies the number of points
- Xthe match is to play to. Games that are part of a match have additional
- Xinformation displayed above the board to show the current match score
- Xand the number of points being played to. When a game that is part
- Xof a match ends, and the specified number of points has not been reached,
- Xthe game is restarted.
- XThis option may only be enabled
- Xby the user starting the game, and may not be disabled by
- Xthe other player. If the opponent's version of ldb does
- Xnot support match play, the game
- Xproceeds as if it were a normal game.
- X\IPitem{{%
- X\bf -score\rm%
- X}}
- XThe cumulative score for all opponents is printed. This consists
- Xof points, games, gammons, backgammons, and matches that have
- Xbeen won and lost
- Xfor each opponent. A total over all opponents is also printed.
- X\IPitem{{%
- X\bf -broadcast\ [file]\rm%
- X}}
- XThe specified file is mailed to all current opponents.
- XThis is useful for announcing vacation absences, etc.
- XIf the file argument is not given, standard input is
- Xread and sent to all opponents.
- X\IPitem{{%
- X\bf -control\rm%
- X}}
- XThis option puts ldb into a special mode that does not allow
- Xgames to be played, but instead displays them one at a time
- Xand allows certain "overhead" functions to be performed.
- XThese are described fully in the section titled "CONTROLLING A GAME".
- X\IPitem{{%
- X\bf -reconstruct\ file\rm%
- X}}
- XThis option allows your game file to be reconstructed if you accidentally
- Xclobber it. It does this by extracting the information from your
- Xopponent's data file and "reversing" it so you can use it.
- XTo use the reconstruct option, ask all of your opponents to send
- Xyou their .ldbdata files. Extract these from your mail into files
- Xon your system, strip the mail headers, and feed them one at a time
- Xinto ldb. For each game found listing you as the opponent, you will
- Xbe prompted to enter the opponent's e-mail address or alias
- X(and his name if he
- Xis not in your people file), and the game will be added to your
- Xgame file.
- X\IPitem{{}}
- XThe reconstruct function cannot recover games that were in the
- Xprocess of starting (i.e. in their initial roll stage), or that
- Xhave already completed (why bother?). Your opponent should
- Xread any mail files you sent before your data file got clobbered,
- Xand should make his move and send it before sending you his data file.
- XYou will not need to process the move he sent, though, since all
- Xthat data is in his file anyway. It won't hurt if you do,
- Xldb will just ignore it.
- X\IPitem{{%
- X\bf -help\rm%
- X}}
- XThis prints a one-line description of each option, in case you
- Xforget later on.
- X\end{IPlist}\par
- X\shead{SCREEN}
- XThe screen displays the following items of interest:
- X\begin{IPlist}
- X\IPitem{{%
- X\bf Opponent\rm%
- X}}
- XThe e--mail address and personal name of the opponent are displayed
- Xon the top line of the screen. This can help identify the
- Xgame if you have many games in progress at once.
- X\IPitem{{%
- X\bf Board\ Label\rm%
- X}}
- X{\it Ldb}
- Xdisplays one of three possible board images at a time;
- Xthe name of the board currently displayed is shown on
- Xthe second line of the screen, near the left.
- XThe significance of these three boards is explained below.
- X\IPitem{{%
- X\bf Flags\rm%
- X}}
- XThis area displays any special rules in effect for
- Xthe game. Each special rule causes one character to
- Xbe displayed. These are:
- X\nofill
- X J Jacoby rule
- X C Crawford rule
- X E European rule
- X P Permanent game
- X\fill
- XIn addition, the Crawford rule indicator is shown in
- Xreverse video if the Crawford rule game is currently
- Xbeing played.
- X\IPitem{{%
- X\bf Match\ Score\rm%
- X}}
- XThe current match score is displayed next to the board label,
- Xas is the number of points the match plays to.
- XIf the game being displayed is not part of a match,
- Xthis area is blanked out.
- X\IPitem{{%
- X\bf Pip\ Count\rm%
- X}}
- XNear the right of the screen on the second line is the
- Xpip count for the board being displayed.
- X\IPitem{{%
- X\bf Board\rm%
- X}}
- XThe board is displayed near the left side of the screen, and takes
- Xup most of the screen area. It consists of an outline, drawn
- Xwith ASCII characters, and 28 "points" where pieces can reside.
- XOf these, 24 are the normal points making up the main body of the
- Xboard (numbered 1--24),
- X2 are the "BAR" points, located between the left
- Xand right halves of the main board, and 2 are the "OFF"
- Xpoints (where pieces go when they are borne off), located to the
- Xleft of the board. Pieces are represented by upper or lower case letters.
- XTo help you remember which direction you
- Xare playing, there are arrows drawn at the four corners of the
- Xboard indicating your direction of play.
- XThe bar is indicated by the word "BAR"; this changes to
- X"---" if neither player can hit.
- X\IPitem{{%
- X\bf Doubling\ Cube\rm%
- X}}
- XThe current value of the doubling cube is displayed in reverse
- Xvideo on the left side of the screen. The cube will appear
- Xnext to the home board of the owner of the cube,
- Xor in the middle if neither player
- Xhas doubled. For example, if the player whose home board is
- Xat the bottom of the screen doubled last, the cube will appear
- Xbeside the top of the board.
- X\IPitem{{%
- X\bf Move\ Blocks\rm%
- X}}
- XThe move blocks are located on the right of the screen. There
- Xare two move blocks; one for you, and one for your opponent.
- XYou will use your move block to enter your moves, and you will
- Xsee your opponent's moves displayed in his move block. A move
- Xblock consists of a header, which identifies the owner of the
- Xmove block, and two columns of either two or four lines.
- XEach line in a move block is one roll, and shows the value
- Xof the roll (in the range 1--6) and how that roll has been used.
- XIf doubles were rolled,
- Xthe third and fourth lines will also
- Xbe used to display the two additional rolls that may be used.
- X\IPitem{{%
- X\bf Command\ Box\rm%
- X}}
- XThe bottom right corner of the screen contains a small box
- Xthat displays the commands that are legal at any given time.
- XYou can execute a command by typing the first letter; you
- Xshould not hit return afterwards. There may be legal commands
- Xother than those shown in the command box, depending on
- Xthe state the game is in. Press "h" or "?" for a complete listing
- Xof legal commands.
- X\IPitem{{%
- X\bf Message\ Area\rm%
- X}}
- XThe bottom 6 lines of the screen are reserved for messages of
- Xvarious types. The bottom line is used for error and informative
- Xmessages that occur as a game is played. The top line in this
- Xarea displays messages pertaining to the status of a game, such as
- Xblots hit by an opponent's move. The remaining 4 lines are used to
- Xenclose a message to your opponent with your move, and to display
- Xthe one your opponent sent to you. These messages may be up to
- X2 lines of 56 characters.
- X\end{IPlist}\par
- X\shead{STARTUP FILE}
- XThe first time you run
- X{\it ldb,}
- Xit will ask you if you want to
- Xcreate a
- X{\it .ldbrc}
- Xfile. You should answer "yes", unless you have a reason
- Xnot to. If you want the ldb startup file to be named something
- Xother than
- X{\it .ldbrc,}
- Xyou should set the environment variable LDBRC to the
- Xname you want before
- Xrunning ldb for the first time.
- XIf you do this, the LDBRC variable must be set
- Xevery time you run ldb.
- X{\it Ldb}
- Xmoves to the directory in the HOME environment variable,
- Xif it is set, before accessing any files.
- XThis makes all files (including .ldbrc) relative
- Xto \$HOME.
- X\par
- XThe
- X{\it .ldbrc}
- Xis organized as a sequence of name/value pairs, one per line,
- Xin the format
- X{\it name=value .}
- XThere should be no spaces before
- X{\it name}
- Xor before or after the equals sign. Comments are indicated
- Xby a pound sign (\#) in column 1, and extend to the end of the line.
- XThe following names are defined:
- X\begin{IPlist}
- X\IPitem{{myname}}
- XThis line is where you enter your (human) name.
- XIt is sent to your opponent when a game is started, to
- Xmake things a little more personal. You can put anything
- Xyou like here, of course, but I highly recommend you just
- Xstick to your name.
- XThe
- X{\it myname}
- Xline is mandatory; if you don't want your name
- Xsent to people, you can just put your email address instead,
- Xbut you must have something.
- X\IPitem{{myaddr}}
- XThis line defines your e--mail address. This is sent to your
- Xopponent when you start a game so they know how to send
- Xmail back to you. For people with multiple mail paths, put
- Xthe one here you use the most (e.g. the Internet domain--style
- Xpath), and for games that need to use a different address,
- Xuse the
- X{\it --myaddr}
- Xcommand line argument to override the path in
- X{\it .ldbrc. Note that the first time you start a game}
- Xwith someone, the address you use is saved in your
- Xpeople file. Subsequent games you start with this person
- Xautomatically use this same address, so the
- X{\it --myaddr}
- Xoption will be unnecessary.
- XThe
- X{\it myaddr}
- Xline is mandatory.
- X\IPitem{{peoplefile}}
- XThis line sets the file name that is used to store information
- Xabout your opponents. In addition to storing your opponents'
- Xnames, addresses, and aliases, it records the number of
- Xgames, points, gammons, backgammons, and matches you have
- Xwon or lost to that opponent. It also stores something
- Xcalled the
- X{\it fence,}
- Xwhich is the start time of the most recently finished game.
- XThis allows start messages from old games to be discarded.
- XThe peoplefile line is optional, and if it is not given,
- Xthe people file defaults to
- X{\it .ldbpeople.}
- X\IPitem{{gamefile}}
- XThis line sets the file name that is used to store games
- Xin progress. It is optional, and if it is not given, the
- Xgame file defaults to
- X{\it .ldbdata.}
- XMy advice, if you care, is that you should avoid
- Xusing a file name containing the string
- X{\it games}
- Xor any other giveaway string that would let your boss, sysadmin,
- Xor other local Nazi--type know that you're using
- Xa very expensive piece of high--tech equipment to goof off,
- Xwhen you could do that with nothing more exotic than
- Xa rubber band and some spitballs.
- X\IPitem{{backupfile}}
- XThis is the file your old
- X{\it gamefile}
- Xwill be moved to just before a new
- Xone is created. It defaults to
- X{\it .oldldbdata.}
- X\IPitem{{mailfile}}
- XThis line is where you tell ldb how to find the mail messages
- Xyour opponents have sent. There are several ways to do this.
- XThe simplest one is to just put
- Xsome file name here (the default is ldb.rcv) and, when you receive
- Xmail containing an
- Xldb
- Xmove, just save it to this file. When you are done reading your mail,
- Xrun ldb, and it will scan this file and extract all your incoming
- Xmoves. If your mail program is like most, it will
- Xappend messages if the file you are saving to already exists,
- Xwhich is just what you want.
- X{\it Ldb}
- Xwill silently ignore moves that it has already seen for games in
- Xprogress, so you don't have to clean them out of your mailfile
- Xif you don't want to.
- XNote however that if anything happens to your people file,
- Xand you have old start messages in your input file,
- Xldb could start a spurious game (i.e. one your opponent's ldb
- Xknows nothing about). Also, if your input file gets really long,
- Xldb will take a while to start up.
- XSo the best course is to delete all messages
- Xafter ldb has read them.
- X\IPitem{{}}
- XFor UNIX users, a much easier way
- Xis to set the mailfile to point to your
- Xactual mail file (e.g. /usr/spool/mail/\$USER), and let ldb
- Xscan your mail directly. This will only work if your system
- Xkeeps mail in ASCII format, but many do. Ldb will not
- Xdelete these messages from your mail
- Xso you will have to.
- X\IPitem{{}}
- XThe third option is to set the mailfile to a pattern instead
- Xof a filename. Ldb will scan all matching files for moves.
- XThis is good for mailers that don't append on save, and
- Xdon't store in ascii format, such as on VMS. Note that
- Xon VMS, if no version number is defined, mailfile defaults
- Xto scanning all versions.
- XVMS users should read the section entitled "VMS NOTES"
- Xfor more information on extracting mail.
- X\IPitem{{delmail}}
- XThis option causes any mail files scanned by ldb to be removed after
- Xthey have been scanned. This is a hideously dangerous option,
- Xso I recommend you try it in a friend's account first.
- XIt will delete ANY file that matches the pattern specified in
- Xthe mailfile line, with the exception that, under UNIX,
- Xit will refuse to delete any file starting with "/".
- XUse it with great care. This option defaults to no;
- Xto enable it, set it to "yes".
- X\IPitem{{lockfile}}
- XThis line sets the name of the ldb lock file.
- XIt defaults to
- X".ldb\_lock",
- Xand there's no
- Xreal reason to change it unless by some chance it conflicts
- Xwith a file name you might use.
- XWhen ldb starts, it checks to see if this file exists;
- Xif it does, ldb exits. Otherwise, it creates it and goes on.
- XThis prevents more than one ldb from running in the same
- Xaccount at the same time, and thereby garbling the data files.
- X\IPitem{{sendcmd}}
- XThis tells ldb how to send a file with your particular
- Xmail command. This string is passed to the system, after making the
- Xfollowing substitutions:
- X\IPitem{{\ \ \ \ \ \$a}}
- Xis substituted with the address to mail to.
- X\IPitem{{\ \ \ \ \ \$f}}
- Xis substituted with the file containing the message.
- X\IPitem{{\ \ \ \ \ \$s}}
- Xis substituted with the subject of the message.
- X\IPitem{{}}
- XMost mail systems will work fine with the default, which is
- X\nofill
- X mail --s '\$s' \$a $<$ \$f
- X\fill
- X\IPitem{{}}
- Xor, on VMS,
- X\nofill
- X MAIL/SUBJECT="\$s" \$f IN\%"""$<$\$a$>$"""
- X\fill
- X\IPitem{{}}
- XNote that the \$ substitutions are
- Xmade by ldb, not by a shell, and thus are not subject to
- Xany quoting. If you need a \$ in the string, use \$\$.
- XVMS users may need to change the name of the SMTP mailer;
- Xfor example, to send mail using Wollongong TCP/IP, you would
- Xuse the string
- X\IPitem{{}}
- X\nofill
- X MAIL/SUBJECT="\$s" \$f WINS\%"""$<$\$a$>$"""
- X\fill
- X\IPitem{{tempfile}}
- XThis line specifies a temporary file that ldb can use to compose
- Xmail messages. The file will be created in your home directory,
- Xthus avoiding file name conflicts in /tmp. It defaults to ldb.tmp.
- X\IPitem{{colors}}
- XThis is a string of two upper or lower case
- Xletters,
- Xand defines
- Xyour preferred colors for any games you start. The first character
- Xin the string is the color you will play, and the second is the
- Xone your opponent will play. It defaults to "rw", and is
- Xoverridden by the
- X{\it --color}
- Xcommand line argument.
- X\IPitem{{direction}}
- XThis is either "up" or "down", and defines your preferred direction
- Xof play for games you start. The direction of play only refers to
- Xwhether you play toward increasing or decreasing numbered points.
- XAlthough by default upward play goes toward the top of the screen,
- Xthis can be reversed (for your screen only) by the "Invert"
- Xcommand in the Control menu,
- Xaccessible via the
- X{\it --control}
- Xcommand line argument. The default for this line is "up",
- Xand is overridden by the
- X{\it --direction}
- Xcommand line argument.
- X\IPitem{{initialboard}}
- XAs was alluded to earlier, your screen shows one of
- Xthree possible board images at any time. Although
- Xthe purpose for this
- Xwill be explained later, this line allows you to select
- Xwhich of these three boards should be displayed initially.
- XThe legal values are "before", "after", and "current".
- XThe default is "current".
- X\IPitem{{autoroll}}
- XIf you were the last to double, you have no option
- Xbut to roll the dice when it is your turn. If
- Xautoroll is enabled, ldb will roll the dice for you automatically
- Xin this case. For those that prefer consistency, autoroll
- Xmay be disabled, although attempting to double when you
- Xdoubled last will cause an
- Xerror message. Possible values for autoroll are "yes" and "no",
- Xwith "yes" being the default.
- X\IPitem{{automove}}
- XEach time you roll the dice, ldb determines how many
- Xlegal ways there are for you to use your rolls. In the
- Xrelatively unusual case where there is only one way
- Xfor you to use your rolls, ldb can automatically apply
- Xthis move to your board before displaying it. Automove
- Xis disabled by default because quite frankly it's
- Xpretty annoying. Possible values for automove are "yes"
- Xand "no", with "no" being the default.
- X\IPitem{{autodouble}}
- XOne of the official rules of backgammon allows for
- Xautomatically doubling the game value when the opening
- Xroll is a tie. The rules go on to state that automatic
- Xdoubling is only to be used when the players agree beforehand
- Xon its use and limitations. The method ldb uses to implement
- Xthis somewhat vague rule is to allow each player to specify
- Xa maximum number of autodoubles they are willing to accept in
- X{\it .ldbrc,}
- Xand for the maximum number of autodoubles applied to any game
- Xto be the lesser of the two players' specified limits.
- XFor example, if you set
- X{\it autodouble=4}
- Xin your .ldbrc, no game you play will ever be autodoubled
- Xmore than 4 times, although the number of tied opening rolls
- Xis obviously not limited. However, if you were to start a game
- Xwith someone who had set
- X{\it autodouble=2 ,}
- Xthat game would be limited to at most 2 autodoubles. If you don't
- Xwant to play automatic doubles, set
- Xautodouble=0, which is also the default.
- X\IPitem{{superkey}}
- XIf you live in fear of roving supervisors (or other
- Xfun-impaired individuals) running across you playing an
- Xinnocent game of backgammon,
- Xyou may want to enable the superkey function.
- XJust pick a key on the keyboard you never use in ldb, such as the
- Xbackquote, and put a line in
- X{\it .ldbrc}
- Xsetting superkey to the
- X{\it decimal\ ASCII\ code}
- Xof the key you want; for example, to use the backquote key,
- Xuse "superkey=96".
- XOnly single--character keys are allowed, and
- Xthe key you select will not be usable for normal purposes
- Xwithin ldb. Make it one you can hit in a hurry.
- X\IPitem{{supercmd}}
- XIf you'd rather have a program of your choice come up
- Xinstead of the shell when the superkey is pressed,
- Xput it on this line. It will be passed
- Xunchanged to a shell via the system() function.
- XVMS users should read the note in the section titled
- X"VMS NOTES" on supercmd functionality.
- X\IPitem{{checkpoint}}
- XThis option keeps the gamefile up to date by writing it out
- Xwhenever the dice are rolled or a message is sent. This
- Xprevents game information from being lost if ldb crashes,
- Xyour machine goes down, or what have you. This option is
- Xenabled by default, and I highly recommend you leave it
- Xthat way. If you just can't stand the thought of a few extra
- Xwrites to disk, you can disable it with "checkpoint=no".
- XOn your own head be it.
- X\IPitem{{timeout}}
- XThis option sets the number of days ldb will wait for a reply
- Xfrom your opponent. After this number of days passes, ldb
- Xwill assume your last message was lost and automatically resend it.
- XThis prevents the situation where both players think they are
- Xwaiting on the other, and eventually both players forget they
- Xeven have a game going. This option defaults to 7 days;
- Xyou can disable automatic resends by setting it to 0.
- X\IPitem{{keepold}}
- XThis option sets the number of days ldb will keep a game after
- Xit is over. This can be handy in case you need to resend the last
- Xmove of a game. This option defaults to 7 days; if you set
- Xit to 0, finished games are deleted immediately.
- X\IPitem{{debug}}
- XThis option enables various debug messages. It is a bitmap,
- Xwith each set bit enabling debug messages from a different part
- Xof ldb. Most people will want to leave it at 0, which is
- Xthe default. If you want debug messages, look for the
- Xdefinitions of DB\_* in ldb.h.
- X\end{IPlist}\par
- X\shead{PEOPLE FILE}
- XLdb maintains a list of all of the people you
- Xhave ever played. This file is used for several purposes:
- X\begin{IPlist}
- X\IPitem{{1}}
- XIt stores the number of games, points, gammons, backgammons,
- Xand matches you have won and lost to that person.
- X\IPitem{{2}}
- XIt stores the address for that person, and the
- Xaddress that person should use to get to you.
- XIt also allows you to assign an alias to that person,
- Xand to use that alias when starting a game instead
- Xof the full e--mail address.
- X\IPitem{{3}}
- XIt stores information that allows ldb to reject
- Xstart messages from defunct games.
- X\end{IPlist}\par
- XNormally, you should never have to edit the
- Xpeople file, but it is described here in case
- Xyou need to for some reason. It is in the same
- Xoverall format as .ldbrc (name/value pairs).
- X\begin{IPlist}
- X\IPitem{{addr}}
- XThis is the address of the opponent. This is what
- Xuniquely defines the record, in case you are playing
- Xtwo people with the same name.
- X\IPitem{{name}}
- XThis is the name of the opponent.
- X\IPitem{{alias}}
- XThis is a "nickname" you can assign to
- Xan opponent. When a new opponent is found,
- Xthe alias is initialized to the first word of
- Xthe opponent's name, with all upper case letters
- Xchanged to lower. You can change the alias to
- Xany desired string with a text editor (just make sure
- Xldb isn't running at the time, or your changes will
- Xbe lost).
- X\IPitem{{myaddr}}
- XThis is the address that this opponent should use to
- Xmail to you. This saves you from having to specify
- Xthe -myaddr argument when starting a game, and is
- Xespecially important with permanent games, since
- Xthese games are started automatically without giving
- Xyou a chance to change your address. If you only
- Xhave one e--mail path, you can ignore this.
- XThis field is initialized to the value of the
- X{\it --myaddr}
- Xoption at the time the first game with
- Xthis opponent is started, or to
- Xthe value of myaddr from .ldbrc if no
- X{\it --myaddr}
- Xoption was used.
- X\IPitem{{equiv}}
- XThe presence of this field flags this as an "equiv"
- Xrecord. Equiv records allow one opponent to have multiple
- Xe--mail addresses, but to cause all of them to refer to
- Xone people record. Equiv records have no valid fields
- Xexcept
- X{\it addr}
- Xand
- X{\it equiv,}
- Xand must be preceded by the record they refer to in the people file.
- X\IPitem{{fence}}
- XThe fence is defined as the start time of the most
- Xrecently started game that has finished. If that makes
- Xno sense, don't worry, you should never have to mess
- Xwith it. It is used to discard old start messages that
- Xyou forgot to clean out of your mail.
- X\IPitem{{score}}
- XThis is an array of 10 numbers that represent, in order:
- X\IPitem{{}}
- X\nofill
- X - Games won
- X - Games lost
- X - Points won
- X - Points lost
- X - Gammons won
- X - Gammons lost
- X - Backgammons won
- X - Backgammons lost
- X - Matches won
- X - Matches lost
- X\fill
- X\IPitem{{}}
- XThis information is stored purely for whatever purposes you
- Xcan think of.
- X\IPitem{{end}}
- XThis line is required to separate people records. If you
- Xhand enter a record, you must be sure to put an end marker
- Xor your record will merge with the next one, which is
- Xnot what you want.
- X\end{IPlist}\par
- X\shead{STARTING A GAME}
- XTo start a game, you must use the
- X{\it --start}
- Xcommand line argument, along with the e--mail address of
- Xthe person you wish to play with.
- XFor example,
- X\nofill
- X ldb --start mybuddy@back.gammon.com
- X\fill
- XIf you want to play 'w', and make your opponent play
- X'b', use the command
- X\nofill
- X ldb --color wb --start black@blah.blah.blah
- X\fill
- XSee the
- XOPTIONS section for more details on the available
- Xcommand line arguments.
- X{\it Ldb}
- Xwill not allow you to play with yourself, but
- Xthat's ok because you'd probably lose.
- X\par
- XWhen you start a game, ldb sends your e--mail address
- Xto your opponent, along with
- Xyour opening roll. When your opponent receives
- Xyour message, his ldb will roll his opening roll, and
- Xdecide who won. If you won, his ldb will send your ldb
- Xa message to that effect, and the board will come up
- Xon your screen with that roll in your move block. If he
- Xwon, he will use the opening roll and his ldb will send
- Xyour ldb
- Xa message telling you how he moved. Either way, the game is off
- Xand running.
- X\par
- XIf, by unfortunate chance, the opening roll is a tie,
- Xyour opponent's ldb will send
- Xyour ldb a message to that effect.
- XThis will cause a new opening roll sequence as
- Xdescribed above.
- XA message will be printed telling you
- Xwhat's going on;
- Xjust keep feeding the incoming messages to ldb, and
- Xit will take care of everything.
- X\par
- X\shead{PLAYING A GAME}
- XWhen it is your turn, the game will be displayed on your screen,
- Xand you will be
- Xfaced with three options: Roll, Double, or Concede.
- XUnless you are very cocky, I would not suggest doubling
- Xat this point. You could always concede, but I really
- Xthink that would be selling yourself short.
- XSo you should choose "Roll".
- XJust press "r", and watch your roll appear on
- Xyour move block (along the right side of the screen, under the
- Xword "You"). You should see two numbers appear (four if you
- Xrolled doubles), and the word UNUSED beside them.
- XDecide which of the rolls you want to use first, and press
- Xthe number of that roll. For example, say you rolled
- X1 6, and you want to move the obvious 8--7, 13--7 to
- Xmake your bar point.
- XJust hit "6". Notice the cursor jump up to your move block, beside
- Xthe "6" roll? It is waiting for you to enter the point you want
- Xto move from. Press "1" "3" (don't hit return). You should see
- Xa piece move from 13 to 7, and this fact will be reflected in
- Xyour move block as well. Now, press "1". Again the cursor
- Xjumps to the move block, and you type "8".
- XThe second entry in the move block
- Xreflects this move, as does the board. Happy? If not, press
- X"r"; this will reset your rolls to UNUSED and put
- Xthe board back to how it was before you moved,
- Xand then you can enter some different moves. Otherwise, hit "s"
- X(not "q"!)
- Xto send the move. The cursor will jump down to the message area,
- Xwhere you get a chance to enclose a message to your opponent,
- Xperhaps to gloat over the great move you just made.
- XYou only get 2 lines of 56 characters, so keep it short. When
- Xyou are done, press $<$return$>$. Your move is on its way!
- X\par
- XThere are three shortcuts you can use
- Xafter you have entered your first move:
- X\begin{IPlist}
- X\IPitem{{1.}}
- XYou can press $<$return$>$, which will "repeat" your last move.
- XThat is, your next remaining roll will move from the same
- Xpoint as your last one moved from. This is handy when
- Xusing doubles to move more than one piece from the same point.
- X\IPitem{{2.}}
- XYou can press $<$space$>$, which will "continue" your last move.
- XThat is, your next remaining roll will move from the
- Xpoint your last move ended on.
- X\IPitem{{3.}}
- XYou can press "p", which will attempt to make the point your
- Xlast move ended on. In our 1 6 example above, you could have
- Xjust hit "p" after you moved 13--7, and ldb would have figured
- Xout that to make the 7 point with the remaining roll of 1,
- Xit would have to move a piece from the 8 point.
- X\end{IPlist}\par
- XIn addition, there is one more shortcut that may be used
- Xwith any roll. If you want to use a roll to bear off
- Xa piece, you can just hit "o". Ldb will locate the
- Xpoint (if any) from which pieces may be legally borne off
- Xby the next unused roll, and make that move automatically.
- XYou can also select a roll, then hit "o".
- X\par
- XIf you use your moves, hit "Send", and start to enter your
- Xmessage, then realize you made a mistake, you can press
- XESC to get out of send and back into the game, where
- Xyou can use "Reset" and re--enter your moves.
- X\par
- X\shead{DOUBLING}
- XIf you decide to double, just choose "Double" instead of
- X"Roll". You will get to enclose a message, just like when
- Xyou send a move, then your message gets sent. Once you have
- Xdoubled, you cannot double again until your opponent does so,
- Xso ldb automatically selects "Roll" and sends you to the
- Xnext menu. If you don't like this, you can disable it by
- Xsetting
- X{\it autoroll=no}
- Xin .ldbrc.
- X\par
- XIf your opponent doubles, you will see a message just under
- Xthe board to that effect, and a menu will come up
- Xallowing you to Accept or Decline the double.
- XDeclining the double means you lose the game for the
- Xcurrent game value. Accepting means that the game
- Xcontinues, but its value is doubled. The current
- Xgame value is shown to the left of the board. After
- Xyou accept, you should see this display move next to your
- Xhome board, indicating that you own the doubling cube.
- X\par
- XIf the Crawford rule game is being played,
- Xdoubling is illegal, and will result in an error message.
- X\par
- X\shead{BOARDS}
- X{\it Ldb}
- Xmaintains three board images at all times. These are:
- X\begin{IPlist}
- X\IPitem{{1}}
- XThe board before your opponent's last move.
- XIt is for display purposes only, so you can see your
- Xopponent's move "before and after". The pieces your opponent
- Xis going to move are highlighted.
- X\IPitem{{2}}
- XThe board after your opponent's last move.
- XIt shows the condition of the
- Xboard after your opponent's last move, with the pieces he
- Xmoved highlighted.
- X\IPitem{{3}}
- XThe current board. This is the "real" board that shows the
- Xcurrent state of the game.
- XNothing is highlighted.
- X\end{IPlist}\par
- XBy default, ldb displays the Current board at all times. If
- Xyou want to see the other boards, use the Board command
- X(provided it is in the current menu). This will cycle through
- Xthe three boards in the order they are listed above. The second
- Xline of the screen tells you which board is displayed (near the left). When
- Xyou roll, ldb automatically switches to the current board if
- Xit is not already up. You can set which of these three boards
- Xis initially displayed via the
- X{\it initialboard}
- Xsetting in .ldbrc.
- X\par
- X\shead{ENTERING COMMENTS}
- XWhenever you send a move to your opponent, you are
- Xgiven the opportunity to enclose a two line comment.
- XWhile entering your comment, certain keys have special meaning.
- XThese are:
- X\begin{IPlist}
- X\IPitem{{BS/DEL}}
- XThe backspace and delete (or rubout) keys both erase the
- Xlast character typed. You can backspace from one line to
- Xthe previous one.
- X\IPitem{{\^{}W/\^{}B}}
- XThe \^{}W and \^{}B (control-W and control-B) keys both erase the
- Xlast word typed. Words are delimited by spaces.
- X\IPitem{{\^{}X/\^{}U}}
- XThe \^{}X and \^{}U (control-X and control-U) keys erase the
- Xcurrent line and move to the end of the previous line,
- Xor to the beginning of the first line if used on the
- Xfirst line.
- X\IPitem{{RETURN}}
- XIf you press return on an empty line, or on the last line,
- Xthe comment is finished. Otherwise, the cursor moves to the
- Xnext line.
- X\IPitem{{ESC}}
- XThe escape key aborts the operation (e.g. Send), restores
- Xthe previous comment, and returns to the previous menu.
- XThis allows you to change your mind and back out of
- Xan operation.
- X\end{IPlist}\par
- XAll other keys are entered into the comment. When you reach
- Xthe end of a line, ldb word-wraps to the next line, or beeps
- Xif you are at the end of the last line. Note that the
- Xsuperkey is still active while entering comments, and
- Xcannot be entered into a comment.
- X\par
- X\shead{CONTROLLING A GAME}
- XThe
- X{\it --control}
- Xoption permits you to control your games in
- Xcertain ways. Each of your current games are
- Xdisplayed, one at a time, just as they are when you
- Xare playing, allowing you to perform any of the
- Xfunctions on the control menu.
- XThe control menu has the following commands:
- X\begin{IPlist}
- X\IPitem{{Invert}}
- XThis allows you to invert the board for this game. The
- Xboard will invert immediately on your screen, so you can
- Xsee if you like it. Pressing
- X{\it Invert}
- Xagain will put it back to normal. Inverting the board does
- Xnot affect the point numbering or the color you play,
- Xit merely draws the board with the low-numbered points at
- Xthe top of the screen rather than the bottom. You may find
- Xit easier to make all of your games play a certain direction.
- X\IPitem{{Resend}}
- XFrom time to time, messages may be lost due to faulty mailers
- Xor human error. If your last message gets lost, you can
- Xregenerate it with the
- X{\it Resend}
- Xcommand. There is no harm in regenerating messages, as
- Xldb will ignore duplicate messages. If you and your opponent
- Xhave forgotten whose move it is, the easiest way to get going
- Xagain is for both of you to resend your last message. The one
- Xthat got lost will be accepted, and the game will be off
- Xand running again. So that you can resend the last move
- Xof a game, completed games are kept in your .ldbdata for
- X1 week, after which they are deleted. They may be deleted
- Xsooner with the Delete Game command. Note also that
- Xgames that have been waiting for your opponent for more than
- X1 week have an automatic resend performed whenever you run ldb.
- XResend is disabled if it is your turn.
- X\IPitem{{Get\ Resend}}
- XThis allows you to send a message to your opponent's
- Xldb requesting a resend. This saves your opponent the
- Xtrouble of getting into
- X{\it --control,}
- Xfinding which game you're talking about, and resending.
- XInstead, he can just feed your resend request message into
- Xldb like it was a regular move. Version 1.0 of ldb
- Xnot only does not support this feature, but will crash
- Xif a resend request packet is sent to it, so
- X{\it --control}
- Xwill check to make sure your opponent is running
- Xthe proper version
- Xbefore sending the message.
- X"Get Resend" is disabled for games that are over.
- X\IPitem{{Screen\ Dump}}
- XThis command makes an exact copy of the screen in the
- Xfile "ldb\_screen.dmp". This could be useful if you
- Xwant to mail the board to someone or print it out.
- X\IPitem{{Delete\ Game}}
- XThis command marks a game for deletion. The game is not deleted
- Xuntil you quit, and you can undelete it by pressing D again.
- XNormally, you should not delete a game in this manner,
- Xyou should play until someone wins or concedes. The
- X{\it Delete\ Game}
- Xcommand can be used to get rid of games where your opponent
- Xdoesn't answer his mail, or doesn't want to play, etc.
- X\IPitem{{Next\ Game}}
- XThe next game is displayed. If there is no next game,
- Xthis choice is equivalent to
- X{\it Quit.}
- X\IPitem{{Quit}}
- XThis allows you to exit from
- X{\it --control .}
- XIf you made any changes to your games, you will be given the opportunity
- Xto save these changes, then ldb will exit.
- X\end{IPlist}\shead{VMS NOTES}
- X\par
- XVMS users have a few unique considerations:
- X\par
- XOn VMS, the default file names are changed from .ldb* to ldb.*. This
- Xgroups all ldb files together.
- X\par
- XVMS mail doesn't append
- Xmessages to an existing file, it creates new versions.
- XTo accommodate this, vms-compiled executables will search all versions
- Xof a file by default. This applies to files specified on the command
- Xline as well as the file specified in your ldb.rc. You can disable
- Xthis in either case by specifying a version number, or by specifying
- Xversion number 0 to get the most current version. The default setting
- Xin ldb.rc is to scan sys\$login:ldb.rcv;*. You might want to change
- Xthis to ldb.txt;*, since that is the default extension added by
- Xmail when you extract a file. If you use multiple versions, you
- Xshould be careful not to PURGE until after you have run ldb.
- X\par
- XIf you have the Eunice package, ldb will compile and run under it fine,
- Xbut any files created by the Eunice--compiled version
- X(most notably the games file)
- Xwill be incompatible with the VAX C--compiled version. Use the
- Xunixtovms command to convert.
- X\par
- XLdb is available in vms\_share format with the manual preformatted.
- XIf you have MMS, you can use the makefile.vms provided by entering:
- X\nofill
- X \$ rename makefile.vms makefile.
- X \$ make
- X\fill
- XIf you don't have a make available, you can compile with:
- X\nofill
- X \$ @makeldb
- X\fill
- XAfter ldb is compiled, you'll probably want
- Xto define a symbol such as:
- X\nofill
- X \$ ldb :== \$dua0:[me.ldb]ldb
- X\fill
- Xso you can run it.
- X\par
- XThe VMS implementation spawns a subprocess with no command when the
- Xsuperkey is pressed. You can enter LOGOUT or EOJ to return to the
- Xgame. If you define a command to run when the superkey is pressed,
- Xthe command will be run, but you will still need to logout of
- Xthe subprocess to return to ldb.
- X\par
- X\shead{BUGS}
- X\par
- XA game file created by ldb under Eunice must be run through
- X"unixtovms" before the VAX--C ldb can read it.
- X\par
- XThe superkey function only works when ldb is waiting for a key.
- XIf ldb is doing something time-consuming, such as calculating
- Xlegal moves, the superkey will not work until the calculation
- Xis complete.
- X\par
- XThere should be a way to play interactively (using socket connections,
- Xfor example), rather than via e--mail.
- X\par
- XUnder Eunice, there is a bug when delmail is enabled,
- Xreceived mail is in a file with multiple versions,
- Xand these versions are entered on the command line
- X(as opposed to being specified by a pattern in .ldbrc).
- XEunice handles multiple versions by appending a dot and the version
- Xnumber to all versions of the file but the newest version,
- Xto which it appends nothing. When the most recent version is deleted,
- Xthe next older
- Xversion becomes the most recent, and has no version suffix
- Xattached. This file will be skipped, since its name changed
- Xbetween the time the file list was created and the file is opened.
- XAll other files will be scanned properly. The work-around for this
- Xis to not use a pattern like 'ldb ldb.txt*' on the command line
- Xto specify all versions of the file, but rather use 'ldb ldb.txt.* ldb.txt'
- Xso that the most recent version is scanned (and thus deleted) last.
- XAlternatively, the pattern can be quoted so that ldb interprets
- Xit instead of the shell.
- X\par
- XThe
- X{\it --myaddr}
- Xcommand line option should override the
- Xmyaddr line in the people file.
- X\par
- XVersion 1.0 of ldb only allowed the colors red,
- Xwhite, and black, represented by r, w, and b,
- Xrespectively. Although ldb 1.0 will allow games
- Xto be started and played correctly with different
- Xcolors, the move blocks will have the string "*BAD COLOR*"
- Xdisplayed where the color should be, making it difficult
- Xto figure out which color you are playing. Upgrading
- Xto a newer ldb will fix this. Nevertheless, if you
- Xare playing someone who is using ldb 1.0, you may want
- Xto restrict your color choices to r, w, and b.
- X\par
- XOccasionally, ldb will print a spurious message telling
- Xyou that you only have one legal move. Usually when it prints
- Xthis, it is right, but in the special case where you have one
- Xpiece left to bear off, one of your rolls is less than
- Xyou need to bear it off, and the other roll is big enough
- Xto bear off by itself, ldb will want you to use the smaller
- Xdie first, then bear off with the bigger one. This is consistent
- Xwith the rules that say you must use both dice if you can,
- Xbut is not correct in this case. Note that you can either
- Xuse both dice like ldb wants, or ignore the message and bear
- Xoff with the larger die. Your move will be accepted either way.
- X%
- X% end of input file: ldb.man
- X%--------------------------------------------------
- X\end{document}
- END_OF_FILE
- if test 48103 -ne `wc -c <'ldb-man.tex'`; then
- echo shar: \"'ldb-man.tex'\" unpacked with wrong size!
- fi
- # end of 'ldb-man.tex'
- fi
- echo shar: End of archive 12 \(of 12\).
- cp /dev/null ark12isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 12 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
- exit 0 # Just in case...
-