home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1994 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1994.iso
/
compsrcs
/
games
/
vmsnet
/
ldb
/
part03
< prev
next >
Wrap
Internet Message Format
|
1993-04-07
|
49KB
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 [03/16]
Date: 8 Apr 93 10:49:59 EST
Organization: Science Applications Intl Corp - Dayton, OH
Lines: 1136
Message-ID: <1993Apr8.104959.1@dayvd.dayton.saic.com>
NNTP-Posting-Host: dayvd.dayton.saic.com
Xref: uunet vmsnet.sources.games:664
-+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
X`20`20`20`20`20`20`20`20`20`20going`20to`20move`20are`20highlighted.
X
X`20`20`20`20`202`20`20`20`20The`20board`20after`20your`20opponent's`20last`20
V`20move.`20`20`20It`20`20shows
X`20`20`20`20`20`20`20`20`20`20the`20`20condition`20`20of`20the`20board`20after
V`20your`20opponent's`20last
X`20`20`20`20`20`20`20`20`20`20move,`20with`20the`20pieces`20he`20moved`20highl
Vighted.
X
X`20`20`20`20`203`20`20`20`20The`20current`20board.`20`20This`20is`20the`20"rea
Vl"`20board`20that`20shows
X`20`20`20`20`20`20`20`20`20`20the`20current`20state`20of`20the`20game.`20`20No
Vthing`20is`20highlighted.
X
X`20`20`20`20`20By`20default,`20ldb`20displays`20the`20Current`20board`20at`20a
Vll`20times.`20`20If
X`20`20`20`20`20you`20`20want`20`20to`20`20see`20`20the`20`20other`20boards,
V`20use`20the`20Board`20command
X`20`20`20`20`20(provided`20it`20is`20in`20`20the`20`20current`20`20menu).`20
V`20`20This`20`20will`20`20cycle
X`20`20`20`20`20through`20the`20three`20boards`20in`20the`20order`20they`20are
V`20listed`20above.
X`20`20`20`20`20The`20second`20line`20of`20the`20`20screen`20`20tells`20`20you
V`20`20which`20`20board`20`20is
X`20`20`20`20`20displayed`20(near`20the`20left).`20`20When`20you`20roll,`20ldb
V`20automatically
X`20`20`20`20`20switches`20to`20the`20current`20board`20if`20it`20is`20not`20al
Vready`20up.`20`20`20You
X`20`20`20`20`20can`20`20set`20`20which`20of`20these`20three`20boards`20is`20in
Vitially`20displayed
X`20`20`20`20`20via`20the`20_`08i_`08n_`08i_`08t_`08i_`08a_`08l_`08b_`08o_`08a_
V`08r_`08d`20setting`20in`20.ldbrc.
X
XENTERING`20COMMENTS
X`20`20`20`20`20Whenever`20you`20send`20a`20move`20to`20your`20opponent,`20you
V`20are`20given`20the
X`20`20`20`20`20opportunity`20`20to`20`20enclose`20a`20two`20line`20comment.
V`20`20While`20entering
X`20`20`20`20`20your`20comment,`20certain`20keys`20have`20special`20meaning.
V`20`20These`20are:
X
X`20`20`20`20`20BS/DEL
X`20`20`20`20`20`20`20`20`20`20The`20backspace`20and`20delete`20(or`20rubout)
V`20`20keys`20`20both`20`20erase
X`20`20`20`20`20`20`20`20`20`20the`20`20last`20`20character`20typed.`20`20You
V`20can`20backspace`20from`20one
X`20`20`20`20`20`20`20`20`20`20line`20to`20the`20previous`20one.
X
X`20`20`20`20`20`5EW/`5EB
X`20`20`20`20`20`20`20`20`20`20The`20`5EW`20and`20`5EB`20(control-W`20and`20con
Vtrol-B)`20keys`20both`20erase
X`20`20`20`20`20`20`20`20`20`20the`20last`20word`20typed.`20`20Words`20are`20de
Vlimited`20by`20spaces.
X
X`20`20`20`20`20`5EX/`5EU
X`20`20`20`20`20`20`20`20`20`20The`20`5EX`20and`20`5EU`20(control-X`20and`20con
Vtrol-U)`20keys`20erase`20`20the
X`20`20`20`20`20`20`20`20`20`20current`20`20line`20and`20move`20to`20the`20end
V`20of`20the`20previous`20line,
X`20`20`20`20`20`20`20`20`20`20or`20to`20the`20beginning`20of`20the`20first`20l
Vine`20if`20`20used`20`20on`20`20the
X`20`20`20`20`20`20`20`20`20`20first`20line.
X
X
X
X
XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20`20`20`2017
X
X
X
X
X
X
XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
X
X
X
X`20`20`20`20`20RETURN
X`20`20`20`20`20`20`20`20`20`20If`20you`20press`20return`20on`20an`20empty`20li
Vne,`20or`20`20on`20`20the`20`20last
X`20`20`20`20`20`20`20`20`20`20line,`20`20the`20`20comment`20is`20finished.`20
V`20Otherwise,`20the`20cursor
X`20`20`20`20`20`20`20`20`20`20moves`20to`20the`20next`20line.
X
X`20`20`20`20`20ESC`20`20The`20`20escape`20`20key`20`20aborts`20`20the`20`20ope
Vration`20`20(e.g.`20`20Send),
X`20`20`20`20`20`20`20`20`20`20restores`20`20the`20`20previous`20`20comment,
V`20`20and`20`20returns`20`20to`20the
X`20`20`20`20`20`20`20`20`20`20previous`20menu.`20`20This`20allows`20you`20to
V`20change`20your`20mind`20and
X`20`20`20`20`20`20`20`20`20`20back`20out`20of`20an`20operation.
X
X`20`20`20`20`20All`20other`20keys`20are`20entered`20into`20the`20comment.`20
V`20When`20you`20reach
X`20`20`20`20`20the`20end`20of`20a`20line,`20ldb`20word-wraps`20to`20the`20next
V`20line,`20or`20beeps
X`20`20`20`20`20if`20you`20are`20at`20the`20end`20of`20`20the`20`20last`20`20li
Vne.`20`20`20Note`20`20that`20`20the
X`20`20`20`20`20superkey`20is`20still`20active`20while`20entering`20comments,
V`20and`20cannot
X`20`20`20`20`20be`20entered`20into`20a`20comment.
X
XCONTROLLING`20A`20GAME
X`20`20`20`20`20The`20-_`08c_`08o_`08n_`08t_`08r_`08o_`08l`20option`20permits
V`20you`20to`20`20control`20`20your`20`20games`20`20in
X`20`20`20`20`20certain`20ways.`20`20Each`20of`20your`20current`20games`20are
V`20displayed,`20one
X`20`20`20`20`20at`20a`20time,`20just`20as`20they`20are`20when`20you`20are`20
V`20playing,`20`20allowing
X`20`20`20`20`20you`20`20to`20`20perform`20`20any`20`20of`20the`20functions`20o
Vn`20the`20control`20menu.
X`20`20`20`20`20The`20control`20menu`20has`20the`20following`20commands:
X
X`20`20`20`20`20Invert
X`20`20`20`20`20`20`20`20`20`20This`20allows`20you`20to`20invert`20the`20board
V`20for`20this`20game.`20`20The
X`20`20`20`20`20`20`20`20`20`20board`20`20will`20`20invert`20`20immediately`20o
Vn`20your`20screen,`20so`20you
X`20`20`20`20`20`20`20`20`20`20can`20see`20if`20you`20like`20it.`20`20Pressing
V`20_`08I_`08n_`08v_`08e_`08r_`08t`20again`20will`20put
X`20`20`20`20`20`20`20`20`20`20it`20back`20to`20normal.`20`20Inverting`20the
V`20board`20does`20not`20affect
X`20`20`20`20`20`20`20`20`20`20the`20point`20numbering`20or`20the`20color`20you
V`20`20play,`20`20it`20`20merely
X`20`20`20`20`20`20`20`20`20`20draws`20the`20board`20with`20the`20low-numbered
V`20points`20at`20the`20top
X`20`20`20`20`20`20`20`20`20`20of`20the`20screen`20rather`20than`20the`20bottom
V.`20`20You`20may`20find`20`20it
X`20`20`20`20`20`20`20`20`20`20easier`20`20to`20`20make`20`20all`20`20of`20`20y
Vour`20`20games`20`20play`20`20a`20certain
X`20`20`20`20`20`20`20`20`20`20direction.
X
X`20`20`20`20`20Resend
X`20`20`20`20`20`20`20`20`20`20From`20time`20to`20time,`20messages`20may`20be
V`20lost`20due`20`20to`20`20faulty
X`20`20`20`20`20`20`20`20`20`20mailers`20`20or`20`20human`20`20error.`20`20`20I
Vf`20`20your`20last`20message`20gets
X`20`20`20`20`20`20`20`20`20`20lost,`20you`20can`20regenerate`20it`20with`20
V`20the`20`20_`08R_`08e_`08s_`08e_`08n_`08d`20`20command.
X`20`20`20`20`20`20`20`20`20`20There`20`20is`20no`20harm`20in`20regenerating
V`20messages,`20as`20ldb`20will
X`20`20`20`20`20`20`20`20`20`20ignore`20duplicate`20messages.`20`20If`20you`20
V`20and`20`20your`20`20opponent
X`20`20`20`20`20`20`20`20`20`20have`20forgotten`20whose`20move`20it`20is,`20the
V`20easiest`20way`20to`20get
X`20`20`20`20`20`20`20`20`20`20going`20again`20is`20for`20both`20of`20`20you
V`20`20to`20`20resend`20`20your`20`20last
X`20`20`20`20`20`20`20`20`20`20message.`20`20`20The`20`20one`20that`20got`20los
Vt`20will`20be`20accepted,`20and
X`20`20`20`20`20`20`20`20`20`20the`20game`20will`20be`20off`20and`20running`20a
Vgain.`20`20`20So`20`20that`20`20you
X`20`20`20`20`20`20`20`20`20`20can`20resend`20the`20last`20move`20of`20a`20game
V,`20completed`20games`20are
X`20`20`20`20`20`20`20`20`20`20kept`20in`20your`20.ldbdata`20for`201`20week,
V`20after`20which`20they`20`20are
X`20`20`20`20`20`20`20`20`20`20deleted.`20`20`20They`20`20may`20`20be`20deleted
V`20sooner`20with`20the`20Delete
X`20`20`20`20`20`20`20`20`20`20Game`20command.`20`20Note`20also`20`20that`20
V`20games`20`20that`20`20have`20`20been
X`20`20`20`20`20`20`20`20`20`20waiting`20`20for`20your`20opponent`20for`20more
V`20than`201`20week`20have`20an
X`20`20`20`20`20`20`20`20`20`20automatic`20`20resend`20`20performed`20`20whenev
Ver`20`20you`20`20run`20`20`20ldb.
X`20`20`20`20`20`20`20`20`20`20Resend`20is`20disabled`20if`20it`20is`20your`20t
Vurn.
X
X
X
X
XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20`20`20`2018
X
X
X
X
X
X
XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
X
X
X
X`20`20`20`20`20Get`20Resend
X`20`20`20`20`20`20`20`20`20`20This`20allows`20you`20to`20send`20a`20message
V`20`20to`20`20your`20`20opponent's
X`20`20`20`20`20`20`20`20`20`20ldb`20`20requesting`20a`20resend.`20`20This`20sa
Vves`20your`20opponent`20the
X`20`20`20`20`20`20`20`20`20`20trouble`20of`20getting`20into`20-_`08c_`08o_`08n
V_`08t_`08r_`08o_`08l,`20`20finding`20`20which`20`20game
X`20`20`20`20`20`20`20`20`20`20you're`20`20talking`20`20about,`20and`20resendin
Vg.`20`20Instead,`20he`20can
X`20`20`20`20`20`20`20`20`20`20just`20feed`20your`20resend`20request`20message
V`20into`20ldb`20like`20`20it
X`20`20`20`20`20`20`20`20`20`20was`20`20a`20`20regular`20move.`20`20Version`201
V.0`20of`20ldb`20not`20only`20does
X`20`20`20`20`20`20`20`20`20`20not`20support`20this`20feature,`20but`20will`20c
Vrash`20`20if`20`20a`20`20resend
X`20`20`20`20`20`20`20`20`20`20request`20packet`20is`20sent`20to`20it,`20so`20-
V_`08c_`08o_`08n_`08t_`08r_`08o_`08l`20will`20check`20to
X`20`20`20`20`20`20`20`20`20`20make`20sure`20your`20opponent`20is`20running`20t
Vhe`20`20proper`20`20version
X`20`20`20`20`20`20`20`20`20`20before`20`20sending`20`20the`20message.`20`20"Ge
Vt`20Resend"`20is`20disabled
X`20`20`20`20`20`20`20`20`20`20for`20games`20that`20are`20over.
X
X`20`20`20`20`20Screen`20Dump
X`20`20`20`20`20`20`20`20`20`20This`20command`20makes`20an`20exact`20copy`20of
V`20the`20screen`20`20in`20`20the
X`20`20`20`20`20`20`20`20`20`20file`20`20"ldb_screen.dmp".`20`20`20This`20`20co
Vuld`20`20be`20useful`20if`20you
X`20`20`20`20`20`20`20`20`20`20want`20to`20mail`20the`20board`20to`20someone
V`20or`20print`20it`20out.
X
X`20`20`20`20`20Delete`20Game
X`20`20`20`20`20`20`20`20`20`20This`20command`20marks`20a`20game`20for`20deleti
Von.`20`20`20The`20`20game`20`20is
X`20`20`20`20`20`20`20`20`20`20not`20`20deleted`20until`20you`20quit,`20and`20y
Vou`20can`20undelete`20it`20by
X`20`20`20`20`20`20`20`20`20`20pressing`20D`20again.`20`20Normally,`20you`20sho
Vuld`20`20not`20`20delete`20`20a
X`20`20`20`20`20`20`20`20`20`20game`20in`20this`20manner,`20you`20should`20play
V`20until`20someone`20wins
X`20`20`20`20`20`20`20`20`20`20or`20concedes.`20`20The`20_`08D_`08e_`08l_`08e_
V`08t_`08e`20_`08G_`08a_`08m_`08e`20command`20can`20`20be`20`20used`20`20to
X`20`20`20`20`20`20`20`20`20`20get`20rid`20of`20games`20where`20your`20opponent
V`20doesn't`20answer`20his
X`20`20`20`20`20`20`20`20`20`20mail,`20or`20doesn't`20want`20to`20play,`20etc.
X
X`20`20`20`20`20Next`20Game
X`20`20`20`20`20`20`20`20`20`20The`20next`20game`20is`20displayed.`20`20If`20th
Vere`20is`20no`20next`20`20game,
X`20`20`20`20`20`20`20`20`20`20this`20choice`20is`20equivalent`20to`20_`08Q_
V`08u_`08i_`08t.
X
X`20`20`20`20`20Quit`20This`20allows`20you`20to`20exit`20from`20-_`08c_`08o_
V`08n_`08t_`08r_`08o_`08l`20.`20If`20you`20made`20any
X`20`20`20`20`20`20`20`20`20`20changes`20`20`20to`20`20`20your`20`20`20games,
V`20`20you`20`20will`20`20be`20`20given`20`20the
X`20`20`20`20`20`20`20`20`20`20opportunity`20to`20save`20these`20changes,`20the
Vn`20ldb`20will`20exit.
X
XVMS`20NOTES
X`20`20`20`20`20VMS`20users`20have`20a`20few`20unique`20considerations:
X
X`20`20`20`20`20On`20VMS,`20the`20default`20file`20names`20are`20`20changed`20
V`20from`20`20.ldb*`20`20to
X`20`20`20`20`20ldb.*.`20`20This`20groups`20all`20ldb`20files`20together.
X
X`20`20`20`20`20VMS`20mail`20doesn't`20append`20messages`20to`20`20an`20`20exis
Vting`20`20file,`20`20it
X`20`20`20`20`20creates`20`20new`20`20versions.`20`20`20To`20`20accommodate`20t
Vhis,`20vms-compiled
X`20`20`20`20`20executables`20will`20search`20all`20versions`20of`20a`20file
V`20`20by`20`20default.
X`20`20`20`20`20This`20`20applies`20to`20files`20specified`20on`20the`20command
V`20line`20as`20well
X`20`20`20`20`20as`20the`20file`20specified`20in`20your`20ldb.rc.`20`20You`20ca
Vn`20disable`20`20this
X`20`20`20`20`20in`20`20either`20`20case`20`20by`20`20specifying`20`20a`20`20ve
Vrsion`20`20number,`20`20or`20by
X`20`20`20`20`20specifying`20version`20number`200`20to`20get`20the`20most`20cur
Vrent`20version.
X`20`20`20`20`20The`20`20`20`20default`20`20`20`20setting`20`20`20`20in`20`20
V`20`20ldb.rc`20`20`20`20is`20`20`20`20to`20`20`20scan
X`20`20`20`20`20sys$login:ldb.rcv;*.`20`20You`20`20might`20`20want`20`20to`20
V`20change`20`20this`20`20to
X`20`20`20`20`20ldb.txt;*,`20since`20that`20is`20the`20default`20extension`20ad
Vded`20by`20mail
X`20`20`20`20`20when`20you`20extract`20a`20file.`20`20If`20you`20use`20multiple
V`20versions,`20`20you
X
X
X
XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20`20`20`2019
X
X
X
X
X
X
XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
X
X
X
X`20`20`20`20`20should`20be`20careful`20not`20to`20PURGE`20until`20after`20you
V`20have`20run`20ldb.
X
X`20`20`20`20`20If`20you`20have`20the`20Eunice`20package,`20ldb`20`20will`20
V`20compile`20`20and`20`20run
X`20`20`20`20`20under`20`20it`20fine,`20but`20any`20files`20created`20by`20the
V`20Eunice-compiled
X`20`20`20`20`20version`20(most`20notably`20the`20games`20file)`20will`20`20be
V`20`20incompatible
X`20`20`20`20`20with`20`20the`20VAX`20C-compiled`20version.`20`20Use`20the`20un
Vixtovms`20command
X`20`20`20`20`20to`20convert.
X
X`20`20`20`20`20Ldb`20`20is`20`20available`20`20in`20`20vms_share`20`20format
V`20`20with`20`20the`20`20manual
X`20`20`20`20`20preformatted.`20`20If`20you`20have`20MMS,`20you`20can`20use`20t
Vhe`20makefile.vms
X`20`20`20`20`20provided`20by`20entering:
X`20`20`20`20`20`20`20`20`20`20$`20rename`20makefile.vms`20makefile.
X`20`20`20`20`20`20`20`20`20`20$`20make
X`20`20`20`20`20If`20you`20don't`20have`20a`20make`20available,`20you`20can`20c
Vompile`20with:
X`20`20`20`20`20`20`20`20`20`20$`20@makeldb
X`20`20`20`20`20After`20ldb`20is`20compiled,`20you'll`20`20probably`20`20want
V`20`20to`20`20define`20`20a
X`20`20`20`20`20symbol`20such`20as:
X`20`20`20`20`20`20`20`20`20`20$`20ldb`20:==`20$dua0:`5Bme.ldb`5Dldb
X`20`20`20`20`20so`20you`20can`20run`20it.
X
X`20`20`20`20`20The`20VMS`20implementation`20spawns`20a`20subprocess`20with`20
V`20no`20`20command
X`20`20`20`20`20when`20`20the`20`20superkey`20is`20pressed.`20`20You`20can`20en
Vter`20LOGOUT`20or`20EOJ
X`20`20`20`20`20to`20return`20to`20the`20game.`20`20If`20you`20define`20a`20com
Vmand`20to`20run`20`20when
X`20`20`20`20`20the`20`20superkey`20`20is`20`20pressed,`20the`20command`20will
V`20be`20run,`20but`20you
X`20`20`20`20`20will`20still`20need`20to`20logout`20of`20the`20`20subprocess
V`20`20to`20`20return`20`20to
X`20`20`20`20`20ldb.
X
XBUGS
X`20`20`20`20`20A`20game`20file`20created`20by`20ldb`20under`20Eunice`20must
V`20be`20run`20`20through
X`20`20`20`20`20"unixtovms"`20before`20the`20VAX-C`20ldb`20can`20read`20it.
X
X`20`20`20`20`20The`20superkey`20function`20only`20works`20when`20ldb`20is`20wa
Viting`20`20for`20`20a
X`20`20`20`20`20key.`20`20`20If`20`20ldb`20`20is`20`20doing`20`20something`20ti
Vme-consuming,`20such`20as
X`20`20`20`20`20calculating`20legal`20moves,`20the`20superkey`20will`20`20not
V`20`20work`20`20until
X`20`20`20`20`20the`20calculation`20is`20complete.
X
X`20`20`20`20`20There`20should`20be`20a`20way`20to`20play`20`20interactively
V`20`20(using`20`20socket
X`20`20`20`20`20connections,`20for`20example),`20rather`20than`20via`20e-mail.
X
X`20`20`20`20`20Under`20Eunice,`20there`20`20is`20`20a`20`20bug`20`20when`20
V`20delmail`20`20is`20`20enabled,
X`20`20`20`20`20received`20mail`20is`20in`20a`20file`20with`20multiple`20versio
Vns,`20and`20these
X`20`20`20`20`20versions`20are`20entered`20on`20the`20`20command`20`20line`20
V`20(as`20`20opposed`20`20to
X`20`20`20`20`20being`20`20specified`20`20by`20`20a`20`20pattern`20in`20.ldbrc)
V.`20`20Eunice`20handles
X`20`20`20`20`20multiple`20versions`20by`20appending`20a`20dot`20and`20the`20ve
Vrsion`20`20number
X`20`20`20`20`20to`20all`20versions`20of`20the`20file`20but`20the`20newest`20ve
Vrsion,`20to`20which
X`20`20`20`20`20it`20`20appends`20`20nothing.`20`20`20When`20`20the`20`20most
V`20`20recent`20`20version`20`20is
X`20`20`20`20`20deleted,`20the`20next`20older`20version`20becomes`20the`20most
V`20recent,`20and
X`20`20`20`20`20has`20no`20version`20suffix`20attached.`20`20This`20file`20will
V`20be`20`20skipped,
X`20`20`20`20`20since`20`20its`20`20name`20`20changed`20between`20the`20time
V`20the`20file`20list`20was
X`20`20`20`20`20created`20and`20the`20file`20is`20opened.`20`20All`20`20other
V`20`20files`20`20will`20`20be
X`20`20`20`20`20scanned`20`20properly.`20`20The`20work-around`20for`20this`20is
V`20to`20not`20use`20a
X`20`20`20`20`20pattern`20like`20'ldb`20ldb.txt*'`20on`20the`20command`20line
V`20`20to`20`20specify
X
X
X
XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20`20`20`2020
X
X
X
X
X
X
XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
X
X
X
X`20`20`20`20`20all`20`20versions`20`20of`20`20the`20`20file,`20`20but`20rather
V`20use`20'ldb`20ldb.txt.*
X`20`20`20`20`20ldb.txt'`20so`20that`20the`20most`20recent`20`20version`20`20is
V`20`20scanned`20`20(and
X`20`20`20`20`20thus`20`20deleted)`20`20last.`20`20`20Alternatively,`20`20the
V`20`20pattern`20`20can`20be
X`20`20`20`20`20quoted`20so`20that`20ldb`20interprets`20it`20instead`20of`20the
V`20shell.
X
X`20`20`20`20`20The`20-_`08m_`08y_`08a_`08d_`08d_`08r`20command`20line`20option
V`20should`20override`20`20the`20`20myaddr
X`20`20`20`20`20line`20in`20the`20people`20file.
X
X`20`20`20`20`20Version`201.0`20of`20ldb`20only`20allowed`20the`20colors`20red,
V`20`20white,`20`20and
X`20`20`20`20`20black,`20`20represented`20`20by`20r,`20w,`20and`20b,`20respecti
Vvely.`20`20Although
X`20`20`20`20`20ldb`201.0`20will`20allow`20games`20to`20be`20started`20and`20pl
Vayed`20`20correctly
X`20`20`20`20`20with`20`20different`20colors,`20the`20move`20blocks`20will`20ha
Vve`20the`20string
X`20`20`20`20`20"*BAD`20COLOR*"`20displayed`20where`20the`20color`20should`20be
V,`20making`20it
X`20`20`20`20`20difficult`20`20to`20`20figure`20`20out`20`20which`20`20color
V`20`20you`20`20are`20`20playing.
X`20`20`20`20`20Upgrading`20to`20a`20newer`20ldb`20will`20fix`20`20this.`20`20
V`20Nevertheless,`20`20if
X`20`20`20`20`20you`20`20are`20`20playing`20someone`20who`20is`20using`20ldb
V`201.0,`20you`20may`20want
X`20`20`20`20`20to`20restrict`20your`20color`20choices`20to`20r,`20w,`20and`20b
V.
X
X`20`20`20`20`20Occasionally,`20ldb`20will`20print`20a`20spurious`20message`20t
Velling`20`20you
X`20`20`20`20`20that`20`20you`20`20only`20have`20one`20legal`20move.`20`20Usual
Vly`20when`20it`20prints
X`20`20`20`20`20this,`20it`20is`20right,`20but`20in`20the`20special`20case`20
V`20where`20`20you`20`20have
X`20`20`20`20`20one`20`20piece`20`20left`20to`20bear`20off,`20one`20of`20your
V`20rolls`20is`20less`20than
X`20`20`20`20`20you`20need`20to`20bear`20it`20off,`20and`20the`20other`20roll
V`20is`20big`20enough`20to
X`20`20`20`20`20bear`20off`20by`20itself,`20ldb`20will`20want`20you`20to`20use
V`20the`20smaller`20die
X`20`20`20`20`20first,`20`20then`20`20bear`20`20off`20`20with`20`20the`20`20big
Vger`20`20one.`20`20`20This`20`20`20is
X`20`20`20`20`20consistent`20with`20the`20rules`20that`20say`20you`20must`20use
V`20both`20dice`20if
X`20`20`20`20`20you`20can,`20but`20is`20not`20correct`20in`20this`20case.`20
V`20Note`20that`20you`20can
X`20`20`20`20`20either`20`20use`20`20both`20dice`20like`20ldb`20wants,`20or`20i
Vgnore`20the`20message
X`20`20`20`20`20and`20bear`20off`20`20with`20`20the`20`20larger`20`20die.`20
V`20`20Your`20`20move`20`20will`20`20be
X`20`20`20`20`20accepted`20either`20way.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20`20`20`2021
X
X
X
$ call unpack LDB.DOC;1 1230471664 ""
$!
$ create 'f'
X.`5C"`20ldb.man`09`098/4/91
X.`5C"
X.`5C"`20Copyright`201991`20`20Perry`20R.`20Ross
X.`5C"
X.`5C"`20Permission`20to`20use,`20copy,`20modify,`20and`20distribute`20this`20s
Voftware`20and`20its
X.`5C"`20documentation`20without`20fee`20is`20hereby`20granted,`20subject`20to
V`20the`20restrictions
X.`5C"`20detailed`20in`20the`20README`20file,`20which`20is`20included`20here
V`20by`20reference.
X.`5C"`20Any`20other`20use`20requires`20written`20permission`20from`20the`20aut
Vhor.`20`20This`20software
X.`5C"`20is`20distributed`20"as`20is"`20without`20any`20warranty,`20including
V`20any`20implied
X.`5C"`20warranties`20of`20merchantability`20or`20fitness`20for`20a`20particula
Vr`20purpose.
X.`5C"`20The`20author`20shall`20not`20be`20liable`20for`20any`20damages`20resul
Vting`20from`20the
X.`5C"`20use`20of`20this`20software.`20`20By`20using`20this`20software,`20the
V`20user`20agrees
X.`5C"`20to`20these`20terms.
X.`5C"
X.`5C"`20VMS`20bug`20fixes`20and`20additions`20by`20Earle`20F.`20Ake`20<ake@day
Vton.saic.com>
X.`5C"
X.TH`20LDB`201`20"October`206,`201992"
X.nh
X.nr`20si`205n
X.ie`20`5CnT`20.pl`20`5CnTv
X.UC`204
X.SH`20NAME
Xldb`20`5C-`20Play`20backgammon`20by`20e`5C-mail
X.SH`20SYNOPSIS
Xldb`20`5Boptions`5D`20`5Binput`20files...`5D
X.br
X.SH`20DESCRIPTION
X.I`20Ldb
Xallows`20two`20people`20to`20play`20backgammon`20over`20a
Xnetwork`20using`20electronic`20mail.`20`20It`20runs`20on`20character`5C-orient
Ved
Xterminals,`20or`20emulators`20thereof,`20using`20the
X.I`20curses
Xscreen`20package.`20`20It`20will`20run`20on`20most`20UNIX`20dialects,`20as
Xwell`20as`20VAX`5C-C`20under`20VMS`205.0`20and`20above.
X.I`20Ldb
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.SH`20FEATURES
X.IP`20"Multiple`20Games"
X.I`20Ldb
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.I`20ldb
Xat`20any`20time;`20when`20you`20run`20ldb`20again,`20it`20will`20pick`20up
Xyour`20games`20where`20you`20left`20off.
X.IP`20"Move`20Checking"
XBoth`20your`20moves`20and`20your`20opponent's`20moves`20are`20checked`20for
V`20legality.
XThis`20includes:
X.IP`20`5C-
XLanding`20on`20an`20occupied`20point.
X.IP`20`5C-
XBearing`20off`20before`20your`20inner`20table`20is`20full.
X.IP`20`5C-
XTrying`20to`20move`20pieces`20that`20are`20on`20the`20board`20when`20you
Xhave`20a`20piece`20on`20the`20bar.
X.IP`20`5C-
XTrying`20to`20bear`20off`20a`20piece
Xwhen`20there`20is`20a`20piece`20on`20a`20higher`20point,`20and
Xthe`20roll`20is`20not`20being`20used`20exactly.
X.IP`20`5C-
XTrying`20to`20leave`20a`20usable`20move`20unused.
X.IP`20`5C-
XTrying`20to`20leave`20a`20move`20unused`20when`20it`20is`20usable`20and`20has
Xa`20higher`20roll`20than`20the`20move`20that`20is`20used.
X.IP`20`5C-
XTrying`20to`20double`20when`20you`20doubled`20last.
X.IP`20`5C-
XTrying`20to`20double`20in`20a`20Crawford`20rule`20game.
X.IP`20"Message`20Reliability"
X.I`20Ldb
Xdetects`20(and`20rejects)`20duplicate`20messages,`20and`20can
Xregenerate`20lost`20messages.
X.IP`20"Remote`20Start"
X.I`20Ldb
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.IP`20"Game`20Value"
X.I`20Ldb
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.IP`20"Online`20Help`20Screen"
X.I`20Ldb
Xhas`20an`20online,`20context`20sensitive`20help`20facility
Xthat`20lists`20the`20available`20commands`20for`20the`20current`20screen.
X.IP`20"Match`20Play"
X.I`20Ldb
Xcan`20support`20matches`20that`20play`20to`20any
Xdesired`20point`20total,`20and`20will`20continue`20to
Xstart`20games`20until`20one`20player`20reaches`20that`20total.
X.PP
X.SH`20OPTIONS
X.IP`20"`5CfB-read`20`5CfP"
XMail`20is`20read,`20and`20the`20games`20are`20updated`20and`20saved.
XThe`20user`20is`20not`20prompted`20for`20his`20moves.
XIf`20neither`20`5C-read`20nor`20`5C-play`20are`20given,
Xboth`20are`20assumed.
X.IP`20"`5CfB-play`20`5CfP"
XAny`20games`20that`20are`20waiting`20for`20local`20input`20are
Xdisplayed`20for`20the`20user`20to`20process.`20`20No`20mail`20is`20read.
XIf`20neither`20`5C-read`20nor`20`5C-play`20are`20given,
Xboth`20are`20assumed.
X.IP`20"`5CfB-color`20xy`5CfP"
XThe`20colors`20for`20the`20game`20started`20by`20this`20ldb`20run`20are`20set
V`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`20printing`20character,`20except`20that`20x
Xand`20y`20may`20not`20be`20the`20upper`20and`20lower`20case`20of`20the`20same
Xcharacter.
XThe`20default`20is`20"`5C-color`20rw".
X.IP`20"`5CfB-direction`20up/down`5CfP"
XThis`20sets`20the
Xdirection`20of`20play`20for`20the`20local`20user
Xfor`20the`20game`20started`20by`20this`20ldb`20run.
XThe`20default`20is`20"`5C-direction`20up".
X.IP`20"`5CfB-myaddr`20addr`5CfP"
XYour`20mail`20address`20is`20set`20to
X.I`20addr
Xfor`20games`20started`20on`20this`20ldb`20run.
XThis`20overrides`20the`20address
Xspecified`20in
X.I`20.ldbrc.
X.IP`20"`5CfB-start`20user`5CfP"
XA`20game`20is`20started`20with`20the`20specified`20user.
XThe
X.I`20user
Xargument`20may`20be`20any`20e`5C-mail`20address`20that`20is`20valid`20for
Xyour`20host.`20`20Some`20e`5C-mail`20addresses`20will`20need`20to`20be`20quote
Vd
Xif`20they`20contain`20shell`20metacharacters.
XThe
X.I`20user
Xargument`20may`20also`20be`20an
X.I`20alias
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.
XThe`20`5C-start`20option`20is`20deferred`20until`20all`20command`20line
Xoptions`20have`20been`20scanned,`20so`20the`20position`20of`20the
X`5C-start`20option`20on`20the`20command`20line`20is`20not`20important.
XOnly`20one`20`5C-start`20may`20be`20used`20per`20ldb`20run.
X.IP`20"`5CfB-remotestart`20user1`20user2`5CfP"
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`5C-color`20and`20`5C-direction`20options,
Xuser1`20is`20considered`20the`20local`20user.
XThe`20`5C-remotestart`20option`20is`20deferred`20until`20all`20command`20line
Xoptions`20have`20been`20scanned,`20so`20the`20position`20of`20the
X`5C-remotestart`20option`20on`20the`20command`20line`20is`20not`20important.
XOnly`20one`20`5C-remotestart`20may`20be`20used`20per`20ldb`20run.
X.IP`20"`5CfB-notify`20addr`5CfP"
XThis`20option`20affects`20games`20started`20by`20either`20-start`20or
X-remotestart`20on`20this`20ldb`20run.
XA`20message`20is`20sent`20to`20the`20specified`20address`20when`20the`20game
Xthat`20is`20started`20by`20the`20-start`20or`20-remotestart`20option`20ends.
XThis`20message`20includes`20the`20termination`20code`20of`20the`20game,
Xthe`20game`20value,`20and`20a`20gammon/backgammon`20flag.`20`20This`20option
Xis`20mainly`20for`20the`20use`20of`20game`20starters`20that`20wish`20to`20eith
Ver
Xkeep`20score`20or`20start`20new`20games`20when`20the`20old`20ones`20finish.
XEven`20though`20-notify`20is`20only`20used`20by`20the`20player`20that`20starts
V
Xthe`20game`20(or`20the`20game`20starter`20that`20uses`20-remotestart),`20both
Xplayer's`20ldb`20will`20send`20a`20message`20when`20the`20game`20ends.
X.IP`20"`5CfB-jacoby`5CfP"
XThe`20Jacoby`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
V`20ldb`20run.
XThis`20rule`20specifies`20that`20gammons
Xand`20backgammons`20count`20as`20a`20single`20point`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.IP`20"`5CfB-crawford`5CfP"
XThe`20Crawford`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
V`20ldb`20run.
XThis`20rule`20specifies`20that`20neither
Xplayer`20may`20double`20for`20the`20first`20game`20of`20a`20match`20after
Xeither`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.IP`20"`5CfB-european`5CfP"
XThe`20European`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
V`20ldb`20run.
XThis`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.IP`20"`5CfB-permanent`5CfP"
XThe`20game`20started`20by`20this`20ldb`20run
Xis`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.IP`20"`5CfB-match`20points`5CfP"
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.IP`20"`5CfB-score`5CfP"
XThe`20cumulative`20score`20for`20all`20opponents`20is`20printed.`20`20This`20c
Vonsists
Xof`20points,`20games,`20gammons,`20backgammons,`20and`20matches`20that`20have
Xbeen`20won`20and`20lost
Xfor`20each`20opponent.`20`20A`20total`20over`20all`20opponents`20is`20also`20p
Vrinted.
X.IP`20"`5CfB-broadcast`20`5Bfile`5D`5CfP"
XThe`20specified`20file`20is`20mailed`20to`20all`20current`20opponents.
XThis`20is`20useful`20for`20announcing`20vacation`20absences,`20etc.
XIf`20the`20file`20argument`20is`20not`20given,`20standard`20input`20is
Xread`20and`20sent`20to`20all`20opponents.
X.IP`20"`5CfB-control`5CfP"
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.IP`20"`5CfB-reconstruct`20file`5CfP"
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.IP`20""
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.IP`20"`5CfB-help`5CfP"
XThis`20prints`20a`20one-line`20description`20of`20each`20option,`20in`20case
V`20you
Xforget`20later`20on.
X.PP
X.SH`20SCREEN
XThe`20screen`20displays`20the`20following`20items`20of`20interest:
X.IP`20`5CfBOpponent`5CfP
XThe`20e`5C-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.IP`20"`5CfBBoard`20Label`5CfP"
X.I`20Ldb
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.IP`20"`5CfBFlags`5CfP"
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.nf
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.fi
XIn`20addition,`20the`20Crawford`20rule`20indicator`20is`20shown`20in
Xreverse`20video`20if`20the`20Crawford`20rule`20game`20is`20currently
Xbeing`20played.
X.IP`20"`5CfBMatch`20Score`5CfP"
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.IP`20"`5CfBPip`20Count`5CfP"
XNear`20the`20right`20of`20the`20screen`20on`20the`20second`20line`20is`20the
Xpip`20count`20for`20the`20board`20being`20displayed.
X.IP`20"`5CfBBoard`5CfP"
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`5C-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.
XThe`20bar`20is`20indicated`20by`20the`20word`20"BAR";`20this`20changes`20to
X"---"`20if`20neither`20player`20can`20hit.
X.IP`20"`5CfBDoubling`20Cube`5CfP"
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.IP`20"`5CfBMove`20Blocks`5CfP"
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`5C-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.IP`20"`5CfBCommand`20Box`5CfP"
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.IP`20"`5CfBMessage`20Area`5CfP"
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.PP
X.SH`20"STARTUP`20FILE"
XThe`20first`20time`20you`20run
X.I`20ldb,
Xit`20will`20ask`20you`20if`20you`20want`20to
Xcreate`20a
X.I`20.ldbrc
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.I`20.ldbrc,
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.I`20Ldb
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$HOME.
X.PP
XThe
X.I`20.ldbrc
Xis`20organized`20as`20a`20sequence`20of`20name/value`20pairs,`20one`20per`20li
Vne,
Xin`20the`20format
X.I`20"name=value".
XThere`20should`20be`20no`20spaces`20before
X.I`20name
Xor`20before`20or`20after`20the`20equals`20sign.`20`20Comments`20are`20indicate
Vd
Xby`20a`20pound`20sign`20(#)`20in`20column`201,`20and`20extend`20to`20the`20end
V`20of`20the`20line.
XThe`20following`20names`20are`20defined:
X.IP`20myname
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.I`20myname
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.IP`20myaddr
XThis`20line`20defines`20your`20e`5C-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
V`5C-style
Xpath),`20and`20for`20games`20that`20need`20to`20use`20a`20different`20address,
V
Xuse`20the
X.I`20`5C-myaddr
Xcommand`20line`20argument`20to`20override`20the`20path`20in
X.I`20.ldbrc.`20`20Note`20that`20the`20first`20time`20you`20start`20a`20game
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.I`20`5C-myaddr
Xoption`20will`20be`20unnecessary.
XThe
X.I`20myaddr
Xline`20is`20mandatory.
X.IP`20peoplefile
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.I`20fence,
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.I`20.ldbpeople.
X.IP`20gamefile
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.I`20.ldbdata.
XMy`20advice,`20if`20you`20care,`20is`20that`20you`20should`20avoid
Xusing`20a`20file`20name`20containing`20the`20string
X.I`20games
Xor`20any`20other`20giveaway`20string`20that`20would`20let`20your`20boss,`20sys
Vadmin,
Xor`20other`20local`20Nazi`5C-type`20know`20that`20you're`20using
Xa`20very`20expensive`20piece`20of`20high`5C-tech`20equipment`20to`20goof`20off
V,
Xwhen`20you`20could`20do`20that`20with`20nothing`20more`20exotic`20than
Xa`20rubber`20band`20and`20some`20spitballs.
X.IP`20backupfile
XThis`20is`20the`20file`20your`20old
X.I`20gamefile
Xwill`20be`20moved`20to`20just`20before`20a`20new
Xone`20is`20created.`20`20It`20defaults`20to
X.I`20".oldldbdata."
X.IP`20mailfile
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.I`20Ldb
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.IP`20""
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/$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.IP`20""
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.IP`20delmail
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.IP`20lockfile
XThis`20line`20sets`20the`20name`20of`20the`20ldb`20lock`20file.
XIt`20defaults`20to
X".ldb_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.IP`20sendcmd
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.IP`20"`20`20`20`20`20$a"`2010n
Xis`20substituted`20with`20the`20address`20to`20mail`20to.
X.IP`20"`20`20`20`20`20$f"`2010n
Xis`20substituted`20with`20the`20file`20containing`20the`20message.
X.IP`20"`20`20`20`20`20$s"`2010n
Xis`20substituted`20with`20the`20subject`20of`20the`20message.
X.IP`20""`205n
XMost`20mail`20systems`20will`20work`20fine`20with`20the`20default,`20which`20i
Vs
X.nf
X`20`20`20`20`20mail`20`5C-s`20'$s'`20$a`20<`20$f
X.fi
X.IP`20""
Xor,`20on`20VMS,
X.nf
X`20`20`20`20`20MAIL/SUBJECT="$s"`20$f`20IN%"""<$a>"""
X.fi
X.IP`20""
XNote`20that`20the`20$`20substitutions`20are
Xmade`20by`20ldb,`20not`20by`20a`20shell,`20and`20thus`20are`20not`20subject
V`20to
Xany`20quoting.`20`20If`20you`20need`20a`20$`20in`20the`20string,`20use`20$$.
+-+-+-+-+-+-+-+- END OF PART 3 +-+-+-+-+-+-+-+-