card-games NEWS -- user-visible changes ======================================== * Version 1.0.91 (pretest2: playtest) ** Documentation - A complete Info manual now ships with the package: ~C-h i~ and choose *Card Games* (or ~M-x info RET (card-games) RET~). It is built with makeinfo (~make info~); ~make info-emacs~ builds it with Emacs alone for environments without a texinfo installation. - The README is generated from ~README.org~ to ~README.md~ with Emacs batch (~ox-md~), so GitHub and MELPA render it faithfully; a ~pre-commit~ hook (~make hooks~) keeps ~README.md~ in step. Added board screenshots and refreshed the game list and customization notes. * 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. - The Emacs emblem in the full-window (SVG) UIs is now switchable via ~cg-svg-emacs-logo~: it embeds a real logo that ships with Emacs -- the modern icon (default), the classic icon, a GNU head, or the splash image -- or the small built-in drawn emblem, or none. - More card backs, and a random default. ~cg-svg-card-back~ now offers ~dots~, ~rings~, ~solid~, ~lattice~, ~waves~, ~diamond~, and four backs stamped with an Emacs logo (~emacs~, ~emacs-classic~, ~gnu~, ~splash~). It defaults to ~random~, which picks a back for the session; ~M-x cg-svg-shuffle-card-back~ (or reopening the game menu) rolls a new one. - 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~). ** Pick how the games are drawn - From the ~M-x card-game~ menu (or ~M-x card-games-set-treatment~) you can switch all the games between ~text~ (UNICODE cards), ~svg~ (drawn cards), and ~full~ (the full-window SVG table where a game has one, Gaps and 500). ** Adjustable computer opponents - A new ~cg-ai-level~ (easy, normal, hard) sets how hard the computer plays, and you can change it right from the ~M-x card-game~ menu (or with ~M-x card-games-set-ai-level~). Russian Bank (Crapette) plays all three levels; the trick-taking games play a random legal card on easy. Other games ignore it for now. ** A craftier Russian Bank (Crapette) opponent - On normal and hard the computer empties its reserve first (the pile you must clear to win) and prefers loading its cards onto you; on hard it also looks a move ahead to rearrange the houses when doing so frees a card it could not otherwise place. Easy keeps the old simple play. ** Bug fixes - Alternating-colour building (the tableau solitaires and Russian Bank) wrongly treated a diamond and a heart as opposite colours, so a red card could be built on another red card. Both are red; fixed. ** 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.