home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zaphod.mps.ohio-state.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!dayton.saic.com!dayvd.dayton.saic.com!ake
- From: ake@dayvd.dayton.saic.com (Earle Ake)
- Newsgroups: vmsnet.sources.games
- Subject: ldb - Long Distance Backgammon [15/16]
- Date: 8 Apr 93 11:06:38 EST
- Organization: Science Applications Intl Corp - Dayton, OH
- Lines: 1149
- Message-ID: <1993Apr8.110638.1@dayvd.dayton.saic.com>
- NNTP-Posting-Host: dayvd.dayton.saic.com
- Xref: uunet vmsnet.sources.games:676
-
- -+-+-+-+-+-+-+-+ START OF PART 15 -+-+-+-+-+-+-+-+
- X`09char`09opdir;`09`09`09/*`201/-1`20direction`20opponent`20is`20moving`20*/
- X`09int`09gameval;`09`09/*`20current`20value`20of`20game`20*/
- X`09int`09adcnt;`09`09`09/*`20current`20number`20of`20autodoubles`20*/
- X`09int`09admax;`09`09`09/*`20max`20autodoubles`20allowed`20*/
- X`09int`09flags;`09`09`09/*`20various`20flags`20(F_*)`20*/
- X`09int`09opver;`09`09`09/*`20opponent's`20ldb`20version`20*/
- X`09char`09state;`09`09`09/*`20my`20current`20state`20(ST_*)`20*/
- X`09char`09term;`09`09`09/*`20if`20game`20over,`20why`20(T_*)`20*/
- X`09int`09seq;`09`09`09/*`20sequence`20number`20of`20next`20pkt`20*/
- X`09int`09lastop;`09`09`09/*`20last`20opcode`20sent`20(for`20resends)`20*/
- X`09char`09*mycmt;`09`09`09/*`20comment`20I`20sent`20with`20last`20move`20*/
- X`09char`09*mycmt2;`09`09/*`20second`20line`20of`20mycmt`20*/
- X`09char`09*opcmt;`09`09`09/*`20comment`20I`20received`20with`20last`20move`20*
- V/
- X`09char`09*opcmt2;`09`09/*`20second`20line`20of`20opcmt`20*/
- X`09char`09*dispmsg;`09`09/*`20msg`20to`20display`20when`20game`20drawn`20*/
- X`09struct`20mv`20opmvs`5B4`5D;`09`09/*`20opponent's`20last`20move`20*/
- X`09char`09blot`5B4`5D;`09`09/*`20my`20blots`20that`20were`20hit`20*/
- X`09struct`20mv`20mvs`5B4`5D;`09`09/*`20my`20move,`20holds`20roll`20until`20I
- V`20move`20*/
- X`09int`09maxused;`09`09/*`20#`20of`20rolls`20in`20mvs`20that`20can`20be`20used
- V*/
- X`09int`09hiused;`09`09`09/*`20highest`20roll`20that`20can`20be`20used`20*/
- X`09board`09opbd;`09`09`09/*`20board`20image`20before`20opmvs`20applied`20*/
- X`09board`09mybd;`09`09`09/*`20board`20before`20mvs`20(for`20Reset)`20*/
- X`09board`09board;`09`09`09/*`20current`20board`20image`20*/
- X`09char`09curbd;`09`09`09/*`20which`20brd`20is`20currently`20displayed`20*/
- X`09int`09rolls`5B6`5D;`09`09/*`20how`20many`20of`20each`20roll`20we`20get`20*/
- V
- X`09int`09doubles`5B6`5D;`09`09/*`20how`20many`20of`20each`20double`20we`20get
- V`20*/
- X`09int`09oprolls`5B6`5D;`09`09/*`20how`20many`20of`20each`20roll`20op`20gets
- V`20*/
- X`09int`09opdoubles`5B6`5D;`09`09/*`20how`20many`20of`20each`20double`20op`20ge
- Vts`20*/
- X`09long`09starttime;`09`09/*`20time`20START`20packet`20was`20sent`20*/
- X`09long`09lastacc;`09`09/*`20last`20time`20game`20was`20accessed`20*/
- X`09int`09mcurrent`5B2`5D;`09`09/*`20current`20match`20scores`20for`20me`20`26
- V`20op`20*/
- X`09int`09mtotal;`09`09`09/*`20match`20score`20we`20are`20playing`20to`20*/
- X`09char`09*notify;`09`09/*`20address`20to`20mail`20to`20when`20game`20over`20*
- V/
- X`09struct`20people`20*ppl;`09`09/*`20side`20pointer`20to`20people`20record`20*
- V/
- X`09struct`20game`20*prev;`09`09/*`20back`20link`20in`20game`20list`20*/
- X`09struct`20game`20*next;`09`09/*`20forward`20link`20in`20game`20list`20*/
- X`09`7D;
- X
- Xstruct`20packet`20`7B
- X`09int`09version;`09`09/*`20ldb`20version`20*/
- X`09long`09timestamp;`09`09/*`20time`20packet`20was`20sent`20*/
- X`09char`09*gameid;`09`09/*`20the`20gameid`20string`20*/
- X`09int`09opcode;`09`09`09/*`20operation`20being`20performed`20*/
- X`09char`09*name;`09`09`09/*`20name`20*/
- X`09char`09*addr;`09`09`09/*`20mail`20address`20*/
- X`09char`09*comment;`09`09/*`20comment`20received`20*/
- X`09char`09*comment2;`09`09/*`20second`20line`20of`20comment`20*/
- X`09int`09seq;`09`09`09/*`20sequence`20number`20*/
- X`09char`09*colors;`09`09/*`20colors`20of`20new`20game`20*/
- X`09char`09*dir;`09`09`09/*`20direction`20of`20game`20starter`20*/
- X`09char`09*autodbl;`09`09/*`20autodouble`20count`20(sprintf'ed)`20*/
- X`09struct`20mv`20mvs`5B4`5D;`09`09/*`20moves`20(if`20opcode`20==`20MOVE)`20*/
- X`09char`09*jacoby;`09`09/*`20yes=jacoby`20rule`20in`20effect`20*/
- X`09char`09*crawford;`09`09/*`20yes=crawford`20rule`20in`20effect`20*/
- X`09char`09*european;`09`09/*`20yes=european`20rule`20in`20effect`20*/
- X`09char`09*perm;`09`09`09/*`20yes=permanent`20game`20*/
- X`09char`09*match;`09`09`09/*`20number`20of`20points`20in`20match`20*/
- X`09char`09*notify;`09`09/*`20address`20to`20notify`20when`20game`20ends`20*/
- X`09struct`20game`20*gameptr;`09`09/*`20not`20a`20pkt`20field,`20set`20by`20get
- Vpkt()`20*/
- X`09`7D;
- X
- Xstruct`20people`20`7B`09`09`09`09/*`20people`20we`20play`20with`20*/
- X`09char`09*name;`09`09`09/*`20person's`20name`20*/
- X`09char`09*addr;`09`09`09/*`20person's`20mail`20address`20*/
- X`09char`09*alias;`09`09`09/*`20person's`20nickname`20*/
- X`09char`09*myaddr;`09`09/*`20my`20addr`20for`20this`20person`20*/
- X`09char`09*equiv;`09`09`09/*`20equiv`20name`20for`20ppl`20w/`20mult`20addr`20*
- V/
- X`09long`09fence;`09`09`09/*`20start`20time`20of`20newest`20finished`20game*/
- X`09int`09score`5B10`5D;`09`09/*`20won/lost`20record,`20see`20SC_*`20*/
- X`09struct`20people`20*next;`09`09/*`20forward`20link`20*/
- X`09`7D;
- X
- Xstruct`20legal`20`7B`09`09`09`09/*`20list`20of`20legal`20moves`20*/
- X`09int`20nmove;`09`09`09/*`20number`20of`20moves`20in`20this`20entry`20*/
- X`09int`20himove;`09`09`09/*`20highest`20roll`20used`20in`20this`20entry`20*/
- X`09struct`20mv`20mvs`5B4`5D;`09`09/*`20the`20rolls`20and`20moves`20*/
- X`09struct`20legal`20*prev;`09`09/*`20pointer`20to`20the`20previous`20entry`20*
- V/
- X`09struct`20legal`20*next;`09`09/*`20pointer`20to`20the`20previous`20entry`20*
- V/
- X`09`7D;
- X
- Xextern`20int`20Pflag;`09`09`09/*`20should`20I`20process`20local`20input?`20*/
- Xextern`20int`20Rflag;`09`09`09/*`20should`20I`20look`20for`20mail?`20*/
- Xextern`20struct`20game`20*ghead;`09`09/*`20head`20of`20linked`20list`20of`20ga
- Vmes`20*/
- Xextern`20struct`20game`20*gtail;`09`09/*`20tail`20of`20linked`20list`20of`20ga
- Vmes`20*/
- Xextern`20struct`20legal`20*lhead;`09`09/*`20head`20of`20list`20of`20legal`20mo
- Vves`20*/
- Xextern`20struct`20legal`20*ltail;`09`09/*`20tail`20of`20list`20of`20legal`20mo
- Vves`20*/
- Xextern`20int`20(*func`5BOPSTATES`5D`5BNOP`5D)();`09/*`20receive`20state`20mach
- Vine`20*/
- Xstruct`20ldbrc`20rc;`09`09`09/*`20stuff`20from`20.ldbrc`20*/
- Xextern`20struct`20opt`20options`5B`5D;`09`09/*`20command`20line`20options`20*/
- V
- Xextern`20char`20*rejlcl`5B`5D;`09`09`09/*`20error`20messages`20for`20local`20p
- Vlayer`20*/
- Xextern`20char`20*rejmsg`5B`5D;`09`09`09/*`20error`20messages`20for`20received
- V`20moves`20*/
- Xextern`20char`20*opcodes`5B`5D;
- Xextern`20char`20blk76`5B`5D;`09`09`09/*`2076`20blanks`20*/
- Xextern`20struct`20packet`20P;`09`09`09/*`20last`20packet`20read`20*/
- Xextern`20char`20cr_mycolor;`09`09`09/*`20my`20color`20when`20game`20is`20creat
- Ved`20*/
- Xextern`20char`20cr_opcolor;`09`09`09/*`20opponent's`20color`20for`20new`20game
- Vs`20*/
- Xextern`20char`20cr_mydir;`09`09`09/*`20my`20direction`20for`20new`20games`20*/
- V
- Xextern`20char`20*notify;`09`09`09/*`20address`20to`20notify`20when`20game`20en
- Vds`20*/
- Xextern`20char`20*states`5B`5D;`09`09`09/*`20description`20of`20the`20states
- V`20*/
- X
- Xextern`20char`20FeIsActive;`09`09`09/*`20front-end`20been`20initialized?`20*/
- Xextern`20char`20FeWaitInit;`09`09`09/*`20non-0`20if`20message()`20called`20*/
- Xextern`20int`20GameState;`09`09`09/*`20Current`20game`20state`20for`20help`20*
- V/
- Xextern`20int`20boardnums`5B3`5D;`09`09/*`20board`20name`20->`20board`20number
- V`20*/
- X
- Xextern`20struct`20people`20*phead;`09`09/*`20head`20pointer`20of`20people`20li
- Vst`20*/
- X
- Xextern`20struct`20namevalue`20nv_rcfile`5B`5D,`20nv_gfile`5B`5D,`20nv_packet
- V`5B`5D,`20nv_pfile`5B`5D;
- Xextern`20struct`20namevalue`20nv_pequiv`5B`5D;
- X
- Xchar`20*tgetstr();
- Xchar`20*save(),`20*makeid(),`20*calloc();
- Xchar`20*nvscan(),`20*strchr(),`20*boardstr();
- Xchar`20*strchr(),`20*strrchr();
- Xstruct`20game`20*startgame(),`20*addgame(),`20*findgame();
- X
- Xstruct`20people`20*addppl(),`20*findppl(),`20*newppl();
- X
- Xint`20start(),`20istart(),`20tie(),`20restart(),`20mstart();
- Xint`20opmove(),`20opofr(),`20opconc(),`20opacpt(),`20opdec();
- Xint`20smerr();
- X
- Xlong`20rnd_ri();
- X
- Xchar`20FeMenu();
- X
- Xstruct`20flist`20*filelist();
- $ call unpack LDB.H;1 1090934642 ""
- $!
- $ create 'f'
- X/*`09patchlevel.h`099/9/91
- X`20*
- X`20*`20adapted`20from`20the`20file`20"patchlevel",`20which`20is`20part`20of
- V`20the
- X`20*`20"xloadimage"`20package`20by`20Jim`20Frost,`20and`20used`20within`20the
- V`20terms
- X`20*`20of`20the`20original`20copyright`20notice,`20which`20appears`20below.
- X`20*`20Please`20note`20that`20the`20copyright`20notice`20below`20applies`20onl
- Vy`20to
- X`20*`20this`20file.
- X`20*/
- X
- X/*
- X`20*`20Copyright`201989,`201990,`201991`20Jim`20Frost
- X`20*
- X`20*`20Permission`20to`20use,`20copy,`20modify,`20distribute,`20and`20sell`20t
- Vhis`20software
- X`20*`20and`20its`20documentation`20for`20any`20purpose`20is`20hereby`20granted
- V`20without`20fee,
- X`20*`20provided`20that`20the`20above`20copyright`20notice`20appear`20in`20all
- V`20copies`20and
- X`20*`20that`20both`20that`20copyright`20notice`20and`20this`20permission`20not
- Vice`20appear
- X`20*`20in`20supporting`20documentation.`20`20The`20author`20makes`20no`20repre
- Vsentations
- X`20*`20about`20the`20suitability`20of`20this`20software`20for`20any`20purpose.
- V`20`20It`20is
- X`20*`20provided`20"as`20is"`20without`20express`20or`20implied`20warranty.
- X`20*
- X`20*`20THE`20AUTHOR`20DISCLAIMS`20ALL`20WARRANTIES`20WITH`20REGARD`20TO`20THIS
- V`20SOFTWARE,
- X`20*`20INCLUDING`20ALL`20IMPLIED`20WARRANTIES`20OF`20MERCHANTABILITY`20AND`20F
- VITNESS,`20IN
- X`20*`20NO`20EVENT`20SHALL`20THE`20AUTHOR`20BE`20LIABLE`20FOR`20ANY`20SPECIAL,
- V`20INDIRECT`20OR
- X`20*`20CONSEQUENTIAL`20DAMAGES`20OR`20ANY`20DAMAGES`20WHATSOEVER`20RESULTING
- V`20FROM`20LOSS
- X`20*`20OF`20USE,`20DATA`20OR`20PROFITS,`20WHETHER`20IN`20AN`20ACTION`20OF`20CO
- VNTRACT,`20NEGLIGENCE
- X`20*`20OR`20OTHER`20TORTIOUS`20ACTION,`20ARISING`20OUT`20OF`20OR`20IN`20CONNEC
- VTION`20WITH`20THE
- X`20*`20USE`20OR`20PERFORMANCE`20OF`20THIS`20SOFTWARE.
- X`20*/
- X
- X`09/*`20REVISION`20and`20PATCHLEVEL`20can't`20be`20more`20than`209`09`09`09*/
- X`09/*`20due`20to`20the`20way`20the`20version`20field`20is`20coded`20in`20outgo
- Ving`09*/
- X`09/*`20messages`20(i.e.`20only`201`20digit`20each).`20`20I`20would`20suggest
- V`09`09*/
- X`09/*`20rolling`20REVISION`20if`20PATCHLEVEL`20gets`20to`209,`20and`20similarl
- Vy`09*/
- X`09/*`20rolling`20VERSION`20if`20REVISION`20gets`20to`209.`20`20VERSION`20is
- V`09`09*/
- X`09/*`20essentially`20unlimited.`09`09`09`09`09*/
- X
- X#define`20VERSION`09`091
- X#define`20REVISION`093`09`09/*`20no`20more`20than`209`20*/
- X#define`20PATCHLEVEL`090`09`09/*`20no`20more`20than`209`20*/
- X#define`20AUTHOR_EMAIL`09"ross@emf780.den.mmc.com"
- $ call unpack PATCHLEVEL.H;1 1611664587 ""
- $!
- $ create 'f'
- X#!`20/bin/csh`20-x
- Xset`20host=cs.umb.edu`20home=/u/ra/ugrad/mrubin/ldb`20user=mrubin
- Xsource`20/usr/local/lib/.cshrc
- Xset`20nonomatch`20fld='`5EFrom`20`7C`5EReturn-Path:'`20edscr=(-e`20's/<//g'
- V`20-e`20's/>//g')
- Xcd`20$home
- Xsetenv`20LDBRC`20$home/starter.ldbrc
- Xsetenv`20HOME`20$home
- X#`20first`20handle`20bad`20addresses.
- Xcd`20badaddr
- Xset`20f=(*)
- Xif`20("$f"`20==`20"*")`20set`20f=""
- Xforeach`20x`20($f)
- X`09set`20rptmp=(`60egrep`20"($fld)"`20$x`20`7C`20awk`20'`7Bprint`20$2;`7D'`20
- V`7C`20tail`20-1`20`7C`20sed`20$edscr`60)
- X`09set`20rp=$rptmp`5B$#rptmp`5D
- X`09set`20to=(`60fgrep`20To:`20$x`20`7C`20tail`20-1`20`7C`20sed`20's/To://g'
- V`60)
- X`09echo`20"`60date`60`20`20badaddr`09`09$rp`09$to"`20>>`20../ldbstarter.log
- X`09mail`20-s`20"Mail`20to`20invalid`20ldb`20address"`20$rp:q`20<<EOF
- X
- X----------------------------------------------------------------------
- X`09The`20following`20is`20an`20automatic`20reply`20from
- X`09the`20ldb`20game`20starter`20at`20$host.
- X
- X`09The`20address`20you`20sent`20to:
- X`09`09$to
- X`09is`20not`20a`20valid`20ldb`20starter`20address.`20`20For`20more`20informati
- Von,
- X`09send`20a`20message`20to`20ldb-help@$host.
- X----------------------------------------------------------------------
- X
- XEOF
- X`09rm`20$x
- Xend
- X#`20Now`20handle`20all`20requests`20for`20more`20information.
- Xcd`20$home/help
- Xset`20f=(*)
- Xif`20("$f"`20==`20"*")`20set`20f=""
- Xforeach`20x`20($f)
- X`09set`20rptmp=(`60egrep`20"($fld)"`20$x`20`7C`20awk`20'`7Bprint`20$2;`7D'`20
- V`7C`20tail`20-1`20`7C`20sed`20$edscr`60)
- X`09set`20rp=$rptmp`5B$#rptmp`5D
- X`09echo`20"`60date`60`20`20help`09`09$rp"`20>>`20../ldbstarter.log
- X`09mail`20-s`20"Information`20on`20automatic`20ldb`20game`20starter"`20$rp:q
- V`20<<EOF
- X
- X----------------------------------------------------------------------
- X`09The`20following`20is`20an`20automatic`20reply`20from
- X`09the`20ldb`20game`20starter`20at`20$host.
- X
- XWelcome`20to`20the`20automatic`20ldb`20game`20starter`20system.`20`20Ldb`20is
- V`20a`20program`20that
- Xallows`20two`20people`20to`20easily`20play`20backgammon`20by`20e-mail.`20`20Th
- Vis`20system
- Xuses`20the`20remote`20start`20capability`20of`20ldb`20to`20automatically`20sta
- Vrt`20a
- Xgame`20between`20two`20people`20of`20similar`20ability.`20`20Before`20you`20ca
- Vn`20use
- Xthe`20ldb`20starter,`20you`20will`20need`20to`20get`20and`20compile`20ldb`20on
- V`20your`20system.
- XLdb`20is`20accessible`20via`20anonymous`20ftp`20from`20ftp.uu.net`20or`20any
- V`20other`20host`20that
- Xarchives`20the`20comp.sources.misc`20newsgroup.`20`20Retrieve`20all`20parts,
- V`20uncompress
- Xthem,`20un-tar`20them,`20and`20read`20the`20file`20README`20for`20compilation
- V`20and
- Xinstallation`20instructions.`20`20Ldb`20runs`20on`20most`2032-bit`20UNIX`20sys
- Vtems
- Xand`20on`20VAXes`20under`20VMS`205.0`20or`20higher.
- X
- XTo`20use`20the`20ldb`20starter,`20simply`20send`20a`20mail`20message`20to`20on
- Ve`20of`20the
- Xfollowing`20addresses:
- X`09ldb-novice@$host
- X`09ldb-intermediate@$host
- X`09ldb-expert@$host
- Xdepending`20on`20what`20level`20of`20ability`20you`20are`20at.`20`20You`20choo
- Vse`20your`20level
- Xof`20play`20for`20yourself,`20there`20are`20no`20restrictions`20on`20which`20l
- Vevel`20you
- Xplay`20at.`20`20The`20game`20starter`20system`20does`20not`20keep`20any`20reco
- Vrd`20of`20your
- Xlevel,`20or`20whether`20you`20win`20or`20lose.`20`20It`20is`20merely`20a`20con
- Vvenient`20way
- Xto`20meet`20new`20backgammon`20players`20that`20are`20at`20more`20or`20less
- V`20the`20same
- Xlevel`20of`20ability`20as`20you`20are.`20`20It`20doesn't`20matter`20what`20you
- V`20put`20in
- Xthe`20message,`20the`20game`20starter`20only`20uses`20your`20return`20address.
- V
- XThe`20message`20can`20be`20empty`20as`20far`20as`20the`20game`20starter`20is
- V`20concerned,
- Xbut`20your`20local`20mail`20program`20may`20complain`20about`20empty`20message
- Vs.
- X
- XEach`20time`20you`20send`20a`20message`20to`20one`20of`20the`20above`20address
- Ves,`20you`20are
- Xmatched`20at`20random`20with`20another`20person`20who`20sent`20to`20the`20same
- V`20address.
- XEach`20message`20you`20send`20only`20starts`20one`20game.`20`20When`20you`20ar
- Ve`20ready`20for
- Xanother`20game,`20you`20must`20send`20another`20message.
- X
- XThe`20game`20starter`20will`20try`20to`20avoid`20having`20you`20play`20yoursel
- Vf,
- Xbut`20it`20cannot`20guarantee`20this`20will`20not`20happen`20if`20you`20send
- Xmultiple`20requests`20to`20the`20same`20address`20within`20a`20short`20time.
- XTo`20avoid`20this`20problem,`20only`20send`20one`20request`20at`20a`20time,
- V`20and
- Xdo`20not`20send`20another`20one`20until`20the`20first`20game`20has`20been`20st
- Varted.
- X
- XNote`20that`20there`20could`20be`20an`20arbitrary`20delay`20between`20when`20y
- Vou
- Xsend`20the`20message`20and`20when`20the`20game`20is`20started.`20`20The`20game
- V`20starter
- Xdoes`20not`20currently`20send`20acknowledgements`20other`20than`20the
- Xactual`20start`20command.`20`20This`20is`20sent`20to`20one`20of`20the`20two
- V`20opponents
- Xat`20random,`20and`20will`20not`20reach`20the`20other`20one`20until`20the`20fi
- Vrst
- Xprocesses`20it`20through`20ldb.
- X
- XThis`20system`20will`20work`20best`20with`20"pure"`20domain-style`20e-mail`20a
- Vddresses.
- XIt`20*should*`20work`20with`20UUCP`20addresses`20too,`20but`20there`20could
- V`20be`20problems
- Xwith`20this,`20since`20the`20path`20messages`20take`20to`20get`20to`20the`20ga
- Vme`20starter
- Xmay`20not`20be`20the`20same`20path`20they`20should`20take`20to`20get`20to`20yo
- Vur`20opponent.
- XIf`20you`20want`20ldb`20to`20use`20an`20address`20for`20you`20other`20than`20t
- Vhe`20return
- Xaddress`20from`20your`20message,`20put`20the`20following`20line`20in`20your
- V`20message:
- X
- XReturn-Path:`20address@you.wanna.use.instead
- X
- XThe`20Return-Path:`20must`20be`20at`20the`20beginning`20of`20the`20line,`20and
- V`20must`20be
- Xexactly`20as`20shown`20(case`20*is*`20significant).
- X
- XPlease`20note`20that`20this`20system`20is`20still`20experimental.`20`20If`20yo
- Vu`20have`20a
- Xproblem`20using`20it,`20or`20if`20you`20have`20questions`20about`20ldb`20or
- V`20the
- Xautomatic`20game`20starter,`20contact`20Perry`20Ross`20by`20e-mail`20at
- Xross@emf780.den.mmc.com`20or`20Mark`20Rubin`20by`20e-mail`20at`20mrubin@cs.umb
- V.edu.
- X
- XGood`20Luck!
- X----------------------------------------------------------------------
- X
- XEOF
- X`09rm`20$x
- Xend
- Xforeach`20x`20(novice`20intermediate`20expert)
- X`09cd`20$home/$x
- X`09set`20z=$x
- X`09if`20($x`20!=`20intermediate)`20set`20z="$x`09"
- X`09set`20y=(`60ls`20`7C`20head`20-2`60)
- X`09while`20($#y`20>`201)
- X`09`09set`20u1tmp=(`60egrep`20"($fld)"`20$y`5B1`5D`20`7C`20awk`20'`7Bprint`20$
- V2;`7D'`20`7C`20tail`20-1`20`7C`20sed`20$edscr`60)
- X`09`09set`20u1=$u1tmp`5B$#u1tmp`5D
- X`09`09set`20u2tmp=(`60egrep`20"($fld)"`20$y`5B2`5D`20`7C`20awk`20'`7Bprint`20$
- V2;`7D'`20`7C`20tail`20-1`20`7C`20sed`20$edscr`60)
- X`09`09set`20u2=$u2tmp`5B$#u2tmp`5D
- X`09`09if`20("$u1"`20==`20"$u2")`20then`09#`20duplicate
- X`09`09`09rm`20$y`5B1`5D`09`09#`20eliminate`20one`20of`20them
- X`09`09`09set`20y=(`60ls`20`7C`20head`20-2`60)`09#`20and`20try`20again
- X`09`09`09continue
- X`09`09endif
- X`09`09/u/ra/ugrad/mrubin/bin/sun4/ldb`20-remotestart`20$u1:q`20$u2:q
- X`09`09rm`20$y
- X`09`09echo`20"`60date`60`20`20$z`09$u1:q`20$u2:q"`20>>`20../ldbstarter.log
- X`09`09set`20y=(`60ls`20`7C`20head`20-2`60)
- X`09end
- Xend
- Xexit
- $ call unpack LDBSTARTER.CSH;1 1042688351 ""
- $!
- $ create 'f'
- X%`20-*-LaTeX-*-
- X%`20Converted`20automatically`20from`20troff`20to`20LaTeX
- X%`20by`20tr2latex`20($Revision:`202.2`20$$Date:`201992/04/27`2015:13:26`20$
- V`20by`20C.`20Engel)
- X%`20on`20Thu`20Jun`2011`2012:30:31`201992
- X%`20tr2latex`20was`20written`20by`20Kamal`20Al-Yahya`20at`20Stanford`20Univers
- Vity
- X%`20(Kamal%Hanauma@SU-SCORE.ARPA)
- X%`20and`20substantially`20enhanced`20by`20Christian`20Engel`20at`20RWTH`20Aach
- Ven
- X%`20(krischan@informatik.rwth-aachen.de).
- X%
- X%`20troff`20input`20file:`20ldb.man
- X
- X`5Cdocumentstyle`5Btroffman,twoside`5D`7Barticle`7D
- X`5Cbegin`7Bdocument`7D
- X%--------------------------------------------------
- X%`20start`20of`20input`20file:`20ldb.man
- X%
- X%`20ldb.man`09`098/4/91
- X%
- X%`20Copyright`201991`20`20Perry`20R.`20Ross
- X%
- X%`20Permission`20to`20use,`20copy,`20modify,`20and`20distribute`20this`20softw
- Vare`20and`20its
- X%`20documentation`20without`20fee`20is`20hereby`20granted,`20subject`20to`20th
- Ve`20restrictions
- X%`20detailed`20in`20the`20README`20file,`20which`20is`20included`20here`20by
- V`20reference.
- X%`20Any`20other`20use`20requires`20written`20permission`20from`20the`20author.
- V`20`20This`20software
- X%`20is`20distributed`20"as`20is"`20without`20any`20warranty,`20including`20any
- V`20implied
- X%`20warranties`20of`20merchantability`20or`20fitness`20for`20a`20particular
- V`20purpose.
- X%`20The`20author`20shall`20not`20be`20liable`20for`20any`20damages`20resulting
- V`20from`20the
- X%`20use`20of`20this`20software.`20`20By`20using`20this`20software,`20the`20use
- Vr`20agrees
- X%`20to`20these`20terms.
- X%
- X%`20VMS`20bug`20fixes`20and`20additions`20by`20Earle`20F.`20Ake`20<ake@dayton.
- Vsaic.com>
- X%
- X`5Cphead`7BLDB`7D`7B1`7D`7BMay`204,`201992`7D`7B`7D`7B`7D%.nh
- X%.nr`20si`205n
- X%.ie`20`5CnT`20.pl`20`5CnTv
- X`5Cshead`7BNAME`7D
- Xldb`20--`20Play`20backgammon`20by`20e--mail
- X`5Cshead`7BSYNOPSIS`7D
- Xldb`20`5Boptions`5D`20`5Binput`20files...`5D
- X`5Cnwl
- X`5Cshead`7BDESCRIPTION`7D
- X`7B`5Cit`20Ldb`7D
- Xallows`20two`20people`20to`20play`20backgammon`20over`20a
- Xnetwork`20using`20electronic`20mail.`20`20It`20runs`20on`20character--oriented
- V
- Xterminals,`20or`20emulators`20thereof,`20using`20the
- X`7B`5Cit`20curses`7D
- Xscreen`20package.`20`20It`20will`20run`20on`20most`20UNIX`20dialects,`20as
- Xwell`20as`20VAX--C`20under`20VMS`205.0`20and`20above.
- X`7B`5Cit`20Ldb`7D
- Xwill`20display`20a`20picture`20of`20the`20board,`20prompt`20the`20user`20to
- Xenter`20a`20move,`20check`20the`20move`20for`20legality,
- Xand`20send`20the`20move`20to`20the`20opponent.
- XWhen`20it`20arrives,`20it`20will`20be`20displayed`20on`20the`20opponent's`20sc
- Vreen,
- Xafter`20which`20the`20opponent`20will`20be`20prompted`20for`20a`20move`20to
- Xbe`20sent`20back.
- X`5Cshead`7BFEATURES`7D
- X`5Cbegin`7BIPlist`7D
- X`5CIPitem`7B`7BMultiple`5C`20Games`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xcan`20keep`20track`20of`20an`20arbitrary`20number`20of`20games`20simultaneousl
- Vy,
- Xand`20will`20display`20them`20one`20at`20a`20time`20for`20you`20to`20play.
- XYou`20can`20exit`20from
- X`7B`5Cit`20ldb`7D
- Xat`20any`20time;`20when`20you`20run`20ldb`20again,`20it`20will`20pick`20up
- Xyour`20games`20where`20you`20left`20off.
- X`5CIPitem`7B`7BMove`5C`20Checking`7D`7D
- XBoth`20your`20moves`20and`20your`20opponent's`20moves`20are`20checked`20for
- V`20legality.
- XThis`20includes:
- X`5CIPitem`7B`7B--`7D`7D
- XLanding`20on`20an`20occupied`20point.
- X`5CIPitem`7B`7B--`7D`7D
- XBearing`20off`20before`20your`20inner`20table`20is`20full.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20move`20pieces`20that`20are`20on`20the`20board`20when`20you
- Xhave`20a`20piece`20on`20the`20bar.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20bear`20off`20a`20piece
- Xwhen`20there`20is`20a`20piece`20on`20a`20higher`20point,`20and
- Xthe`20roll`20is`20not`20being`20used`20exactly.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20leave`20a`20usable`20move`20unused.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20leave`20a`20move`20unused`20when`20it`20is`20usable`20and`20has
- Xa`20higher`20roll`20than`20the`20move`20that`20is`20used.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20double`20when`20you`20doubled`20last.
- X`5CIPitem`7B`7B--`7D`7D
- XTrying`20to`20double`20when`20either`20player`20is`20within`201`20point`20of
- Xwinning`20the`20match,`20and`20the`20Crawford`20rule`20is`20in`20effect.
- X`5CIPitem`7B`7BMessage`5C`20Reliability`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xdetects`20(and`20rejects)`20duplicate`20messages,`20and`20can
- Xregenerate`20lost`20messages.
- X`5CIPitem`7B`7BRemote`5C`20Start`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xcan`20start`20a`20game`20between`20two`20players`20on`20remote`20hosts.
- XThis`20is`20used`20to`20set`20up`20"game`20starter"`20hosts,
- Xwhere`20people`20interested`20in`20finding`20new`20opponents`20are
- Xmatched`20by`20some`20criteria`20(such`20as`20ability,`20or`20by`20a
- Xtournament`20schedule),`20and`20have`20their`20games`20started
- Xautomatically.`20`20For`20a`20current`20listing`20of`20game
- Xstarter`20hosts,`20see`20the`20README`20file.
- X`5CIPitem`7B`7BGame`5C`20Value`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xdetects`20the`20end`20of`20the`20game,`20gammons,`20and`20backgammons,
- Xand`20notifies`20both`20players`20of`20the`20game`20value`20when`20the
- Xgame`20is`20over.`20`20The`20Jacoby`20rule`20may`20be`20enabled,
- Xas`20may`20European`20scoring,`20to`20calculate`20the`20game`20value
- Xas`20desired.
- X`5CIPitem`7B`7BOnline`5C`20Help`5C`20Screen`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xhas`20an`20online,`20context`20sensitive`20help`20facility
- Xthat`20lists`20the`20available`20commands`20for`20the`20current`20screen.
- X`5CIPitem`7B`7BMatch`5C`20Play`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xcan`20support`20matches`20that`20play`20to`20any
- Xdesired`20point`20total,`20and`20will`20continue`20to
- Xstart`20games`20until`20one`20player`20reaches`20that`20total.
- X`5Cend`7BIPlist`7D`5Cpar
- X`5Cshead`7BOPTIONS`7D
- X`5Cbegin`7BIPlist`7D
- X`5CIPitem`7B`7B%
- X`5Cbf`20-read`5C`20`5Crm%
- X`7D`7D
- XMail`20is`20read,`20and`20the`20games`20are`20updated`20and`20saved.
- XThe`20user`20is`20not`20prompted`20for`20his`20moves.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-play`5C`20`5Crm%
- X`7D`7D
- XAny`20games`20that`20are`20waiting`20for`20local`20input`20are
- Xdisplayed`20for`20the`20user`20to`20process.`20`20No`20mail`20is`20read.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-color`5C`20xy`5Crm%
- X`7D`7D
- XThe`20colors`20for`20any`20games`20started`20are`20set`20to`20x`20and`20y.
- XThe`20first`20color`20is`20played`20by`20the`20local`20user,`20and`20the
- Xother`20is`20played`20by`20the`20opponent.`20`20Legal`20color
- Xcharacters`20are`20any`20upper`20or`20lower`20case`20letters.
- XThe`20default`20is`20"--color`20rw".`20`20This`20argument`20is`20positional,
- Xand`20only`20affects`20games`20started`20after`20it`20has`20been`20scanned.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-direction`5C`20up/down`5Crm%
- X`7D`7D
- XThe`20direction`20of`20play`20for`20any`20games`20started`20by`20the`20local
- V`20user
- Xis`20set`20to`20the`20specified`20value.
- XThe`20default`20is`20"--direction`20up".`20`20This`20argument`20is`20positiona
- Vl,
- Xand`20only`20affects`20games`20started`20after`20it`20has`20been`20scanned.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-myaddr`5C`20addr`5Crm%
- X`7D`7D
- XYour`20mail`20address`20is`20set`20to
- X`7B`5Cit`20addr`7D
- Xfor`20games`20started`20after`20the
- X`7B`5Cit`20--myaddr`7D
- Xoption`20is`20scanned.`20`20This`20overrides`20the`20address
- Xspecified`20in
- X`7B`5Cit`20.ldbrc.`7D
- X`5CIPitem`7B`7B%
- X`5Cbf`20-start`5C`20user`5Crm%
- X`7D`7D
- XA`20game`20is`20started`20with`20the`20specified`20user.
- XThe
- X`7B`5Cit`20user`7D
- Xargument`20may`20be`20any`20e--mail`20address`20that`20is`20valid`20for
- Xyour`20host.`20`20Some`20e--mail`20addresses`20will`20need`20to`20be`20quoted
- Xif`20they`20contain`20shell`20metacharacters.
- XThe
- X`7B`5Cit`20user`7D
- Xargument`20may`20also`20be`20an
- X`7B`5Cit`20alias`7D
- Xfor`20an`20opponent`20you`20have`20played`20before.
- XAliases`20are
- Xdefined`20in`20the`20people`20file,
- Xand`20are`20initialized`20to`20the`20first`20name`20of
- Xthe`20opponent,`20with`20all`20upper-case`20letters`20changed`20to`20lower.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-remotestart`5C`20user1`5C`20user2`5Crm%
- X`7D`7D
- XA`20game`20is`20started`20between`20user1`20and`20user2.`20`20The`20local
- Xhost`20sends`20a`20remote`20start`20message`20to`20user1`20instructing
- Xit`20to`20start`20a`20game`20with`20user2.`20`20The`20local`20host
- Xdoes`20not`20participate`20thereafter`20in`20the`20game.
- XFor`20the`20purposes`20of`20the`20--color`20and`20--direction`20options,
- Xuser1`20is`20considered`20the`20local`20user.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-jacoby`5Crm%
- X`7D`7D
- XThe`20Jacoby`20rule`20is`20enabled`20for`20all`20games`20started`20after`20the
- V
- X`7B`5Cit`20--jacoby`7D
- Xargument`20is`20scanned.`20`20This`20rule`20specifies`20that`20gammons
- Xand`20backgammons`20count`20as`20single`20games`20if`20neither`20player
- Xdoubled`20during`20the`20game.`20`20This`20option`20may`20only`20be`20enabled
- Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
- Vy
- Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
- Xnot`20support`20the`20Jacoby`20rule,`20it`20is`20disabled`20and`20the`20game
- Xproceeds`20as`20if`20it`20were`20never`20enabled.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-crawford`5Crm%
- X`7D`7D
- XThe`20Crawford`20rule`20is`20enabled`20for`20all`20games`20started`20after`20t
- Vhe
- X`7B`5Cit`20--crawford`7D
- Xargument`20is`20scanned.`20`20This`20rule`20specifies`20that`20neither
- Xplayer`20may`20double`20if`20either`20player`20is`20within`201`20point`20of
- Xwinning`20the`20match.`20`20If`20match`20play`20is`20not`20enabled,`20this
- Xargument`20has`20no`20meaning.
- XThis`20option`20may`20only`20be`20enabled
- Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
- Vy
- Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
- Xnot`20support`20the`20Crawford`20rule,`20it`20is`20disabled`20and`20the`20game
- V
- Xproceeds`20as`20if`20it`20were`20never`20enabled.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-european`5Crm%
- X`7D`7D
- XThe`20European`20rule`20is`20enabled`20for`20all`20games`20started`20after`20t
- Vhe
- X`7B`5Cit`20--european`7D
- Xargument`20is`20scanned.`20`20This`20rule`20specifies`20that`20backgammons
- Xcount`20as`20double,`20rather`20than`20triple,`20the`20score`20shown`20on`20th
- Ve`20cube.
- XThis`20option`20may`20only`20be`20enabled
- Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
- Vy
- Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
- Xnot`20support`20the`20European`20rule,`20it`20is`20disabled`20and`20the`20game
- V
- Xproceeds`20as`20if`20it`20were`20never`20enabled.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-permanent`5Crm%
- X`7D`7D
- XAny`20games`20started`20after`20the
- X`7B`5Cit`20--european`7D
- Xargument`20is`20scanned`20are`20marked`20permanent.`20`20Permanent`20games
- Xare`20automatically`20restarted`20when`20they`20end.`20`20This`20is`20for
- Xpeople`20you`20play`20with`20constantly,`20and`20it`20saves`20you`20the`20trou
- Vble
- Xof`20restarting`20the`20game`20when`20it`20is`20over.
- XThis`20option`20may`20only`20be`20enabled
- Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
- Vy
- Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
- Xnot`20support`20permanent`20games,`20the`20permanent`20flag`20is`20disabled
- V`20and`20the`20game
- Xproceeds`20as`20if`20it`20were`20never`20enabled.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-match`5C`20points`5Crm%
- X`7D`7D
- XThis`20option`20enables`20match`20play`20and`20specifies`20the`20number`20of
- V`20points
- Xthe`20match`20is`20to`20play`20to.`20`20Games`20that`20are`20part`20of`20a`20m
- Vatch`20have`20additional
- Xinformation`20displayed`20above`20the`20board`20to`20show`20the`20current`20ma
- Vtch`20score
- Xand`20the`20number`20of`20points`20being`20played`20to.`20`20When`20a`20game
- V`20that`20is`20part
- Xof`20a`20match`20ends,`20and`20the`20specified`20number`20of`20points`20has
- V`20not`20been`20reached,
- Xthe`20game`20is`20restarted.
- XThis`20option`20may`20only`20be`20enabled
- Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
- Vy
- Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
- Xnot`20support`20match`20play,`20the`20game
- Xproceeds`20as`20if`20it`20were`20a`20normal`20game.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-broadcast`5C`20file`5Crm%
- X`7D`7D
- XThe`20specified`20file`20is`20mailed`20to`20all`20current`20opponents.
- XThis`20is`20useful`20for`20announcing`20vacation`20absences,`20etc.
- X`5Cend`7BIPlist`7D`5Cpar
- XThe`20default`20mode`20for`20the`20--read`20and`20--play`20options
- Xis`20to`20do`20both.`20`20This`20is`20also`20what`20happens`20if`20both
- X--read`20and`20--play`20are`20given.`20`20Any`20arguments`20not`20beginning
- Xwith`20--`20are`20treated`20as`20input`20files`20and`20are`20searched`20for
- Xincoming`20moves`20from`20opponents.`20`20It`20is`20not`20an`20error`20for
- Xany`20of`20these`20files`20to`20not`20exist.
- X`5Cbegin`7BIPlist`7D
- X`5CIPitem`7B`7B%
- X`5Cbf`20-control`5Crm%
- X`7D`7D
- XThis`20option`20puts`20ldb`20into`20a`20special`20mode`20that`20does`20not`20a
- Vllow
- Xgames`20to`20be`20played,`20but`20instead`20displays`20them`20one`20at`20a`20t
- Vime
- Xand`20allows`20certain`20"overhead"`20functions`20to`20be`20performed.
- XThese`20are`20described`20fully`20in`20the`20section`20titled`20"CONTROLLING
- V`20A`20GAME".
- X`5CIPitem`7B`7B%
- X`5Cbf`20-reconstruct`5C`20file`5Crm%
- X`7D`7D
- XThis`20option`20allows`20your`20game`20file`20to`20be`20reconstructed`20if`20y
- Vou`20accidentally
- Xclobber`20it.`20`20It`20does`20this`20by`20extracting`20the`20information`20fr
- Vom`20your
- Xopponent's`20data`20file`20and`20"reversing"`20it`20so`20you`20can`20use`20it.
- V
- XTo`20use`20the`20reconstruct`20option,`20ask`20all`20of`20your`20opponents`20t
- Vo`20send
- Xyou`20their`20.ldbdata`20files.`20`20Extract`20these`20from`20your`20mail`20in
- Vto`20files
- Xon`20your`20system,`20strip`20the`20mail`20headers,`20and`20feed`20them`20one
- V`20at`20a`20time
- Xinto`20ldb.`20`20For`20each`20game`20found`20listing`20you`20as`20the`20oppone
- Vnt,`20you`20will
- Xbe`20prompted`20to`20enter`20the`20opponent's`20e-mail`20address`20or`20alias
- X(and`20his`20name`20if`20he
- Xis`20not`20in`20your`20people`20file),`20and`20the`20game`20will`20be`20added
- V`20to`20your
- Xgame`20file.
- X`5CIPitem`7B`7B`7D`7D
- XThe`20reconstruct`20function`20cannot`20recover`20games`20that`20were`20in`20t
- Vhe
- Xprocess`20of`20starting`20(i.e.`20in`20their`20initial`20roll`20stage),`20or
- V`20that
- Xhave`20already`20completed`20(why`20bother?).`20`20Your`20opponent`20should
- Xread`20any`20mail`20files`20you`20sent`20before`20your`20data`20file`20got`20c
- Vlobbered,
- Xand`20should`20make`20his`20move`20and`20send`20it`20before`20sending`20you
- V`20his`20data`20file.
- XYou`20will`20not`20need`20to`20process`20the`20move`20he`20sent,`20though,`20s
- Vince`20all
- Xthat`20data`20is`20in`20his`20file`20anyway.`20`20It`20won't`20hurt`20if`20you
- V`20do,
- Xldb`20will`20just`20ignore`20it.
- X`5CIPitem`7B`7B%
- X`5Cbf`20-help`5Crm%
- X`7D`7D
- XThis`20prints`20a`20one-line`20description`20of`20each`20option,`20in`20case
- V`20you
- Xforget`20later`20on.
- X`5Cend`7BIPlist`7D`5Cpar
- X`5Cshead`7BSCREEN`7D
- XThe`20screen`20displays`20the`20following`20items`20of`20interest:
- X`5Cbegin`7BIPlist`7D
- X`5CIPitem`7B`7B%
- X`5Cbf`20Opponent`5Crm%
- X`7D`7D
- XThe`20e--mail`20address`20and`20personal`20name`20of`20the`20opponent`20are
- V`20displayed
- Xon`20the`20top`20line`20of`20the`20screen.`20`20This`20can`20help`20identify
- V`20the
- Xgame`20if`20you`20have`20many`20games`20in`20progress`20at`20once.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Board`5C`20Label`5Crm%
- X`7D`7D
- X`7B`5Cit`20Ldb`7D
- Xdisplays`20one`20of`20three`20possible`20board`20images`20at`20a`20time;
- Xthe`20name`20of`20the`20board`20currently`20displayed`20is`20shown`20on
- Xthe`20second`20line`20of`20the`20screen,`20near`20the`20left.
- XThe`20significance`20of`20these`20three`20boards`20is`20explained`20below.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Flags`5Crm%
- X`7D`7D
- XThis`20area`20displays`20any`20special`20rules`20in`20effect`20for
- Xthe`20game.`20`20Each`20special`20rule`20causes`20one`20character`20to
- Xbe`20displayed.`20`20These`20are:
- X`5Cnofill
- X`20`20`20`20`20J`20`20`20`20`20Jacoby`20rule
- X`20`20`20`20`20C`20`20`20`20`20Crawford`20rule
- X`20`20`20`20`20E`20`20`20`20`20European`20rule
- X`20`20`20`20`20P`20`20`20`20`20Permanent`20game
- X`5Cfill
- X`5CIPitem`7B`7B%
- X`5Cbf`20Match`5C`20Score`5Crm%
- X`7D`7D
- XThe`20current`20match`20score`20is`20displayed`20next`20to`20the`20board`20lab
- Vel,
- Xas`20is`20the`20number`20of`20points`20the`20match`20plays`20to.
- XIf`20the`20game`20being`20displayed`20is`20not`20part`20of`20a`20match,
- Xthis`20area`20is`20blanked`20out.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Pip`5C`20Count`5Crm%
- X`7D`7D
- XNear`20the`20right`20of`20the`20screen`20on`20the`20second`20line`20is`20the
- Xpip`20count`20for`20the`20board`20being`20displayed.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Board`5Crm%
- X`7D`7D
- XThe`20board`20is`20displayed`20near`20the`20left`20side`20of`20the`20screen,
- V`20and`20takes
- Xup`20most`20of`20the`20screen`20area.`20`20It`20consists`20of`20an`20outline,
- V`20drawn
- Xwith`20ASCII`20characters,`20and`2028`20"points"`20where`20pieces`20can`20resi
- Vde.
- XOf`20these,`2024`20are`20the`20normal`20points`20making`20up`20the`20main`20bo
- Vdy`20of`20the
- Xboard`20(numbered`201--24),
- X2`20are`20the`20"BAR"`20points,`20located`20between`20the`20left
- Xand`20right`20halves`20of`20the`20main`20board,`20and`202`20are`20the`20"OFF"
- Xpoints`20(where`20pieces`20go`20when`20they`20are`20borne`20off),`20located
- V`20to`20the
- Xleft`20of`20the`20board.`20`20Pieces`20are`20represented`20by`20upper`20or`20l
- Vower`20case`20letters.
- XTo`20help`20you`20remember`20which`20direction`20you
- Xare`20playing,`20there`20are`20arrows`20drawn`20at`20the`20four`20corners`20of
- V`20the
- Xboard`20indicating`20your`20direction`20of`20play.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Doubling`5C`20Cube`5Crm%
- X`7D`7D
- XThe`20current`20value`20of`20the`20doubling`20cube`20is`20displayed`20in`20rev
- Verse
- Xvideo`20on`20the`20left`20side`20of`20the`20screen.`20`20The`20cube`20will`20a
- Vppear
- Xnext`20to`20the`20home`20board`20of`20the`20owner`20of`20the`20cube,
- Xor`20in`20the`20middle`20if`20neither`20player
- Xhas`20doubled.`20`20For`20example,`20if`20the`20player`20whose`20home`20board
- V`20is
- Xat`20the`20bottom`20of`20the`20screen`20doubled`20last,`20the`20cube`20will
- V`20appear
- Xbeside`20the`20top`20of`20the`20board.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Move`5C`20Blocks`5Crm%
- X`7D`7D
- XThe`20move`20blocks`20are`20located`20on`20the`20right`20of`20the`20screen.
- V`20`20There
- Xare`20two`20move`20blocks;`20one`20for`20you,`20and`20one`20for`20your`20oppon
- Vent.
- XYou`20will`20use`20your`20move`20block`20to`20enter`20your`20moves,`20and`20yo
- Vu`20will
- Xsee`20your`20opponent's`20moves`20displayed`20in`20his`20move`20block.`20`20A
- V`20move
- Xblock`20consists`20of`20a`20header,`20which`20identifies`20the`20owner`20of
- V`20the
- Xmove`20block,`20and`20two`20columns`20of`20either`20two`20or`20four`20lines.
- XEach`20line`20in`20a`20move`20block`20is`20one`20roll,`20and`20shows`20the`20v
- Value
- Xof`20the`20roll`20(in`20the`20range`201--6)`20and`20how`20that`20roll`20has
- V`20been`20used.
- XIf`20doubles`20were`20rolled,
- Xthe`20third`20and`20fourth`20lines`20will`20also
- Xbe`20used`20to`20display`20the`20two`20additional`20rolls`20that`20may`20be
- V`20used.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Command`5C`20Box`5Crm%
- X`7D`7D
- XThe`20bottom`20right`20corner`20of`20the`20screen`20contains`20a`20small`20box
- V
- Xthat`20displays`20the`20commands`20that`20are`20legal`20at`20any`20given`20tim
- Ve.
- XYou`20can`20execute`20a`20command`20by`20typing`20the`20first`20letter;`20you
- Xshould`20not`20hit`20return`20afterwards.`20`20There`20may`20be`20legal`20comm
- Vands
- Xother`20than`20those`20shown`20in`20the`20command`20box,`20depending`20on
- Xthe`20state`20the`20game`20is`20in.`20`20Press`20"h"`20or`20"?"`20for`20a`20co
- Vmplete`20listing
- Xof`20legal`20commands.
- X`5CIPitem`7B`7B%
- X`5Cbf`20Message`5C`20Area`5Crm%
- X`7D`7D
- XThe`20bottom`206`20lines`20of`20the`20screen`20are`20reserved`20for`20messages
- V`20of
- Xvarious`20types.`20`20The`20bottom`20line`20is`20used`20for`20error`20and`20in
- Vformative
- Xmessages`20that`20occur`20as`20a`20game`20is`20played.`20`20The`20top`20line
- V`20in`20this
- Xarea`20displays`20messages`20pertaining`20to`20the`20status`20of`20a`20game,
- V`20such`20as
- Xblots`20hit`20by`20an`20opponent's`20move.`20`20The`20remaining`204`20lines
- V`20are`20used`20to
- Xenclose`20a`20message`20to`20your`20opponent`20with`20your`20move,`20and`20to
- V`20display
- Xthe`20one`20your`20opponent`20sent`20to`20you.`20`20These`20messages`20may`20b
- Ve`20up`20to
- X2`20lines`20of`2056`20characters.
- X`5Cend`7BIPlist`7D`5Cpar
- X`5Cshead`7BSTARTUP`20FILE`7D
- XThe`20first`20time`20you`20run
- X`7B`5Cit`20ldb,`7D
- Xit`20will`20ask`20you`20if`20you`20want`20to
- Xcreate`20a
- X`7B`5Cit`20.ldbrc`7D
- Xfile.`20`20You`20should`20answer`20"yes",`20unless`20you`20have`20a`20reason
- Xnot`20to.`20`20If`20you`20want`20the`20ldb`20startup`20file`20to`20be`20named
- V`20something
- Xother`20than
- X`7B`5Cit`20.ldbrc,`7D
- Xyou`20should`20set`20the`20environment`20variable`20LDBRC`20to`20the
- Xname`20you`20want`20before
- Xrunning`20ldb`20for`20the`20first`20time.
- XIf`20you`20do`20this,`20the`20LDBRC`20variable`20must`20be`20set
- Xevery`20time`20you`20run`20ldb.
- X`7B`5Cit`20Ldb`7D
- Xmoves`20to`20the`20directory`20in`20the`20HOME`20environment`20variable,
- Xif`20it`20is`20set,`20before`20accessing`20any`20files.
- XThis`20makes`20all`20files`20(including`20.ldbrc)`20relative
- Xto`20`5C$HOME.
- X`5Cpar
- XThe
- X`7B`5Cit`20.ldbrc`7D
- Xis`20organized`20as`20a`20sequence`20of`20name/value`20pairs,`20one`20per`20li
- Vne,
- Xin`20the`20format
- X`7B`5Cit`20name=value`20.`7D
- XThere`20should`20be`20no`20spaces`20before
- X`7B`5Cit`20name`7D
- Xor`20before`20or`20after`20the`20equals`20sign.`20`20Comments`20are`20indicate
- Vd
- Xby`20a`20pound`20sign`20(`5C#)`20in`20column`201,`20and`20extend`20to`20the
- V`20end`20of`20the`20line.
- XThe`20following`20names`20are`20defined:
- X`5Cbegin`7BIPlist`7D
- X`5CIPitem`7B`7Bmyname`7D`7D
- XThis`20line`20is`20where`20you`20enter`20your`20(human)`20name.
- XIt`20is`20sent`20to`20your`20opponent`20when`20a`20game`20is`20started,`20to
- Xmake`20things`20a`20little`20more`20personal.`20`20You`20can`20put`20anything
- Xyou`20like`20here,`20of`20course,`20but`20I`20highly`20recommend`20you`20just
- Xstick`20to`20your`20name.
- XThe
- X`7B`5Cit`20myname`7D
- Xline`20is`20mandatory;`20if`20you`20don't`20want`20your`20name
- Xsent`20to`20people,`20you`20can`20just`20put`20your`20email`20address`20instea
- Vd,
- Xbut`20you`20must`20have`20something.
- X`5CIPitem`7B`7Bmyaddr`7D`7D
- XThis`20line`20defines`20your`20e--mail`20address.`20`20This`20is`20sent`20to
- V`20your
- Xopponent`20when`20you`20start`20a`20game`20so`20they`20know`20how`20to`20send
- Xmail`20back`20to`20you.`20`20For`20people`20with`20multiple`20mail`20paths,
- V`20put
- Xthe`20one`20here`20you`20use`20the`20most`20(e.g.`20the`20Internet`20domain--s
- Vtyle
- Xpath),`20and`20for`20games`20that`20need`20to`20use`20a`20different`20address,
- V
- Xuse`20the
- X`7B`5Cit`20--myaddr`7D
- Xcommand`20line`20argument`20to`20override`20the`20path`20in
- X`7B`5Cit`20.ldbrc.`20Note`20that`20the`20first`20time`20you`20start`20a`20game
- V`7D
- Xwith`20someone,`20the`20address`20you`20use`20is`20saved`20in`20your
- Xpeople`20file.`20`20Subsequent`20games`20you`20start`20with`20this`20person
- Xautomatically`20use`20this`20same`20address,`20so`20the
- X`7B`5Cit`20--myaddr`7D
- Xoption`20will`20be`20unnecessary.
- XThe
- X`7B`5Cit`20myaddr`7D
- Xline`20is`20mandatory.
- X`5CIPitem`7B`7Bpeoplefile`7D`7D
- XThis`20line`20sets`20the`20file`20name`20that`20is`20used`20to`20store`20infor
- Vmation
- Xabout`20your`20opponents.`20`20In`20addition`20to`20storing`20your`20opponents
- V'
- Xnames,`20addresses,`20and`20aliases,`20it`20records`20the`20number`20of
- Xgames,`20points,`20gammons,`20backgammons,`20and`20matches`20you`20have
- Xwon`20or`20lost`20to`20that`20opponent.`20`20It`20also`20stores`20something
- Xcalled`20the
- X`7B`5Cit`20fence,`7D
- Xwhich`20is`20the`20start`20time`20of`20the`20most`20recently`20finished`20game
- V.
- XThis`20allows`20start`20messages`20from`20old`20games`20to`20be`20discarded.
- XThe`20peoplefile`20line`20is`20optional,`20and`20if`20it`20is`20not`20given,
- Xthe`20people`20file`20defaults`20to
- X`7B`5Cit`20.ldbpeople.`7D
- X`5CIPitem`7B`7Bgamefile`7D`7D
- XThis`20line`20sets`20the`20file`20name`20that`20is`20used`20to`20store`20games
- V
- Xin`20progress.`20`20It`20is`20optional,`20and`20if`20it`20is`20not`20given,
- V`20the
- Xgame`20file`20defaults`20to
- X`7B`5Cit`20.ldbdata.`7D
- XMy`20advice,`20if`20you`20care,`20is`20that`20you`20should`20avoid
- Xusing`20a`20file`20name`20containing`20the`20string
- X`7B`5Cit`20games`7D
- Xor`20any`20other`20giveaway`20string`20that`20would`20let`20your`20boss,`20sys
- Vadmin,
- Xor`20other`20local`20Nazi--type`20know`20that`20you're`20using
- Xa`20very`20expensive`20piece`20of`20high--tech`20equipment`20to`20goof`20off,
- Xwhen`20you`20could`20do`20that`20with`20nothing`20more`20exotic`20than
- Xa`20rubber`20band`20and`20some`20spitballs.
- X`5CIPitem`7B`7Bbackupfile`7D`7D
- XThis`20is`20the`20file`20your`20old
- X`7B`5Cit`20gamefile`7D
- Xwill`20be`20moved`20to`20just`20before`20a`20new
- Xone`20is`20created.`20`20It`20defaults`20to
- X`7B`5Cit`20.oldldbdata.`7D
- X`5CIPitem`7B`7Bmailfile`7D`7D
- XThis`20line`20is`20where`20you`20tell`20ldb`20how`20to`20find`20the`20mail`20m
- Vessages
- Xyour`20opponents`20have`20sent.`20`20There`20are`20several`20ways`20to`20do
- V`20this.
- XThe`20simplest`20one`20is`20to`20just`20put
- Xsome`20file`20name`20here`20(the`20default`20is`20ldb.rcv)`20and,`20when`20you
- V`20receive
- Xmail`20containing`20an
- Xldb
- Xmove,`20just`20save`20it`20to`20this`20file.`20`20When`20you`20are`20done`20re
- Vading`20your`20mail,
- Xrun`20ldb,`20and`20it`20will`20scan`20this`20file`20and`20extract`20all`20your
- V`20incoming
- Xmoves.`20`20If`20your`20mail`20program`20is`20like`20most,`20it`20will
- Xappend`20messages`20if`20the`20file`20you`20are`20saving`20to`20already`20exis
- Vts,
- Xwhich`20is`20just`20what`20you`20want.
- X`7B`5Cit`20Ldb`7D
- Xwill`20silently`20ignore`20moves`20that`20it`20has`20already`20seen`20for`20ga
- Vmes`20in
- Xprogress,`20so`20you`20don't`20have`20to`20clean`20them`20out`20of`20your`20ma
- Vilfile
- Xif`20you`20don't`20want`20to.
- XNote`20however`20that`20if`20anything`20happens`20to`20your`20people`20file,
- Xand`20you`20have`20old`20start`20messages`20in`20your`20input`20file,
- Xldb`20could`20start`20a`20spurious`20game`20(i.e.`20one`20your`20opponent's
- V`20ldb
- Xknows`20nothing`20about).`20`20Also,`20if`20your`20input`20file`20gets`20reall
- Vy`20long,
- Xldb`20will`20take`20a`20while`20to`20start`20up.
- XSo`20the`20best`20course`20is`20to`20delete`20all`20messages
- Xafter`20ldb`20has`20read`20them.
- X`5CIPitem`7B`7B`7D`7D
- XFor`20UNIX`20users,`20a`20much`20easier`20way
- Xis`20to`20set`20the`20mailfile`20to`20point`20to`20your
- Xactual`20mail`20file`20(e.g.`20/usr/spool/mail/`5C$USER),`20and`20let`20ldb
- Xscan`20your`20mail`20directly.`20`20This`20will`20only`20work`20if`20your`20sy
- Vstem
- Xkeeps`20mail`20in`20ASCII`20format,`20but`20many`20do.`20`20Ldb`20will`20not
- Xdelete`20these`20messages`20from`20your`20mail
- Xso`20you`20will`20have`20to.
- X`5CIPitem`7B`7B`7D`7D
- XThe`20third`20option`20is`20to`20set`20the`20mailfile`20to`20a`20pattern`20ins
- Vtead
- Xof`20a`20filename.`20`20Ldb`20will`20scan`20all`20matching`20files`20for`20mov
- Ves.
- XThis`20is`20good`20for`20mailers`20that`20don't`20append`20on`20save,`20and
- Xdon't`20store`20in`20ascii`20format,`20such`20as`20on`20VMS.`20`20Note`20that
- Xon`20VMS,`20if`20no`20version`20number`20is`20defined,`20mailfile`20defaults
- Xto`20scanning`20all`20versions.
- XVMS`20users`20should`20read`20the`20section`20entitled`20"VMS`20NOTES"
- Xfor`20more`20information`20on`20extracting`20mail.
- X`5CIPitem`7B`7Bdelmail`7D`7D
- XThis`20option`20causes`20any`20mail`20files`20scanned`20by`20ldb`20to`20be`20r
- Vemoved`20after
- Xthey`20have`20been`20scanned.`20`20This`20is`20a`20hideously`20dangerous`20opt
- Vion,
- Xso`20I`20recommend`20you`20try`20it`20in`20a`20friend's`20account`20first.
- XIt`20will`20delete`20ANY`20file`20that`20matches`20the`20pattern`20specified
- V`20in
- Xthe`20mailfile`20line,`20with`20the`20exception`20that,`20under`20UNIX,
- Xit`20will`20refuse`20to`20delete`20any`20file`20starting`20with`20"/".
- XUse`20it`20with`20great`20care.`20`20This`20option`20defaults`20to`20no;
- Xto`20enable`20it,`20set`20it`20to`20"yes".
- X`5CIPitem`7B`7Blockfile`7D`7D
- XThis`20line`20sets`20the`20name`20of`20the`20ldb`20lock`20file.
- XIt`20defaults`20to
- X".ldb`5C_lock",
- Xand`20there's`20no
- Xreal`20reason`20to`20change`20it`20unless`20by`20some`20chance`20it`20conflict
- Vs
- Xwith`20a`20file`20name`20you`20might`20use.
- XWhen`20ldb`20starts,`20it`20checks`20to`20see`20if`20this`20file`20exists;
- Xif`20it`20does,`20ldb`20exits.`20`20Otherwise,`20it`20creates`20it`20and`20goe
- Vs`20on.
- XThis`20prevents`20more`20than`20one`20ldb`20from`20running`20in`20the`20same
- Xaccount`20at`20the`20same`20time,`20and`20thereby`20garbling`20the`20data`20fi
- Vles.
- X`5CIPitem`7B`7Bsendcmd`7D`7D
- XThis`20tells`20ldb`20how`20to`20send`20a`20file`20with`20your`20particular
- Xmail`20command.`20`20This`20string`20is`20passed`20to`20the`20system,`20after
- V`20making`20the
- Xfollowing`20substitutions:
- X`5CIPitem`7B`7B`5C`20`5C`20`5C`20`5C`20`5C`20`5C$a`7D`7D
- Xis`20substituted`20with`20the`20address`20to`20mail`20to.
- X`5CIPitem`7B`7B`5C`20`5C`20`5C`20`5C`20`5C`20`5C$f`7D`7D
- Xis`20substituted`20with`20the`20file`20containing`20the`20message.
- X`5CIPitem`7B`7B`5C`20`5C`20`5C`20`5C`20`5C`20`5C$s`7D`7D
- Xis`20substituted`20with`20the`20subject`20of`20the`20message.
- X`5CIPitem`7B`7B`7D`7D
- XMost`20mail`20systems`20will`20work`20fine`20with`20the`20default,`20which`20i
- Vs
- X`5Cnofill
- X`20`20`20`20`20mail`20--s`20'`5C$s'`20`5C$a`20$<$`20`5C$f
- X`5Cfill
- X`5CIPitem`7B`7B`7D`7D
- Xor,`20on`20VMS,
- X`5Cnofill
- X`20`20`20`20`20MAIL/SUBJECT="`5C$s"`20`5C$f`20IN`5C%"""$<$`5C$a$>$"""
- X`5Cfill
- X`5CIPitem`7B`7B`7D`7D
- XNote`20that`20the`20`5C$`20substitutions`20are
- Xmade`20by`20ldb,`20not`20by`20a`20shell,`20and`20thus`20are`20not`20subject
- V`20to
- Xany`20quoting.`20`20If`20you`20need`20a`20`5C$`20in`20the`20string,`20use`20
- V`5C$`5C$.
- XVMS`20users`20may`20need`20to`20change`20the`20name`20of`20the`20SMTP`20mailer
- V;
- Xfor`20example,`20to`20send`20mail`20using`20Wollongong`20TCP/IP,`20you`20would
- V
- Xuse`20the`20string
- X`5CIPitem`7B`7B`7D`7D
- X`5Cnofill
- X`20`20`20`20`20MAIL/SUBJECT="`5C$s"`20`5C$f`20WINS`5C%"""$<$`5C$a$>$"""
- X`5Cfill
- X`5CIPitem`7B`7Btempfile`7D`7D
- XThis`20line`20specifies`20a`20temporary`20file`20that`20ldb`20can`20use`20to
- V`20compose
- Xmail`20messages.`20`20The`20file`20will`20be`20created`20in`20your`20home`20di
- Vrectory,
- Xthus`20avoiding`20file`20name`20conflicts`20in`20/tmp.`20`20It`20defaults`20to
- V`20ldb.tmp.
- X`5CIPitem`7B`7Bcolors`7D`7D
- XThis`20is`20a`20string`20of`20two`20upper`20or`20lower`20case
- Xletters,
- Xand`20defines
- Xyour`20preferred`20colors`20for`20any`20games`20you`20start.`20`20The`20first
- V`20character
- Xin`20the`20string`20is`20the`20color`20you`20will`20play,`20and`20the`20second
- V`20is`20the
- Xone`20your`20opponent`20will`20play.`20`20It`20defaults`20to`20"rw",`20and`20i
- Vs
- Xoverridden`20by`20the
- X`7B`5Cit`20--color`7D
- Xcommand`20line`20argument.
- X`5CIPitem`7B`7Bdirection`7D`7D
- XThis`20is`20either`20"up"`20or`20"down",`20and`20defines`20your`20preferred
- V`20direction
- Xof`20play`20for`20games`20you`20start.`20`20The`20direction`20of`20play`20only
- V`20refers`20to
- Xwhether`20you`20play`20toward`20increasing`20or`20decreasing`20numbered`20poin
- Vts.
- +-+-+-+-+-+-+-+- END OF PART 15 +-+-+-+-+-+-+-+-
-