doomsday clock, speed control is added and changes are made to
allow large numbers of rings: rings now show the whole ring
number, not just the last digit; consecutive rings are allowed to
be the same size when necessary to fit all the rings in the
window; and poles can be oriented horizontally. Face support is
thrown in gratuitously.
(hanoi): Changed default number of rings back to 3.
(hanoi-unix, hanoi-unix-64): New commands
(hanoi-horizontal-flag, hanoi-move-period, hanoi-use-faces,
hanoi-pole-face, hanoi-base-face, hanoi-even-ring-face,
hanoi-odd-ring-face): New variables.
(hanoi-internal, hanoi-current-time-float, hanoi-put-face,
hanoi-n, hanoi-insert-ring, hanoi-goto-char, hanoi-sit-for,
hanoi-ring-to-pos, hanoi-pos-on-tower-p): New functions.
(hanoi-0): Renamed from hanoi0, for symmetry with hanoi-n.
(hanoi-topos, hanoi-draw-ring): Removed.
(gametree-score-regexp): Add optional plus sign.
(gametree-score-opener): Replace `:' with `=' as the former
conflicts with gametree-half-ply-regexp.
(gametree-transpose-following-leaves): Add.
(gametree-insert-new-leaf): Make modifying commands barf in read-only buffers.
(gametree-break-line-here): Add a call to
`gametree-transpose-following-leaves'. This maintains the
necessary invariant that on each level all leaf children precede
all nonleaf children. This has always been implied, but left to
the user, and, unfortunately, undocumented.
Floppy disk will melt in inventory or room, regardless
of whether or not Stallman statuette is around.
(dun-examine):
You can examine objects in the jar without taking them out.
(dun-take):
You can take objects from the jar while you are on the bus.
(dun-dig):
Message from digging on the bus is the same as when you dig and don't
find anything.
(dun-climb):
No longer errors out of the game when argument to "climb" is invalid.
(dun-put):
You can now put things in the jar, even if you are on the bus.
(dun-special-move):
"In" or "Out" command tells you if you are already on or off the bus.
(dun-sauna-heat):
Changed "begin to sweat" to "are perspiring"
so that it makes sense whether you are heating up or cooling down.
(dun-help):
Changed author e-mail address, added web page.
Added hint for batch mode.
(*global*):
Fixed spelling of Presely in global object list.
(*global*):
Added coconuts, tank, and lake as objects that are recognized.
(*global*):
Added `slip' as another way of describing the paper,
and `chip' as another way of describing the CPU.
(*global*):
Upcase abbreviations of directions in room descriptions.
(dun-login):
Fixed erroneous login message to better-describe ftp limitations.
(dun-rlogin):
Added error message if user tries to rlogin back to pokey.
(dun-load-d):
Fixed so that if restore file isn't found which in non-batch mode,
window will switch back to game.
(gomoku-mouse-play): Use it to play nearest to mouse click.
(gomoku-terminate-game): Factorize messages.
(gomoku): Allow interactive passing of board size. Don't make a fuss
about restarting a game that hasn't progressed.
(gomoku-offer-a-draw): Give user the choice it pretended to give.
(gomoku-point-x): Deleted function.
(gomoku-point-y, gomoku-point-square): Simplified because point is
always on a square.
(gomoku-goto-xy, gomoku-plot-square): Fix line count due to
intangible newlines.
(gomoku-init-display): Once again fairly fast due to minimization of
characters in buffer and text-property operations. Cursor cannot be
be off a square.
(gomoku-display-statistics): Simplified equivalently.
(gomoku-winning-qtuple-beg, gomoku-winning-qtuple-end)
(gomoku-winning-qtuple-dx, gomoku-winning-qtuple-dy): Pseudo variables
only used for non-functional argument passing deleted.
(gomoku-cross-winning-qtuple): Accordingly deleted function and
(gomoku-check-filled-qtuple): Accordingly adapted.
(gomoku-cross-qtuple): Don't be confused by tabs.
(gomoku-move-down, gomoku-move-up): Simplified because point is always
on square.
(gomoku-beginning-of-line, gomoku-end-of-line): New commands necessary
because intangible newlines perverted these.
(gomoku-mode-map): Added numeric keypad for 8 directions, changed
comments to lowercase (C-c rather than C-C), added SPC to play and
undo's binding to go back.
(gomoku-emacs-won, gomoku-font-lock-O-face, gomoku-font-lock-X-face)
(gomoku-font-lock-keywords): New variables.
(gomoku-mode): Use it and make buffer read-only for user.
(gomoku-terminate-game): Remove (ding) -- maybe should be optonal.
(gomoku-init-display): Rewritten, makes fields intangible so you
can't go in between. Make free fields have mouse-face.
(gomoku-cross-qtuple): Take account of intangible text, and that
empty lines are now really empty.
(gomoku-move-left, gomoku-move-right): Removed thanks to intangibility.
(gomoku-move-ne, -se, -nw, -sw): Use normal left / right motion.
(decipher-make-checkpoint, decipher-resync): Removed special
support for font-lock.
(decipher-resync): Removed `$' from regexps.
(decipher-set-map): Use font-lock-fontify-region-function.
(decipher-font-lock-keywords): Removed newlines from regexps.
(decipher-use-font-lock): Deleted.
(decipher-toggle-font-lock, decipher-turn-on-font-lock): Deleted.
decipher-make-checkpoint, decipher-resync): Added special support
for font-lock.
(decipher-use-font-lock, decipher-font-lock-keywords): New vars.
(decipher-toggle-font-lock, decipher-turn-on-font-lock): New funcs.
(decipher-char): Added defvar (and also for following variables).
(decipher--prev-char): Renamed from decipher-prev-char.
(decipher--digram): Renamed from digram.
(decipher--digram-list): Renamed from digram-list.
(decipher--before): Renamed from before-array.
(decipher--after): Renamed from after-array.
(decipher--freqs): Renamed from freq-array.
Compute height and width of the window in the correct way,
give the correct error message if the window is too small.
Make rings only with numerical characters.
Set default number of rings to 7 (was 3 before).
(yow-load-message, yow-after-load-message): New constants.
(yow, read-zippyism): Use them.
Now KEN and BARBIE are PERMANENTLY ADDICTED to MIND-ALTERING DRUGS..
(goto-beginning-of-buffer): Macro deleted. Use goto-char.
(goto-end-of-buffer): Macro deleted. Use goto-char.
(maxint): Macro deleted.
(life-increment): Renamed from increment.
(life-initialized): New variable.
(life): Do (random t) only once and only when `life' is called.
(protect-innocence-hook): compare expanded file names for the sake
of non-unix file systems. Use expand-file-name instead of concat
to create "celibacy.1" file name. Check that the "sex.6" exists.
for wins and losses.
(gomoku-number-of-emacs-wins): Renamed from gomoku-number-of-wins.
(gomoku-number-of-human-wins): Renamed from gomoku-number-losses.
(yow): With non-nil arg (prefix arg), insert the chosen pinhead wisdom at
point. Use (interactive-p) instead of arg to decide if interactive.
(insert-zippyism): Yow! Am I INSERTED yet?
terminal-independent function-key facilities, we ought to use
them. Remove hack which looks for all bindings for the simple
motion keys and locally binds them to blackbox keys; add bindings
for the [up], [down], [left], and [right] keys.
* hanoi.el (hanoi): If pole-spacing is odd, round down, not up.
To see if the window is wide enough, just check if one half of a
ring will fit inside pole-spacing.