home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!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 [04/16]
- Date: 8 Apr 93 10:51:22 EST
- Organization: Science Applications Intl Corp - Dayton, OH
- Lines: 1147
- Message-ID: <1993Apr8.105122.1@dayvd.dayton.saic.com>
- NNTP-Posting-Host: dayvd.dayton.saic.com
- Xref: uunet vmsnet.sources.games:665
-
- -+-+-+-+-+-+-+-+ START OF PART 4 -+-+-+-+-+-+-+-+
- 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.IP`20""
- X.nf
- X`20`20`20`20`20MAIL/SUBJECT="$s"`20$f`20WINS%"""<$a>"""
- X.fi
- X.IP`20tempfile
- 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.IP`20colors
- 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.I`20`5C-color
- Xcommand`20line`20argument.
- X.IP`20direction
- 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.
- XAlthough`20by`20default`20upward`20play`20goes`20toward`20the`20top`20of`20the
- V`20screen,
- Xthis`20can`20be`20reversed`20(for`20your`20screen`20only)`20by`20the`20"Invert
- V"
- Xcommand`20in`20the`20Control`20menu,
- Xaccessible`20via`20the
- X.I`20`5C-control
- Xcommand`20line`20argument.`20`20The`20default`20for`20this`20line`20is`20"up",
- V
- Xand`20is`20overridden`20by`20the
- X.I`20`5C-direction
- Xcommand`20line`20argument.
- X.IP`20initialboard
- XAs`20was`20alluded`20to`20earlier,`20your`20screen`20shows`20one`20of
- Xthree`20possible`20board`20images`20at`20any`20time.`20`20Although
- Xthe`20purpose`20for`20this
- Xwill`20be`20explained`20later,`20this`20line`20allows`20you`20to`20select
- Xwhich`20of`20these`20three`20boards`20should`20be`20displayed`20initially.
- XThe`20legal`20values`20are`20"before",`20"after",`20and`20"current".
- XThe`20default`20is`20"current".
- X.IP`20autoroll
- XIf`20you`20were`20the`20last`20to`20double,`20you`20have`20no`20option
- Xbut`20to`20roll`20the`20dice`20when`20it`20is`20your`20turn.`20`20If
- Xautoroll`20is`20enabled,`20ldb`20will`20roll`20the`20dice`20for`20you`20automa
- Vtically
- Xin`20this`20case.`20`20For`20those`20that`20prefer`20consistency,`20autoroll
- Xmay`20be`20disabled,`20although`20attempting`20to`20double`20when`20you
- Xdoubled`20last`20will`20cause`20an
- Xerror`20message.`20`20Possible`20values`20for`20autoroll`20are`20"yes"`20and
- V`20"no",
- Xwith`20"yes"`20being`20the`20default.
- X.IP`20automove
- XEach`20time`20you`20roll`20the`20dice,`20ldb`20determines`20how`20many
- Xlegal`20ways`20there`20are`20for`20you`20to`20use`20your`20rolls.`20`20In`20th
- Ve
- Xrelatively`20unusual`20case`20where`20there`20is`20only`20one`20way
- Xfor`20you`20to`20use`20your`20rolls,`20ldb`20can`20automatically`20apply
- Xthis`20move`20to`20your`20board`20before`20displaying`20it.`20`20Automove
- Xis`20disabled`20by`20default`20because`20quite`20frankly`20it's
- Xpretty`20annoying.`20`20Possible`20values`20for`20automove`20are`20"yes"
- Xand`20"no",`20with`20"no"`20being`20the`20default.
- X.IP`20autodouble
- XOne`20of`20the`20official`20rules`20of`20backgammon`20allows`20for
- Xautomatically`20doubling`20the`20game`20value`20when`20the`20opening
- Xroll`20is`20a`20tie.`20`20The`20rules`20go`20on`20to`20state`20that`20automati
- Vc
- Xdoubling`20is`20only`20to`20be`20used`20when`20the`20players`20agree`20beforeh
- Vand
- Xon`20its`20use`20and`20limitations.`20`20The`20method`20ldb`20uses`20to`20impl
- Vement
- Xthis`20somewhat`20vague`20rule`20is`20to`20allow`20each`20player`20to`20specif
- Vy
- Xa`20maximum`20number`20of`20autodoubles`20they`20are`20willing`20to`20accept
- V`20in
- X.I`20.ldbrc,
- Xand`20for`20the`20maximum`20number`20of`20autodoubles`20applied`20to`20any`20g
- Vame
- Xto`20be`20the`20lesser`20of`20the`20two`20players'`20specified`20limits.
- XFor`20example,`20if`20you`20set
- X.I`20"autodouble=4"
- Xin`20your`20.ldbrc,`20no`20game`20you`20play`20will`20ever`20be`20autodoubled
- Xmore`20than`204`20times,`20although`20the`20number`20of`20tied`20opening`20rol
- Vls
- Xis`20obviously`20not`20limited.`20`20However,`20if`20you`20were`20to`20start
- V`20a`20game
- Xwith`20someone`20who`20had`20set
- X.I`20"autodouble=2",
- Xthat`20game`20would`20be`20limited`20to`20at`20most`202`20autodoubles.`20`20If
- V`20you`20don't
- Xwant`20to`20play`20automatic`20doubles,`20set
- Xautodouble=0,`20which`20is`20also`20the`20default.
- X.IP`20superkey
- XIf`20you`20live`20in`20fear`20of`20roving`20supervisors`20(or`20other
- Xfun-impaired`20individuals)`20running`20across`20you`20playing`20an
- Xinnocent`20game`20of`20backgammon,
- Xyou`20may`20want`20to`20enable`20the`20superkey`20function.
- XJust`20pick`20a`20key`20on`20the`20keyboard`20you`20never`20use`20in`20ldb,
- V`20such`20as`20the
- Xbackquote,`20and`20put`20a`20line`20in
- X.I`20".ldbrc"
- Xsetting`20superkey`20to`20the
- X.I`20"decimal`20ASCII`20code"
- Xof`20the`20key`20you`20want;`20for`20example,`20to`20use`20the`20backquote`20k
- Vey,
- Xuse`20"superkey=96".
- XOnly`20single`5C-character`20keys`20are`20allowed,`20and
- Xthe`20key`20you`20select`20will`20not`20be`20usable`20for`20normal`20purposes
- Xwithin`20ldb.`20`20Make`20it`20one`20you`20can`20hit`20in`20a`20hurry.
- X.IP`20supercmd
- XIf`20you'd`20rather`20have`20a`20program`20of`20your`20choice`20come`20up
- Xinstead`20of`20the`20shell`20when`20the`20superkey`20is`20pressed,
- Xput`20it`20on`20this`20line.`20`20It`20will`20be`20passed
- Xunchanged`20to`20a`20shell`20via`20the`20system()`20function.
- XVMS`20users`20should`20read`20the`20note`20in`20the`20section`20titled
- X"VMS`20NOTES"`20on`20supercmd`20functionality.
- X.IP`20checkpoint
- XThis`20option`20keeps`20the`20gamefile`20up`20to`20date`20by`20writing`20it
- V`20out
- Xwhenever`20the`20dice`20are`20rolled`20or`20a`20message`20is`20sent.`20`20This
- V
- Xprevents`20game`20information`20from`20being`20lost`20if`20ldb`20crashes,
- Xyour`20machine`20goes`20down,`20or`20what`20have`20you.`20`20This`20option`20i
- Vs
- Xenabled`20by`20default,`20and`20I`20highly`20recommend`20you`20leave`20it
- Xthat`20way.`20`20If`20you`20just`20can't`20stand`20the`20thought`20of`20a`20fe
- Vw`20extra
- Xwrites`20to`20disk,`20you`20can`20disable`20it`20with`20"checkpoint=no".
- XOn`20your`20own`20head`20be`20it.
- X.IP`20timeout
- XThis`20option`20sets`20the`20number`20of`20days`20ldb`20will`20wait`20for`20a
- V`20reply
- Xfrom`20your`20opponent.`20`20After`20this`20number`20of`20days`20passes,`20ldb
- V
- Xwill`20assume`20your`20last`20message`20was`20lost`20and`20automatically`20res
- Vend`20it.
- XThis`20prevents`20the`20situation`20where`20both`20players`20think`20they`20ar
- Ve
- Xwaiting`20on`20the`20other,`20and`20eventually`20both`20players`20forget`20the
- Vy
- Xeven`20have`20a`20game`20going.`20`20This`20option`20defaults`20to`207`20days;
- V`20
- Xyou`20can`20disable`20automatic`20resends`20by`20setting`20it`20to`200.
- X.IP`20keepold
- XThis`20option`20sets`20the`20number`20of`20days`20ldb`20will`20keep`20a`20game
- V`20after
- Xit`20is`20over.`20`20This`20can`20be`20handy`20in`20case`20you`20need`20to`20r
- Vesend`20the`20last
- Xmove`20of`20a`20game.`20`20This`20option`20defaults`20to`207`20days;`20if`20yo
- Vu`20set
- Xit`20to`200,`20finished`20games`20are`20deleted`20immediately.
- X.IP`20debug
- XThis`20option`20enables`20various`20debug`20messages.`20`20It`20is`20a`20bitma
- Vp,
- Xwith`20each`20set`20bit`20enabling`20debug`20messages`20from`20a`20different
- V`20part
- Xof`20ldb.`20`20Most`20people`20will`20want`20to`20leave`20it`20at`200,`20which
- V`20is
- Xthe`20default.`20`20If`20you`20want`20debug`20messages,`20look`20for`20the
- Xdefinitions`20of`20DB_*`20in`20ldb.h.
- X.PP
- X.SH`20"PEOPLE`20FILE"
- XLdb`20maintains`20a`20list`20of`20all`20of`20the`20people`20you
- Xhave`20ever`20played.`20`20This`20file`20is`20used`20for`20several`20purposes:
- V
- X.IP`20"1"
- XIt`20stores`20the`20number`20of`20games,`20points,`20gammons,`20backgammons,
- Xand`20matches`20you`20have`20won`20and`20lost`20to`20that`20person.
- X.IP`20"2"
- XIt`20stores`20the`20address`20for`20that`20person,`20and`20the
- Xaddress`20that`20person`20should`20use`20to`20get`20to`20you.
- XIt`20also`20allows`20you`20to`20assign`20an`20alias`20to`20that`20person,
- Xand`20to`20use`20that`20alias`20when`20starting`20a`20game`20instead
- Xof`20the`20full`20e`5C-mail`20address.
- X.IP`20"3"
- XIt`20stores`20information`20that`20allows`20ldb`20to`20reject
- Xstart`20messages`20from`20defunct`20games.
- X.PP
- XNormally,`20you`20should`20never`20have`20to`20edit`20the
- Xpeople`20file,`20but`20it`20is`20described`20here`20in`20case
- Xyou`20need`20to`20for`20some`20reason.`20`20It`20is`20in`20the`20same
- Xoverall`20format`20as`20.ldbrc`20(name/value`20pairs).
- X.IP`20"addr"
- XThis`20is`20the`20address`20of`20the`20opponent.`20`20This`20is`20what
- Xuniquely`20defines`20the`20record,`20in`20case`20you`20are`20playing
- Xtwo`20people`20with`20the`20same`20name.
- X.IP`20"name"
- XThis`20is`20the`20name`20of`20the`20opponent.
- X.IP`20"alias"
- XThis`20is`20a`20"nickname"`20you`20can`20assign`20to
- Xan`20opponent.`20`20When`20a`20new`20opponent`20is`20found,
- Xthe`20alias`20is`20initialized`20to`20the`20first`20word`20of
- Xthe`20opponent's`20name,`20with`20all`20upper`20case`20letters
- Xchanged`20to`20lower.`20`20You`20can`20change`20the`20alias`20to
- Xany`20desired`20string`20with`20a`20text`20editor`20(just`20make`20sure
- Xldb`20isn't`20running`20at`20the`20time,`20or`20your`20changes`20will
- Xbe`20lost).
- X.IP`20"myaddr"
- XThis`20is`20the`20address`20that`20this`20opponent`20should`20use`20to
- Xmail`20to`20you.`20`20This`20saves`20you`20from`20having`20to`20specify
- Xthe`20-myaddr`20argument`20when`20starting`20a`20game,`20and`20is
- Xespecially`20important`20with`20permanent`20games,`20since
- Xthese`20games`20are`20started`20automatically`20without`20giving
- Xyou`20a`20chance`20to`20change`20your`20address.`20`20If`20you`20only
- Xhave`20one`20e`5C-mail`20path,`20you`20can`20ignore`20this.
- XThis`20field`20is`20initialized`20to`20the`20value`20of`20the
- X.I`20`5C-myaddr
- Xoption`20at`20the`20time`20the`20first`20game`20with
- Xthis`20opponent`20is`20started,`20or`20to
- Xthe`20value`20of`20myaddr`20from`20.ldbrc`20if`20no
- X.I`20`5C-myaddr
- Xoption`20was`20used.
- X.IP`20"equiv"
- XThe`20presence`20of`20this`20field`20flags`20this`20as`20an`20"equiv"
- Xrecord.`20`20Equiv`20records`20allow`20one`20opponent`20to`20have`20multiple
- Xe`5C-mail`20addresses,`20but`20to`20cause`20all`20of`20them`20to`20refer`20to
- Xone`20people`20record.`20`20Equiv`20records`20have`20no`20valid`20fields
- Xexcept
- X.I`20addr
- Xand
- X.I`20equiv,
- Xand`20must`20be`20preceded`20by`20the`20record`20they`20refer`20to`20in`20the
- V`20people`20file.
- X.IP`20"fence"
- XThe`20fence`20is`20defined`20as`20the`20start`20time`20of`20the`20most
- Xrecently`20started`20game`20that`20has`20finished.`20`20If`20that`20makes
- Xno`20sense,`20don't`20worry,`20you`20should`20never`20have`20to`20mess
- Xwith`20it.`20`20It`20is`20used`20to`20discard`20old`20start`20messages`20that
- Xyou`20forgot`20to`20clean`20out`20of`20your`20mail.
- X.IP`20"score"
- XThis`20is`20an`20array`20of`2010`20numbers`20that`20represent,`20in`20order:
- X.IP`20""
- X.nf
- X`20`20`20`20`20-`20Games`20won
- X`20`20`20`20`20-`20Games`20lost
- X`20`20`20`20`20-`20Points`20won
- X`20`20`20`20`20-`20Points`20lost
- X`20`20`20`20`20-`20Gammons`20won
- X`20`20`20`20`20-`20Gammons`20lost
- X`20`20`20`20`20-`20Backgammons`20won
- X`20`20`20`20`20-`20Backgammons`20lost
- X`20`20`20`20`20-`20Matches`20won
- X`20`20`20`20`20-`20Matches`20lost
- X.fi
- X.IP`20""
- XThis`20information`20is`20stored`20purely`20for`20whatever`20purposes`20you
- Xcan`20think`20of.
- X.IP`20"end"
- XThis`20line`20is`20required`20to`20separate`20people`20records.`20`20If`20you
- Xhand`20enter`20a`20record,`20you`20must`20be`20sure`20to`20put`20an`20end`20ma
- Vrker
- Xor`20your`20record`20will`20merge`20with`20the`20next`20one,`20which`20is
- Xnot`20what`20you`20want.
- X.PP
- X.SH`20"STARTING`20A`20GAME"
- XTo`20start`20a`20game,`20you`20must`20use`20the
- X.I`20`5C-start
- Xcommand`20line`20argument,`20along`20with`20the`20e`5C-mail`20address`20of
- Xthe`20person`20you`20wish`20to`20play`20with.
- XFor`20example,
- X.nf
- X`20`20`20`20`20ldb`20`5C-start`20mybuddy@back.gammon.com
- X.fi
- XIf`20you`20want`20to`20play`20'w',`20and`20make`20your`20opponent`20play
- X'b',`20use`20the`20command
- X.nf
- X`20`20`20`20`20ldb`20`5C-color`20wb`20`5C-start`20black@blah.blah.blah
- X.fi
- XSee`20the
- XOPTIONS`20section`20for`20more`20details`20on`20the`20available
- Xcommand`20line`20arguments.
- X.I`20Ldb
- Xwill`20not`20allow`20you`20to`20play`20with`20yourself,`20but
- Xthat's`20ok`20because`20you'd`20probably`20lose.
- X.PP
- XWhen`20you`20start`20a`20game,`20ldb`20sends`20your`20e`5C-mail`20address
- Xto`20your`20opponent,`20along`20with
- Xyour`20opening`20roll.`20`20When`20your`20opponent`20receives
- Xyour`20message,`20his`20ldb`20will`20roll`20his`20opening`20roll,`20and
- Xdecide`20who`20won.`20`20If`20you`20won,`20his`20ldb`20will`20send`20your`20ld
- Vb
- Xa`20message`20to`20that`20effect,`20and`20the`20board`20will`20come`20up
- Xon`20your`20screen`20with`20that`20roll`20in`20your`20move`20block.`20`20If
- V`20he
- Xwon,`20he`20will`20use`20the`20opening`20roll`20and`20his`20ldb`20will`20send
- Xyour`20ldb
- Xa`20message`20telling`20you`20how`20he`20moved.`20`20Either`20way,`20the`20gam
- Ve`20is`20off
- Xand`20running.
- X.PP
- XIf,`20by`20unfortunate`20chance,`20the`20opening`20roll`20is`20a`20tie,
- Xyour`20opponent's`20ldb`20will`20send
- Xyour`20ldb`20a`20message`20to`20that`20effect.
- XThis`20will`20cause`20a`20new`20opening`20roll`20sequence`20as
- Xdescribed`20above.
- XA`20message`20will`20be`20printed`20telling`20you
- Xwhat's`20going`20on;
- Xjust`20keep`20feeding`20the`20incoming`20messages`20to`20ldb,`20and
- Xit`20will`20take`20care`20of`20everything.
- X.PP
- X.SH`20"PLAYING`20A`20GAME"
- XWhen`20it`20is`20your`20turn,`20the`20game`20will`20be`20displayed`20on`20your
- V`20screen,
- Xand`20you`20will`20be
- Xfaced`20with`20three`20options:`20Roll,`20Double,`20or`20Concede.
- XUnless`20you`20are`20very`20cocky,`20I`20would`20not`20suggest`20doubling
- Xat`20this`20point.`20`20You`20could`20always`20concede,`20but`20I`20really
- Xthink`20that`20would`20be`20selling`20yourself`20short.
- XSo`20you`20should`20choose`20"Roll".
- XJust`20press`20"r",`20and`20watch`20your`20roll`20appear`20on
- Xyour`20move`20block`20(along`20the`20right`20side`20of`20the`20screen,`20under
- V`20the
- Xword`20"You").`20`20You`20should`20see`20two`20numbers`20appear`20(four`20if
- V`20you
- Xrolled`20doubles),`20and`20the`20word`20UNUSED`20beside`20them.
- XDecide`20which`20of`20the`20rolls`20you`20want`20to`20use`20first,`20and`20pre
- Vss
- Xthe`20number`20of`20that`20roll.`20`20For`20example,`20say`20you`20rolled
- X1`206,`20and`20you`20want`20to`20move`20the`20obvious`208`5C-7,`2013`5C-7`20to
- V
- Xmake`20your`20bar`20point.
- XJust`20hit`20"6".`20`20Notice`20the`20cursor`20jump`20up`20to`20your`20move
- V`20block,`20beside
- Xthe`20"6"`20roll?`20`20It`20is`20waiting`20for`20you`20to`20enter`20the`20poin
- Vt`20you`20want
- Xto`20move`20from.`20`20Press`20"1"`20"3"`20(don't`20hit`20return).`20`20You
- V`20should`20see
- Xa`20piece`20move`20from`2013`20to`207,`20and`20this`20fact`20will`20be`20refle
- Vcted`20in
- Xyour`20move`20block`20as`20well.`20`20Now,`20press`20"1".`20`20Again`20the`20c
- Vursor
- Xjumps`20to`20the`20move`20block,`20and`20you`20type`20"8".
- XThe`20second`20entry`20in`20the`20move`20block
- Xreflects`20this`20move,`20as`20does`20the`20board.`20`20Happy?`20`20If`20not,
- V`20press
- X"r";`20this`20will`20reset`20your`20rolls`20to`20UNUSED`20and`20put
- Xthe`20board`20back`20to`20how`20it`20was`20before`20you`20moved,
- Xand`20then`20you`20can`20enter`20some`20different`20moves.`20`20Otherwise,`20h
- Vit`20"s"
- X(not`20"q"!)
- Xto`20send`20the`20move.`20`20The`20cursor`20will`20jump`20down`20to`20the`20me
- Vssage`20area,
- Xwhere`20you`20get`20a`20chance`20to`20enclose`20a`20message`20to`20your`20oppo
- Vnent,
- Xperhaps`20to`20gloat`20over`20the`20great`20move`20you`20just`20made.
- XYou`20only`20get`202`20lines`20of`2056`20characters,`20so`20keep`20it`20short.
- V`20`20When
- Xyou`20are`20done,`20press`20<return>.`20`20Your`20move`20is`20on`20its`20way!
- X.PP
- XThere`20are`20three`20shortcuts`20you`20can`20use
- Xafter`20you`20have`20entered`20your`20first`20move:
- X.IP`201.
- XYou`20can`20press`20<return>,`20which`20will`20"repeat"`20your`20last`20move.
- XThat`20is,`20your`20next`20remaining`20roll`20will`20move`20from`20the`20same
- Xpoint`20as`20your`20last`20one`20moved`20from.`20`20This`20is`20handy`20when
- Xusing`20doubles`20to`20move`20more`20than`20one`20piece`20from`20the`20same
- V`20point.
- X.IP`202.
- XYou`20can`20press`20<space>,`20which`20will`20"continue"`20your`20last`20move.
- V
- XThat`20is,`20your`20next`20remaining`20roll`20will`20move`20from`20the
- Xpoint`20your`20last`20move`20ended`20on.
- X.IP`203.
- XYou`20can`20press`20"p",`20which`20will`20attempt`20to`20make`20the`20point
- V`20your
- Xlast`20move`20ended`20on.`20`20In`20our`201`206`20example`20above,`20you`20cou
- Vld`20have
- Xjust`20hit`20"p"`20after`20you`20moved`2013`5C-7,`20and`20ldb`20would`20have
- V`20figured
- Xout`20that`20to`20make`20the`207`20point`20with`20the`20remaining`20roll`20of
- V`201,
- Xit`20would`20have`20to`20move`20a`20piece`20from`20the`208`20point.
- X.PP
- XIn`20addition,`20there`20is`20one`20more`20shortcut`20that`20may`20be`20used
- Xwith`20any`20roll.`20`20If`20you`20want`20to`20use`20a`20roll`20to`20bear`20of
- Vf
- Xa`20piece,`20you`20can`20just`20hit`20"o".`20`20Ldb`20will`20locate`20the
- Xpoint`20(if`20any)`20from`20which`20pieces`20may`20be`20legally`20borne`20off
- Xby`20the`20next`20unused`20roll,`20and`20make`20that`20move`20automatically.
- XYou`20can`20also`20select`20a`20roll,`20then`20hit`20"o".
- X.PP
- XIf`20you`20use`20your`20moves,`20hit`20"Send",`20and`20start`20to`20enter`20yo
- Vur
- Xmessage,`20then`20realize`20you`20made`20a`20mistake,`20you`20can`20press
- XESC`20to`20get`20out`20of`20send`20and`20back`20into`20the`20game,`20where
- Xyou`20can`20use`20"Reset"`20and`20re`5C-enter`20your`20moves.
- X.PP
- X.SH`20DOUBLING
- XIf`20you`20decide`20to`20double,`20just`20choose`20"Double"`20instead`20of
- X"Roll".`20`20You`20will`20get`20to`20enclose`20a`20message,`20just`20like`20wh
- Ven
- Xyou`20send`20a`20move,`20then`20your`20message`20gets`20sent.`20`20Once`20you
- V`20have
- Xdoubled,`20you`20cannot`20double`20again`20until`20your`20opponent`20does`20so
- V,
- Xso`20ldb`20automatically`20selects`20"Roll"`20and`20sends`20you`20to`20the
- Xnext`20menu.`20`20If`20you`20don't`20like`20this,`20you`20can`20disable`20it
- V`20by
- Xsetting
- X.I`20autoroll=no
- Xin`20.ldbrc.
- X.PP
- XIf`20your`20opponent`20doubles,`20you`20will`20see`20a`20message`20just`20unde
- Vr
- Xthe`20board`20to`20that`20effect,`20and`20a`20menu`20will`20come`20up
- Xallowing`20you`20to`20Accept`20or`20Decline`20the`20double.
- XDeclining`20the`20double`20means`20you`20lose`20the`20game`20for`20the
- Xcurrent`20game`20value.`20`20Accepting`20means`20that`20the`20game
- Xcontinues,`20but`20its`20value`20is`20doubled.`20`20The`20current
- Xgame`20value`20is`20shown`20to`20the`20left`20of`20the`20board.`20`20After
- Xyou`20accept,`20you`20should`20see`20this`20display`20move`20next`20to`20your
- Xhome`20board,`20indicating`20that`20you`20own`20the`20doubling`20cube.
- X.PP
- XIf`20the`20Crawford`20rule`20game`20is`20being`20played,
- Xdoubling`20is`20illegal,`20and`20will`20result`20in`20an`20error`20message.
- X.PP
- X.SH`20BOARDS
- X.I`20Ldb
- Xmaintains`20three`20board`20images`20at`20all`20times.`20`20These`20are:
- X.IP`201
- XThe`20board`20before`20your`20opponent's`20last`20move.
- XIt`20is`20for`20display`20purposes`20only,`20so`20you`20can`20see`20your
- Xopponent's`20move`20"before`20and`20after".`20`20The`20pieces`20your`20opponen
- Vt
- Xis`20going`20to`20move`20are`20highlighted.
- X.IP`202
- XThe`20board`20after`20your`20opponent's`20last`20move.
- XIt`20shows`20the`20condition`20of`20the
- Xboard`20after`20your`20opponent's`20last`20move,`20with`20the`20pieces`20he
- Xmoved`20highlighted.
- X.IP`203
- XThe`20current`20board.`20`20This`20is`20the`20"real"`20board`20that`20shows
- V`20the
- Xcurrent`20state`20of`20the`20game.
- XNothing`20is`20highlighted.
- X.PP
- XBy`20default,`20ldb`20displays`20the`20Current`20board`20at`20all`20times.`20
- V`20If
- Xyou`20want`20to`20see`20the`20other`20boards,`20use`20the`20Board`20command
- X(provided`20it`20is`20in`20the`20current`20menu).`20`20This`20will`20cycle`20t
- Vhrough
- Xthe`20three`20boards`20in`20the`20order`20they`20are`20listed`20above.`20`20Th
- Ve`20second
- Xline`20of`20the`20screen`20tells`20you`20which`20board`20is`20displayed`20(nea
- Vr`20the`20left).`20`20When
- Xyou`20roll,`20ldb`20automatically`20switches`20to`20the`20current`20board`20if
- V
- Xit`20is`20not`20already`20up.`20`20You`20can`20set`20which`20of`20these`20thre
- Ve`20boards
- Xis`20initially`20displayed`20via`20the
- X.I`20initialboard
- Xsetting`20in`20.ldbrc.
- X.PP
- X.SH`20"ENTERING`20COMMENTS"
- XWhenever`20you`20send`20a`20move`20to`20your`20opponent,`20you`20are
- Xgiven`20the`20opportunity`20to`20enclose`20a`20two`20line`20comment.
- XWhile`20entering`20your`20comment,`20certain`20keys`20have`20special`20meaning
- V.
- XThese`20are:
- X.IP`20"BS/DEL"
- XThe`20backspace`20and`20delete`20(or`20rubout)`20keys`20both`20erase`20the
- Xlast`20character`20typed.`20`20You`20can`20backspace`20from`20one`20line`20to
- Xthe`20previous`20one.
- X.IP`20"`5EW/`5EB"
- XThe`20`5EW`20and`20`5EB`20(control-W`20and`20control-B)`20keys`20both`20erase
- V`20the
- Xlast`20word`20typed.`20`20Words`20are`20delimited`20by`20spaces.
- X.IP`20"`5EX/`5EU"
- XThe`20`5EX`20and`20`5EU`20(control-X`20and`20control-U)`20keys`20erase`20the
- Xcurrent`20line`20and`20move`20to`20the`20end`20of`20the`20previous`20line,
- Xor`20to`20the`20beginning`20of`20the`20first`20line`20if`20used`20on`20the
- Xfirst`20line.
- X.IP`20"RETURN"
- XIf`20you`20press`20return`20on`20an`20empty`20line,`20or`20on`20the`20last`20l
- Vine,
- Xthe`20comment`20is`20finished.`20`20Otherwise,`20the`20cursor`20moves`20to`20t
- Vhe
- Xnext`20line.
- X.IP`20"ESC"
- XThe`20escape`20key`20aborts`20the`20operation`20(e.g.`20Send),`20restores
- Xthe`20previous`20comment,`20and`20returns`20to`20the`20previous`20menu.
- XThis`20allows`20you`20to`20change`20your`20mind`20and`20back`20out`20of
- Xan`20operation.
- X.PP
- XAll`20other`20keys`20are`20entered`20into`20the`20comment.`20`20When`20you`20r
- Veach
- Xthe`20end`20of`20a`20line,`20ldb`20word-wraps`20to`20the`20next`20line,`20or
- V`20beeps
- Xif`20you`20are`20at`20the`20end`20of`20the`20last`20line.`20`20Note`20that`20t
- Vhe
- Xsuperkey`20is`20still`20active`20while`20entering`20comments,`20and
- Xcannot`20be`20entered`20into`20a`20comment.
- X.PP
- X.SH`20"CONTROLLING`20A`20GAME"
- XThe
- X.I`20`5C-control
- Xoption`20permits`20you`20to`20control`20your`20games`20in
- Xcertain`20ways.`20`20Each`20of`20your`20current`20games`20are
- Xdisplayed,`20one`20at`20a`20time,`20just`20as`20they`20are`20when`20you
- Xare`20playing,`20allowing`20you`20to`20perform`20any`20of`20the
- Xfunctions`20on`20the`20control`20menu.
- XThe`20control`20menu`20has`20the`20following`20commands:
- X.IP`20"Invert"
- XThis`20allows`20you`20to`20invert`20the`20board`20for`20this`20game.`20`20The
- Xboard`20will`20invert`20immediately`20on`20your`20screen,`20so`20you`20can
- Xsee`20if`20you`20like`20it.`20`20Pressing
- X.I`20Invert
- Xagain`20will`20put`20it`20back`20to`20normal.`20`20Inverting`20the`20board`20d
- Voes
- Xnot`20affect`20the`20point`20numbering`20or`20the`20color`20you`20play,
- Xit`20merely`20draws`20the`20board`20with`20the`20low-numbered`20points`20at
- Xthe`20top`20of`20the`20screen`20rather`20than`20the`20bottom.`20`20You`20may
- V`20find
- Xit`20easier`20to`20make`20all`20of`20your`20games`20play`20a`20certain`20direc
- Vtion.
- X.IP`20"Resend"
- XFrom`20time`20to`20time,`20messages`20may`20be`20lost`20due`20to`20faulty`20ma
- Vilers
- Xor`20human`20error.`20`20If`20your`20last`20message`20gets`20lost,`20you`20can
- V
- Xregenerate`20it`20with`20the
- X.I`20Resend
- Xcommand.`20`20There`20is`20no`20harm`20in`20regenerating`20messages,`20as
- Xldb`20will`20ignore`20duplicate`20messages.`20`20If`20you`20and`20your`20oppon
- Vent
- Xhave`20forgotten`20whose`20move`20it`20is,`20the`20easiest`20way`20to`20get
- V`20going
- Xagain`20is`20for`20both`20of`20you`20to`20resend`20your`20last`20message.`20
- V`20The`20one
- Xthat`20got`20lost`20will`20be`20accepted,`20and`20the`20game`20will`20be`20off
- V
- Xand`20running`20again.`20`20So`20that`20you`20can`20resend`20the`20last`20move
- V
- Xof`20a`20game,`20completed`20games`20are`20kept`20in`20your`20.ldbdata`20for
- X1`20week,`20after`20which`20they`20are`20deleted.`20`20They`20may`20be`20delet
- Ved
- Xsooner`20with`20the`20Delete`20Game`20command.`20`20Note`20also`20that
- Xgames`20that`20have`20been`20waiting`20for`20your`20opponent`20for`20more`20th
- Van
- X1`20week`20have`20an`20automatic`20resend`20performed`20whenever`20you`20run
- V`20ldb.
- XResend`20is`20disabled`20if`20it`20is`20your`20turn.
- X.IP`20"Get`20Resend"
- XThis`20allows`20you`20to`20send`20a`20message`20to`20your`20opponent's
- Xldb`20requesting`20a`20resend.`20`20This`20saves`20your`20opponent`20the
- Xtrouble`20of`20getting`20into
- X.I`20`5C-control,
- Xfinding`20which`20game`20you're`20talking`20about,`20and`20resending.
- XInstead,`20he`20can`20just`20feed`20your`20resend`20request`20message`20into
- Xldb`20like`20it`20was`20a`20regular`20move.`20`20Version`201.0`20of`20ldb
- Xnot`20only`20does`20not`20support`20this`20feature,`20but`20will`20crash
- Xif`20a`20resend`20request`20packet`20is`20sent`20to`20it,`20so
- X.I`20`5C-control
- Xwill`20check`20to`20make`20sure`20your`20opponent`20is`20running
- Xthe`20proper`20version
- Xbefore`20sending`20the`20message.
- X"Get`20Resend"`20is`20disabled`20for`20games`20that`20are`20over.
- X.IP`20"Screen`20Dump"
- XThis`20command`20makes`20an`20exact`20copy`20of`20the`20screen`20in`20the
- Xfile`20"ldb_screen.dmp".`20`20This`20could`20be`20useful`20if`20you
- Xwant`20to`20mail`20the`20board`20to`20someone`20or`20print`20it`20out.
- X.IP`20"Delete`20Game"
- XThis`20command`20marks`20a`20game`20for`20deletion.`20`20The`20game`20is`20not
- V`20deleted
- Xuntil`20you`20quit,`20and`20you`20can`20undelete`20it`20by`20pressing`20D`20ag
- Vain.
- XNormally,`20you`20should`20not`20delete`20a`20game`20in`20this`20manner,`20
- Xyou`20should`20play`20until`20someone`20wins`20or`20concedes.`20`20The
- X.I`20"Delete`20Game"
- Xcommand`20can`20be`20used`20to`20get`20rid`20of`20games`20where`20your`20oppon
- Vent
- Xdoesn't`20answer`20his`20mail,`20or`20doesn't`20want`20to`20play,`20etc.
- X.IP`20"Next`20Game"
- XThe`20next`20game`20is`20displayed.`20`20If`20there`20is`20no`20next`20game,
- Xthis`20choice`20is`20equivalent`20to
- X.I`20Quit.
- X.IP`20"Quit"
- XThis`20allows`20you`20to`20exit`20from
- X.I`20"`5C-control".
- XIf`20you`20made`20any`20changes`20to`20your`20games,`20you`20will`20be`20given
- V`20the`20opportunity
- Xto`20save`20these`20changes,`20then`20ldb`20will`20exit.
- X.SH`20"VMS`20NOTES"
- X.PP
- XVMS`20users`20have`20a`20few`20unique`20considerations:
- X.PP
- XOn`20VMS,`20the`20default`20file`20names`20are`20changed`20from`20.ldb*`20to
- V`20ldb.*.`20`20This
- Xgroups`20all`20ldb`20files`20together.
- X.PP
- XVMS`20mail`20doesn't`20append
- Xmessages`20to`20an`20existing`20file,`20it`20creates`20new`20versions.
- XTo`20accommodate`20this,`20vms-compiled`20executables`20will`20search`20all
- V`20versions
- Xof`20a`20file`20by`20default.`20`20This`20applies`20to`20files`20specified`20o
- Vn`20the`20command
- Xline`20as`20well`20as`20the`20file`20specified`20in`20your`20ldb.rc.`20`20You
- V`20can`20disable
- Xthis`20in`20either`20case`20by`20specifying`20a`20version`20number,`20or`20by
- V`20specifying
- Xversion`20number`200`20to`20get`20the`20most`20current`20version.`20`20The`20d
- Vefault`20setting
- Xin`20ldb.rc`20is`20to`20scan`20sys$login:ldb.rcv;*.`20`20You`20might`20want
- V`20to`20change
- Xthis`20to`20ldb.txt;*,`20since`20that`20is`20the`20default`20extension`20added
- V`20by
- Xmail`20when`20you`20extract`20a`20file.`20`20If`20you`20use`20multiple`20versi
- Vons,`20you
- Xshould`20be`20careful`20not`20to`20PURGE`20until`20after`20you`20have`20run
- V`20ldb.
- X.PP
- XIf`20you`20have`20the`20Eunice`20package,`20ldb`20will`20compile`20and`20run
- V`20under`20it`20fine,
- Xbut`20any`20files`20created`20by`20the`20Eunice`5C-compiled`20version
- X(most`20notably`20the`20games`20file)
- Xwill`20be`20incompatible`20with`20the`20VAX`20C`5C-compiled`20version.`20`20Us
- Ve`20the
- Xunixtovms`20command`20to`20convert.
- X.PP
- XLdb`20is`20available`20in`20vms_share`20format`20with`20the`20manual`20preform
- Vatted.
- XIf`20you`20have`20MMS,`20you`20can`20use`20the`20makefile.vms`20provided`20by
- V`20entering:
- X.nf
- X`20`20`20`20`20$`20rename`20makefile.vms`20makefile.
- X`20`20`20`20`20$`20make
- X.fi
- XIf`20you`20don't`20have`20a`20make`20available,`20you`20can`20compile`20with:
- X.nf
- X`20`20`20`20`20$`20@makeldb
- X.fi
- XAfter`20ldb`20is`20compiled,`20you'll`20probably`20want
- Xto`20define`20a`20symbol`20such`20as:
- X.nf
- X`20`20`20`20`20$`20ldb`20:==`20$dua0:`5Bme.ldb`5Dldb
- X.fi
- Xso`20you`20can`20run`20it.
- X.PP
- XThe`20VMS`20implementation`20spawns`20a`20subprocess`20with`20no`20command`20w
- Vhen`20the
- Xsuperkey`20is`20pressed.`20`20You`20can`20enter`20LOGOUT`20or`20EOJ`20to`20ret
- Vurn`20to`20the
- Xgame.`20`20If`20you`20define`20a`20command`20to`20run`20when`20the`20superkey
- V`20is`20pressed,
- Xthe`20command`20will`20be`20run,`20but`20you`20will`20still`20need`20to`20logo
- Vut`20of
- Xthe`20subprocess`20to`20return`20to`20ldb.
- X.PP
- X.SH`20BUGS
- X.PP
- XA`20game`20file`20created`20by`20ldb`20under`20Eunice`20must`20be`20run`20thro
- Vugh
- X"unixtovms"`20before`20the`20VAX`5C-C`20ldb`20can`20read`20it.
- X.PP
- XThe`20superkey`20function`20only`20works`20when`20ldb`20is`20waiting`20for`20a
- V`20key.
- XIf`20ldb`20is`20doing`20something`20time-consuming,`20such`20as`20calculating
- Xlegal`20moves,`20the`20superkey`20will`20not`20work`20until`20the`20calculatio
- Vn
- Xis`20complete.
- X.PP
- XThere`20should`20be`20a`20way`20to`20play`20interactively`20(using`20socket
- V`20connections,
- Xfor`20example),`20rather`20than`20via`20e`5C-mail.
- X.PP
- XUnder`20Eunice,`20there`20is`20a`20bug`20when`20delmail`20is`20enabled,
- Xreceived`20mail`20is`20in`20a`20file`20with`20multiple`20versions,
- Xand`20these`20versions`20are`20entered`20on`20the`20command`20line
- X(as`20opposed`20to`20being`20specified`20by`20a`20pattern`20in`20.ldbrc).
- XEunice`20handles`20multiple`20versions`20by`20appending`20a`20dot`20and`20the
- V`20version
- Xnumber`20to`20all`20versions`20of`20the`20file`20but`20the`20newest`20version,
- V
- Xto`20which`20it`20appends`20nothing.`20`20When`20the`20most`20recent`20version
- V`20is`20deleted,
- Xthe`20next`20older
- Xversion`20becomes`20the`20most`20recent,`20and`20has`20no`20version`20suffix
- Xattached.`20`20This`20file`20will`20be`20skipped,`20since`20its`20name`20chang
- Ved
- Xbetween`20the`20time`20the`20file`20list`20was`20created`20and`20the`20file
- V`20is`20opened.
- XAll`20other`20files`20will`20be`20scanned`20properly.`20`20The`20work-around
- V`20for`20this
- Xis`20to`20not`20use`20a`20pattern`20like`20'ldb`20ldb.txt*'`20on`20the`20comma
- Vnd`20line
- Xto`20specify`20all`20versions`20of`20the`20file,`20but`20rather`20use`20'ldb
- V`20ldb.txt.*`20ldb.txt'
- Xso`20that`20the`20most`20recent`20version`20is`20scanned`20(and`20thus`20delet
- Ved)`20last.
- XAlternatively,`20the`20pattern`20can`20be`20quoted`20so`20that`20ldb`20interpr
- Vets
- Xit`20instead`20of`20the`20shell.
- X.PP
- XThe
- X.I`20`5C-myaddr
- Xcommand`20line`20option`20should`20override`20the
- Xmyaddr`20line`20in`20the`20people`20file.
- X.PP
- XVersion`201.0`20of`20ldb`20only`20allowed`20the`20colors`20red,
- Xwhite,`20and`20black,`20represented`20by`20r,`20w,`20and`20b,
- Xrespectively.`20`20Although`20ldb`201.0`20will`20allow`20games
- Xto`20be`20started`20and`20played`20correctly`20with`20different
- Xcolors,`20the`20move`20blocks`20will`20have`20the`20string`20"*BAD`20COLOR*"
- Xdisplayed`20where`20the`20color`20should`20be,`20making`20it`20difficult
- Xto`20figure`20out`20which`20color`20you`20are`20playing.`20`20Upgrading
- Xto`20a`20newer`20ldb`20will`20fix`20this.`20`20Nevertheless,`20if`20you
- Xare`20playing`20someone`20who`20is`20using`20ldb`201.0,`20you`20may`20want
- Xto`20restrict`20your`20color`20choices`20to`20r,`20w,`20and`20b.
- X.PP
- XOccasionally,`20ldb`20will`20print`20a`20spurious`20message`20telling
- Xyou`20that`20you`20only`20have`20one`20legal`20move.`20`20Usually`20when`20it
- V`20prints
- Xthis,`20it`20is`20right,`20but`20in`20the`20special`20case`20where`20you`20hav
- Ve`20one
- Xpiece`20left`20to`20bear`20off,`20one`20of`20your`20rolls`20is`20less`20than
- Xyou`20need`20to`20bear`20it`20off,`20and`20the`20other`20roll`20is`20big`20eno
- Vugh
- Xto`20bear`20off`20by`20itself,`20ldb`20will`20want`20you`20to`20use`20the`20sm
- Valler
- Xdie`20first,`20then`20bear`20off`20with`20the`20bigger`20one.`20`20This`20is
- V`20consistent
- Xwith`20the`20rules`20that`20say`20you`20must`20use`20both`20dice`20if`20you
- V`20can,
- Xbut`20is`20not`20correct`20in`20this`20case.`20`20Note`20that`20you`20can`20ei
- Vther
- Xuse`20both`20dice`20like`20ldb`20wants,`20or`20ignore`20the`20message`20and
- V`20bear
- Xoff`20with`20the`20larger`20die.`20`20Your`20move`20will`20be`20accepted`20eit
- Vher`20way.
- $ call unpack LDB.MAN;1 372637774 ""
- $!
- $ create 'f'
- X%!PS-Adobe-2.1
- X%%Creator:`20groff`20version`201.01
- X%%DocumentFonts:`20Times-Italic`20Times-Bold`20Times-Roman
- X%%DocumentSuppliedFonts:
- X%%DocumentNeededFonts:`20Times-Italic`20Times-Bold`20Times-Roman
- X%%Pages:`2012
- X%%EndComments
- X/grops`20100`20dict`20def`20grops`20begin
- X%!
- X%`20If`20you`20add`20definitions`20here,`20be`20sure`20to`20check`20that`20MAX
- V_PROLOGUE_DEFS
- X%`20in`20ps.c`20is`20large`20enough.
- X
- X%`20The`20ASCII`20code`20of`20the`20space`20character.
- X/SC`2032`20def
- X
- X/A`20/show`20load`20def
- X/B`20`7B`200`20SC`203`20-1`20roll`20widthshow`20`7D`20bind`20def
- X/C`20`7B`200`20exch`20ashow`20`7D`20bind`20def
- X/D`20`7B`200`20exch`200`20SC`205`202`20roll`20awidthshow`20`7D`20bind`20def
- X/E`20`7B`200`20rmoveto`20show`20`7D`20bind`20def
- X/F`20`7B`200`20rmoveto`200`20SC`203`20-1`20roll`20widthshow`20`7D`20bind`20def
- V
- X/G`20`7B`200`20rmoveto`200`20exch`20ashow`20`7D`20bind`20def
- X/H`20`7B`200`20rmoveto`200`20exch`200`20SC`205`202`20roll`20awidthshow`20`7D
- V`20bind`20def
- X/I`20`7B`200`20exch`20rmoveto`20show`20`7D`20bind`20def
- X/J`20`7B`200`20exch`20rmoveto`200`20SC`203`20-1`20roll`20widthshow`20`7D`20bin
- Vd`20def
- X/K`20`7B`200`20exch`20rmoveto`200`20exch`20ashow`20`7D`20bind`20def
- X/L`20`7B`200`20exch`20rmoveto`200`20exch`200`20SC`205`202`20roll`20awidthshow
- V`20`7D`20bind`20def
- X/M`20`7B`20rmoveto`20show`20`7D`20bind`20def
- X/N`20`7B`20rmoveto`200`20SC`203`20-1`20roll`20widthshow`20`7D`20bind`20def
- X/O`20`7B`20rmoveto`200`20exch`20ashow`20`7D`20bind`20def
- X/P`20`7B`20rmoveto`200`20exch`200`20SC`205`202`20roll`20awidthshow`20`7D`20bin
- Vd`20def
- X/Q`20`7B`20moveto`20show`20`7D`20bind`20def`20
- X/R`20`7B`20moveto`200`20SC`203`20-1`20roll`20widthshow`20`7D`20bind`20def
- X/S`20`7B`20moveto`200`20exch`20ashow`20`7D`20bind`20def
- X/T`20`7B`20moveto`200`20exch`200`20SC`205`202`20roll`20awidthshow`20`7D`20bind
- V`20def
- X
- X%`20name`20size`20font`20SF`20-
- X
- X/SF`20`7B
- X`09findfont`20exch
- X`09`5B`20exch`20dup`200`20exch`200`20exch`20neg`200`200`20`5D`20makefont
- X`09dup`20setfont
- X`09`5B`20exch`20/setfont`20cvx`20`5D`20cvx`20bind`20def
- X`7D`20bind`20def
- X
- X%`20name`20a`20c`20d`20font`20MF
- X
- X/MF`20`7B
- X`09findfont
- X`09`5B`205`202`20roll
- X`090`203`201`20roll`20%`20b
- X`09neg`200`200`20`5D`20makefont
- X`09dup`20setfont
- X`09`5B`20exch`20/setfont`20cvx`20`5D`20cvx`20bind`20def
- X`7D`20bind`20def
- X
- X`09
- X%`20BP`20-
- X
- X/BP`20`7B
- X`09/level0`20save`20def
- X`091`20setlinecap
- X`091`20setlinejoin
- X`0972`20RES`20div`20dup`20scale
- X`09LS`20`7B
- X`09`0990`20rotate
- X`09`7D`20`7B
- X`09`090`20PL`20translate
- X`09`7D`20ifelse
- X`091`20-1`20scale
- X`7D`20bind`20def
- X
- X/EP`20`7B
- X`09level0`20restore
- X`09showpage
- X`7D`20bind`20def
- X
- X
- X%`20centerx`20centery`20radius`20startangle`20endangle`20DA`20-
- X
- X/DA`20`7B
- X`09newpath`20arcn`20stroke
- X`7D`20bind`20def
- X
- X%`20x`20y`20SN`20-`20x'`20y'
- X%`20round`20a`20position`20to`20nearest`20(pixel`20+`20(.25,.25))
- X
- X/SN`20`7B
- X`09transform`20
- X`09.25`20sub`20exch`20.25`20sub`20exch
- X`09round`20.25`20add`20exch`20round`20.25`20add`20exch
- X`09itransform
- X`7D`20bind`20def
- X`09
- X%`20endx`20endy`20startx`20starty`20DL`20-
- X%`20we`20round`20the`20endpoints`20of`20the`20line,`20so`20that`20parallel`20h
- Vorizontal
- X%`20and`20vertical`20lines`20will`20appear`20even
- X
- X/DL`20`7B
- X`09SN
- X`09moveto
- X`09SN
- X`09lineto`20stroke
- X`7D`20bind`20def
- X
- X%`20centerx`20centery`20radius`20DC`20-
- X
- X/DC`20`7B
- X`09newpath`200`20360`20arc`20closepath
- X`7D`20bind`20def
- X
- X
- X/TM`20matrix`20def
- X
- X%`20`20width`20height`20centerx`20centery`20DE`20-
- X
- X/DE`20`7B
- X`09TM`20currentmatrix`20pop
- X`09translate`20scale`20newpath`200`200`20.5`200`20360`20arc`20closepath
- X`09TM`20setmatrix
- X`7D`20bind`20def
- X
- X%`20these`20are`20for`20splines
- X
- X/RC`20/rcurveto`20load`20def
- X/RL`20/rlineto`20load`20def
- X/ST`20/stroke`20load`20def
- X/MT`20/moveto`20load`20def
- X/CL`20/closepath`20load`20def
- X
- X%`20fill`20the`20last`20path
- X
- X%`20amount`20FL`20-
- X
- X/FL`20`7B
- X`09currentgray`20exch`20setgray`20fill`20setgray
- X`7D`20bind`20def
- X
- X%`20fill`20with`20the`20`60`60current`20color''
- X
- X/BL`20/fill`20load`20def
- X
- X/LW`20/setlinewidth`20load`20def
- X%`20new_font_name`20encoding_vector`20old_font_name`20RE`20-
- X
- X/RE`20`7B
- X`09findfont
- X`09dup`20maxlength`20dict`20begin
- X`09`7B
- X`09`091`20index`20/FID`20ne`20`7B`20def`20`7D`20`7B`20pop`20pop`20`7D`20ifelse
- V
- X`09`7D`20forall
- X`09/Encoding`20exch`20def
- X`09dup`20/FontName`20exch`20def
- X`09currentdict`20end`20definefont`20pop
- X`7D`20bind`20def
- X
- X%`20hpos`20vpos`20EBEGIN`20-
- X
- X/EBEGIN`20`7B
- X`09moveto
- X`09DEFS`20begin
- X`7D`20bind`20def
- X
- X/EEND`20/end`20load`20def
- X
- X%`20llx`20lly`20newwid`20wid`20newht`20ht`20newllx`20newlly`20-
- X
- X/PICTURE`20`7B
- X`09translate
- X`09div`203`201`20roll`20div`20exch`20scale
- X`09neg`20exch`20neg`20exch`20translate
- X`09%`20set`20the`20graphics`20state`20to`20default`20values
- X`090`20setgray
- X`090`20setlinecap
- X`091`20setlinewidth
- X`090`20setlinejoin
- X`0910`20setmiterlimit
- X`09`5B`5D`200`20setdash
- X`09newpath
- X`7D`20bind`20def
- X/DEFS`201`20dict`20def`20DEFS`20begin/u`7B.001`20mul`7Dbind`20def`20end`20end
- X%%EndProlog
- X%%IncludeFont:`20Times-Italic
- X%%IncludeFont:`20Times-Bold
- X%%IncludeFont:`20Times-Roman
- X%%BeginSetup
- Xgrops`20begin/#copies`201`20def/RES`2072`20def/PL`20792`20def/LS`20false`20def
- V/ENC0`5B/asciicircum
- X/asciitilde/Scaron/Zcaron/scaron/zcaron/Ydieresis/trademark/.notdef/.notdef
- X/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- X/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- X/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar
- X/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
- X/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolo
- Vn
- X/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/
- VX
- X/Y/Z/bracketleft/backslash/bracketright/circumflex/underscore/quoteleft/a/b/c/
- Vd
- X/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde
- X/.notdef/quotesinglbase/guillemotleft/guillemotright/bullet/florin/fraction
- X/perthousand/dagger/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj
- V
- X/grave/hungarumlaut/dotaccent/breve/caron/ring/ogonek/quotedblleft
- X/quotedblright/oe/lslash/quotedblbase/OE/Lslash/.notdef/exclamdown/cent
- X/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
- X/guilsinglleft/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
- V
- X/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
- X/ordmasculine/guilsinglright/onequarter/onehalf/threequarters/questiondown
- X/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute
- X/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve
- X/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
- V
- X/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
- X/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
- X/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
- X/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis`5Dde
- Vf
- X/Times-Italic@0`20ENC0/Times-Italic`20RE/Times-Bold@0`20ENC0/Times-Bold`20RE
- X/Times-Roman@0`20ENC0/Times-Roman`20RE
- X%%EndSetup
- X%%Page:`201`201
- XBP/F0`2010/Times-Roman@0`20SF`20402.18(LDB`5C(1`5C)`20LDB`5C(1`5C))72`2048`20R
- V/F1`209/Times-Bold@0`20SF
- X(NAME)72`2084`20Q`20F0(ldb`20`5C255`20Play`20backgammon`20by`20e`5C255mail)108
- V`2096`20Q`20F1(SYNOPSIS)72
- X112.8`20Q`20F0(ldb`20`5Boptions`5D`20`5Binput`20`5C214les...`5D)108`20124.8
- V`20Q`20F1(DESCRIPTION)72`20141.6
- XQ/F2`2010/Times-Italic@0`20SF(Ldb)108`20153.6`20Q`20F0`204.007
- X(allows`20two`20people`20to`20play`20backgammon`20over`20a`20network`20using
- V`20electronic`20mail.)
- X6.507`20F`204.006(It`20runs`20on)9.006`20F`201.175
- X(character`5C255oriented`20terminals,`20or`20emulators`20thereof,`20using`20th
- Ve)108`20165.6`20R
- XF2(curses)3.675`20E`20F0`201.175(screen`20package.)3.675`20F`201.175(It`20will
- V`20run`20on`20most)
- X6.175`20F`201.339(UNIX`20dialects,`20as`20well`20as`20V)108`20177.6`20R`201.33
- V9
- X(AX`5C255C`20under`20VMS`205.0`20and`20above.)-1.29`20F`20F2(Ldb)6.339`20E`20F
- V0`201.339
- X(will`20display`20a`20picture`20of`20the`20board,)3.839`20F`20.358
- X(prompt`20the`20user`20to`20enter`20a`20move,`20check`20the`20move`20for`20leg
- Vality)108`20189.6`20R`202.858
- X(,a)-.65`20G`20.358(nd`20send`20the`20move`20to`20the`20opponent.)362.706`2018
- V9.6`20R`20.358(When`20it)
- X5.358`20F`20.023(arrives,`20it`20will`20be`20displayed`20on`20the`20opponent')
- V108`20201.6`20R`202.522
- X(ss)-.55`20G`20.022(creen,`20after`20which`20the`20opponent`20will`20be`20prom
- Vpted`20for`20a`20move)
- X296.78`20201.6`20R(to`20be`20sent`20back.)108`20213.6`20Q`20F1(FEA)72`20230.4
- V`20Q(TURES)-.666`20E`20F0
- X(Multiple`20Games)108`20242.4`20Q`20F2(Ldb)144`20254.4`20Q`20F0`20.068
- X(can`20keep`20track`20of`20an`20arbitrary`20number`20of`20games`20simultaneous
- Vly)2.568`20F`202.568
- X(,a)-.65`20G`20.069(nd`20will`20display`20them`20one`20at`20a)424.038`20254.4
- V`20R`20.71
- X(time`20for`20you`20to`20play)144`20266.4`20R`205.71(.Y)-.65`20G`20.71(ou`20ca
- Vn`20exit`20from)240.06
- X266.4`20R`20F2(ldb)3.21`20E`20F0`20.709
- X(at`20any`20time;`20when`20you`20run`20ldb`20again,`20it`20will`20pick`20up)3.
- V21`20F
- X(your`20games`20where`20you`20left`20of)144`20278.4`20Q(f.)-.18`20E(Move`20Che
- Vcking)108`20295.2`20Q
- X(Both`20your`20moves`20and`20your`20opponent')144`20307.2`20Q`202.5(sm)-.55
- V`20G
- X(oves`20are`20checked`20for`20legality)307.33`20307.2`20Q`205(.T)-.65`20G(his
- V`20includes:)435.25
- X307.2`20Q`2030.36<ad4c>108`20324`20S(anding`20on`20an`20occupied`20point.)150.
- V11`20324`20Q`2030.36
- X<ad42>108`20340.8`20S(earing`20of)150.67`20340.8`20Q`202.5(fb)-.18`20G
- X(efore`20your`20inner`20table`20is`20full.)197.14`20340.8`20Q`2030.36<ad54>108
- V`20357.6`20S
- X(rying`20to`20move`20pieces`20that`20are`20on`20the`20board`20when`20you`20hav
- Ve`20a`20piece`20on`20the`20bar)
- X149.76`20357.6`20Q(.)-.55`20E`2030.36<ad54>108`20374.4`20S`20.817(rying`20to
- V`20bear`20of)149.76
- X374.4`20R`203.317(fap)-.18`20G`20.817
- X(iece`20when`20there`20is`20a`20piece`20on`20a`20higher`20point,`20and`20the
- V`20roll`20is`20not`20being`20used)
- X233.365`20374.4`20R(exactly)144`20386.4`20Q(.)-.65`20E`2030.36<ad54>108`20403.
- V2`20S
- X(rying`20to`20leave`20a`20usable`20move`20unused.)149.76`20403.2`20Q`2030.36<a
- Vd54>108`20420`20S(ryin`5C
- Xg`20to`20leave`20a`20move`20unused`20when`20it`20is`20usable`20and`20has`20a
- V`20higher`20roll`20than`20the`20move`5C
- X`20that`20is`20used.)149.76`20420`20Q`2030.36<ad54>108`20436.8`20S
- X(rying`20to`20double`20when`20you`20doubled`20last.)149.76`20436.8`20Q`2030.36
- V<ad54>108`20453.6`20S
- X(rying`20to`20double`20in`20a`20Crawford`20rule`20game.)149.76`20453.6`20Q(Mes
- Vsage`20Reliability)
- X108`20470.4`20Q`20F2(Ldb)144`20482.4`20Q`20F0
- X(detects`20`5C(and`20rejects`5C)`20duplicate`20messages,`20and`20can`20regener
- Vate`20lost`20messages.)
- X2.5`20E(Remote`20Start)108`20499.2`20Q`20F2(Ldb)144`20511.2`20Q`20F0`20.624
- X(can`20start`20a`20game`20between`20two`20players`20on`20remote`20hosts.)3.124
- V`20F`20.624
- X(This`20is`20used`20to`20set`20up`20"game`20starter")5.624`20F`201.326(hosts,
- V`20where`20people`20inter`5C
- Xested`20in`20`5C214nding`20new`20opponents`20are`20matched`20by`20some`20crite
- Vria`20`5C(such`20as)144
- X523.2`20R(ability)144`20535.2`20Q`203.583(,o)-.65`20G`203.583(rb)179.993`20535
- V.2`20S`203.582(yat)
- X191.906`20535.2`20S`201.082
- X(ournament`20schedule`5C),`20and`20have`20their`20games`20started`20automatica
- Vlly)211.29`20535.2
- XR`206.082(.F)-.65`20G`201.082(or`20a`20current)491.746`20535.2`20R
- X(listing`20of`20game`20starter`20hosts,`20see`20the`20README`20`5C214le.)144
- V`20547.2`20Q(Game`20V)108
- X564`20Q(alue)-1.11`20E`20F2(Ldb)144`20576`20Q`20F0`201.107(detects`20the`20end
- V`20of`20the`20game,`20gamm`5C
- Xons,`20and`20backgammons,`20and`20noti`5C214es`20both`20players`20of`20the)3.6
- V06`20F`20.179
- X(game`20value`20when`20the`20game`20is`20over)144`20588`20R`205.178(.T)-.55
- V`20G`20.178
- X(he`20Jacoby`20rule`20may`20be`20enabled,`20as`20may`20European`20scoring,`20t
- Vo)296.61`20588`20R
- X(calculate`20the`20game`20value`20as`20desired.)144`20600`20Q(Online`20Help
- V`20Screen)108`20616.8`20Q
- XF2(Ldb)144`20628.8`20Q`20F0`20.514(has`20an`20online,`20context`20sensitive
- V`20help`20facility`20that`5C
- X`20lists`20the`20available`20commands`20for`20the`20current)3.014`20F(screen.)
- V144`20640.8`20Q
- X(Match`20Play)108`20657.6`20Q`20F2(Ldb)144`20669.6`20Q`20F0`20.224(can`20suppo
- Vrt`20matches`20that`20pl`5C
- Xay`20to`20any`20desired`20point`20total,`20and`20will`20continue`20to`20start
- V`20games`20until)2.724`20F
- X(one`20player`20reaches`20that`20total.)144`20681.6`20Q`20F1(OPTIONS)72`20703.
- V2`20Q/F3`2010
- X/Times-Bold@0`20SF(-r)108`20715.2`20Q(ead)-.18`20E`20F0`20.908
- X(Mail`20is`20read,`20and`20the`20games`20are`20updated`20and`20saved.)144`2071
- V5.2`20R`20.909
- X(The`20user`20is`20not`20prompted`20for`20his`20moves.)5.908`20F(If)5.909`20E
- X(neither`20`5C255read`20nor`20`5C255play`20are`20given,`20both`20are`20assumed
- V.)144`20727.2`20Q
- X(October`206,`201992)273.645`20768`20Q(1)535`20768`20Q`20EP
- X%%Page:`202`202
- XBP/F0`2010/Times-Roman@0`20SF`20402.18(LDB`5C(1`5C)`20LDB`5C(1`5C))72`2048`20R
- V/F1`2010/Times-Bold@0
- XSF(-play)108`2084`20Q`20F0`20.507(Any`20games`20that`20are`20waiting`20for`20l
- Vocal`20input`20are`20displ`5C
- Xayed`20for`20the`20user`20to`20process.)144`2084`20R`20.507(No`20mail`20is`20r
- Vead.)5.507`20F
- X(If`20neither`20`5C255read`20nor`20`5C255play`20are`20given,`20both`20are`20as
- Vsumed.)144`2096`20Q`20F1
- X(-color`20xy)108`20112.8`20Q`20F0`20.507
- X(The`20colors`20for`20the`20game`20started`20by`20this`20ldb`20run`20are`20set
- V`20to`20x`20and`20y)144`20124.8`20R
- X5.507(.T)-.65`20G`20.507(he`20`5C214rst`20color`20is`20played`20by`20the)420.8
- V58`20124.8`20R`202.21
- X(local`20user)144`20136.8`20R`204.71(,a)-.4`20G`202.21
- X(nd`20the`20other`20is`20played`20by`20the`20opponent.)196.06`20136.8`20R`202.
- V21
- X(Legal`20color`20characters`20are`20any`20printing)7.21`20F(character)144`2014
- V8.8`20Q`203.618(,e)
- X-.4`20G`201.118
- X(xcept`20that`20x`20and`20y`20may`20not`20be`20the`20upper`20and`20lower`20cas
- Ve`20of`20the`20same`20character)
- X190.798`20148.8`20R`206.119(.T)-.55`20G(he)530.56`20148.8`20Q(default`20is`20"
- V`5C255color`20rw".)
- X144`20160.8`20Q`20F1(-dir)108`20177.6`20Q(ection`20up/down)-.18`20E`20F0`20.10
- V9(This`20sets`20the`20di`5C
- Xrection`20of`20play`20for`20the`20local`20user`20for`20the`20game`20started
- V`20by`20this`20ldb`20run.)144
- X189.6`20R`20.108(The`20default`20is)5.108`20F("`5C255direction`20up".)144`2020
- V1.6`20Q`20F1
- X(-myaddr`20addr)108`20218.4`20Q`20F0`20-1(Yo)144`20230.4`20S`201.476(ur`20mail
- V`20address`20is`20set`20to)
- X1`20F/F2`2010/Times-Italic@0`20SF(addr)3.976`20E`20F0`201.477
- X(for`20games`20started`20on`20this`20ldb`20run.)3.976`20F`201.477(This`20overr
- Vides`20the`20address)
- X6.477`20F(speci`5C214ed`20in)144`20242.4`20Q`20F2(.ldbr)2.5`20E(c.)-.37`20E
- V`20F1(-start`20user)108
- X259.2`20Q`20F0`203.303(Ag)144`20271.2`20S`20.803(ame`20is`20started`20with`20t
- Vhe`20speci`5C214ed`20user)
- X159.523`20271.2`20R`205.803(.T)-.55`20G(he)325.404`20271.2`20Q`20F2(user)3.303
- V`20E`20F0(ar)3.303
- XE`20.803(gument`20may`20be`20any`20e`5C255mail`20address`20that`20is)-.18`20F
- V`203.156
- X(valid`20for`20your`20host.)144`20283.2`20R`203.156
- X(Some`20e`5C255mail`20addresses`20will`20need`20to`20be`20quoted`20if`20they
- V`20contain`20shell)8.156`20F
- X2.808(metacharacters.`20The)144`20295.2`20R`20F2(user)2.808`20E`20F0(ar)2.808
- V`20E`20.308
- X(gument`20may`20also`20be`20an)-.18`20F`20F2(alias)2.807`20E`20F0`20.307
- X(for`20an`20opponent`20you`20have`20played`20before.)2.807`20F`20.336(Aliases
- V`20are`20de`5C214ned`20in`5C
- X`20the`20people`20`5C214le,`20and`20are`20initialized`20to`20the`20`5C214rst
- V`20name`20of`20the`20opponent,`20w`5C
- +-+-+-+-+-+-+-+- END OF PART 4 +-+-+-+-+-+-+-+-
-