card-game.el/NEWS
Corwin Brust b06ca3362b Crapette: a craftier AI (reserve-first, loads you, rearranges houses)
* cg-crapette.el (cg-crap--ai-unload-move): scored move choice preferring
new priority chain; raise the loop guard.  Update the commentary.
* test/card-games-tests.el: add cgt-crap-ai-enabling, cgt-crap-ai-loads-you.
* NEWS: note the smarter opponent.
2026-07-01 05:22:47 -05:00

101 lines
5.4 KiB
Text

card-games NEWS -- user-visible changes
========================================
* Version 1.0.90 (pre-test snapshot)
This release grows the package from the five-game 1.0.60 candidate to a
full collection of 30 games, all of which now draw SVG card faces on a
graphical display (with a plain-text fallback in the terminal) and accept
the mouse as well as the keyboard.
** New games (since 1.0.60)
- Solitaire: Klondike, FreeCell, Spider, Yukon, Forty Thieves,
Scorpion, Canfield, Russian Bank; Golf, TriPeaks, Pyramid.
- Trick-taking: Hearts, Spades, Whist, Oh Hell, Euchre, Pitch,
Briscola, and Contract Bridge (auction, dummy, rubber scoring).
- Rummy family: Gin Rummy, Rummy, Rummy 500, Hand & Foot.
- Matching: Go Fish, Old Maid.
- Shedding and climbing: Crazy Eights, President.
- Two-player: Russian Bank / Crapette, played against the computer --
foundations, shared houses, loading cards onto your opponent, the
"stop" rule that ends your turn if you skip a foundation play
(toggle with ~cg-crapette-stops~), and sequenced house-to-house
moves limited by the number of empty houses -- with ~[~ and ~]~ to
choose how many cards of a run to drop onto an empty house. On a
graphical display it draws an SVG board (houses shown as stacks) that
you can click to pick up and drop, with ~+~ / ~-~ / ~0~ to zoom;
set ~cg-crapette-svg-cards~ to nil for the plain-text board.
- Pegging: Cribbage. Capturing: Scopa, Casino. Spite & Malice.
(These join Gaps/Montana, Hell's Half-Acre, and 500 from 1.0.60.)
** Graphics and input
- SVG card faces for every game, behind per-game ~cg-*-svg-cards~
toggles, with a plain-text fallback off a graphical display.
- Mouse support everywhere: click cards to select or play, click board
slots and buttons, and use an on-screen card-size slider plus the
~+~ / ~-~ / ~0~ zoom keys.
- Full SVG table for the trick-taking games (Hearts, Spades, Whist,
Oh Hell, Euchre, Pitch, Briscola): the three opponents, the trick in
the middle, and your fanned hand, with the legal cards you may play
ringed. Click a card to play it. Set ~cg-trick-svg-cards~ to nil
for the plain-text board.
- Full SVG board for the rummy games (Gin Rummy, Rummy, Rummy 500):
the stock and discard, the melds already down on the table, and your
fanned hand with cursor, marks, and lay-off hints; click a card to
select it. Honours ~cg-rummy-svg-cards~.
- The same board now covers Hand & Foot (each team's books, and your
hand or foot) and the fishing games Scopa and Casino (the loose
table cards and the deck).
- SVG boards for Crazy Eights (the discard, the suit in play, and the
stock), Spite & Malice (the four centre piles, your goal and discard
piles), and Old Maid (the opponents and your hand; click one of the
next player's face-down cards to draw it).
- SVG boards for Cribbage (a peg-track for each player, the starter, the
pegging count and cards, and the crib at the show) and Bridge (the
rubber and contract, all four seats with the dummy exposed, the trick
in the middle, and the hand you are playing). With these every game
in the collection now has a full graphical board.
** Rummy-family rules completed
- Rummy 500: take a card from anywhere in the discard pile (key ~T~) --
you take it plus every card above it, and meld the chosen card at once.
- Hand & Foot: pick up the discard pile (~p~) by melding its top card
with two natural cards; red threes score as bonus cards; and each
round opens with a rising go-down minimum (50, 90, 120, 150).
** 500 full-SVG UI
- The kitty exchange is fully mouse-driven: a Discard button, a five-card
selection cap, an on-table guidance banner, legal-play dimming during
play, and a clickable ~? Help / Rules~ overlay.
- A card-size slider scales the South hand; layout fixes to the
"Next hand" button and the hand fan.
- Live multiplayer 500 over TCP (~M-x cg-bid-host~ / ~M-x cg-bid-join~).
** A craftier Russian Bank (Crapette) opponent
- The computer now empties its reserve first (the pile you must clear to
win), prefers loading its cards onto you, and -- new -- looks a move
ahead to rearrange the houses when doing so frees a card it could not
otherwise place.
** Playtest fixes
- ~q~ now returns to the ~M-x card-game~ menu from any game, instead of
burying the buffer and leaving the previous buffer on screen.
- The cursor/selection ring no longer borrows the theme's ~region~
colour, which on some themes drew an alarming ring around the board;
it is now the intended gold (customize ~cg-svg-highlight-color~).
- Go Fish shows an "Ask for:" row of clickable rank buttons, so you
choose a rank to ask for without hunting for one card in a large,
overlapped hand.
- The tableau solitaires (Klondike, FreeCell, Canfield, and the rest)
and Go Fish now show a one-line control legend, so a new deal (~n~),
undo, help, and the menu are visible rather than hidden behind a key.
- Hell's Half-Acre / Gaps: clearer prompt pointing at the green ~+~
gaps to fill, and a ~q menu~ button on the control line.
* Version 1.0.60
- First multi-game release candidate: Montana/Gaps, Hell's Half-Acre,
500 (with live multiplayer). SVG rendering foundation and the
renderer-strategy registry.
* Version 1.0.50
- Initial ELPA-suitable packaging of the engine, Gaps, and 500.