solitaire
solitaire is an interactive autoloaded compiled Lisp function in `solitaire.el
'.
It is bound to <menu-bar> <tools> <games> <solitaire>.
(solitaire ARG
)
Play Solitaire.
To play Solitaire, type M-x solitaire.
Move around the board using the cursor keys.
Move stones using RET followed by a direction key.
Undo moves using C-_.
Check for possible moves using SPC.
(The variable `solitaire-auto-eval' controls whether to automatically
check after each move or undo.)
What is Solitaire?
I don't know who invented this game, but it seems to be rather old and
its origin seems to be northern Africa. Here's how to play:
Initially, the board will look similar to this:
Le Solitaire
============
o o o
o o o
o o o o o o o
o o o . o o o
o o o o o o o
o o o
o o o
Let's call the o's stones and the .'s holes. One stone fits into one
hole. As you can see, all holes but one are occupied by stones. The
aim of the game is to get rid of all but one stone, leaving that last
one in the middle of the board if you're cool.
A stone can be moved if there is another stone next to it, and a hole
after that one. Thus there must be three fields in a row, either
horizontally or vertically, up, down, left or right, which look like
this: o o .
Then the first stone is moved to the hole, jumping over the second,
which therefore is taken away. The above thus `evaluates' to: . . o
That's all. Here's the board after two moves:
o o o
. o o
o o . o o o o
o . o o o o o
o o o o o o o
o o o
o o o
Pick your favorite shortcuts:
key binding
--- -------
C-b solitaire-left
C-f solitaire-right
RET solitaire-move
C-n solitaire-down
C-p solitaire-up
SPC solitaire-do-check
- negative-argument
0 .. 9 digit-argument
< beginning-of-buffer
> end-of-buffer
? describe-mode
g revert-buffer
h describe-mode
q quit-window
s solitaire-solve
DEL scroll-down-command
S-SPC scroll-down-command
<S-down> solitaire-move-down
<S-kp-2> solitaire-move-down
<S-kp-4> solitaire-move-left
<S-kp-6> solitaire-move-right
<S-kp-8> solitaire-move-up
<S-left> solitaire-move-left
<S-right> solitaire-move-right
<S-up> solitaire-move-up
<down> solitaire-down
<kp-0> solitaire-undo
<kp-2> solitaire-down
<kp-4> solitaire-left
<kp-5> solitaire-center-point
<kp-6> solitaire-right
<kp-8> solitaire-up
<kp-enter> solitaire-move
<left> solitaire-left
<remap> Prefix Command
<right> solitaire-right
<up> solitaire-up
<remap> <undo> solitaire-undo