Add Contract Bridge: auction, dummy play, and rubber scoring
New cg-bridge.el: a four-handed Bridge game (you are South, partnering North against East and West) on the shared cg-game base. * Auction: level/strain bids plus pass, double, and redouble, with the three-pass end rule, pass-outs, doubling state, and declarer determination (first of the side to name the strain). * Play: follow-suit with the dummy exposed after the opening lead; the declarer plays both hands. Trick resolution honours trump and no-trump. * Scoring: classic rubber -- trick points below the line toward game; overtricks, slam, insult, and undertrick penalties above; vulnerability and the rubber bonus. Verified against known results. * A small natural bidding AI (openings, NT, raises with a fit, simple overcalls) that always terminates the auction, plus a greedy card-play AI. Wire cg-bridge into the chooser, the Makefile, and the README, and add two ERT tests (scoring math and a dozen full AI-driven deals). The suite is now 109/109 and every file byte-compiles cleanly.
This commit is contained in:
parent
905d5989c2
commit
09adcaa3ea
5 changed files with 780 additions and 2 deletions
2
Makefile
2
Makefile
|
|
@ -3,7 +3,7 @@ EMACS ?= emacs
|
|||
PKG = card-games
|
||||
VERSION = 1.0.60
|
||||
# Source files in dependency order (cg-core first).
|
||||
EL = cg-core.el cg-svg.el cg-render.el cg-net.el cg-bid.el cg-gaps.el cg-bid-ui.el cg-bid-net.el cg-solitaire.el cg-trick.el cg-eights.el cg-patience.el cg-president.el cg-rummy.el cg-rum500.el cg-handfoot.el cg-match.el cg-cribbage.el cg-scopa.el cg-trick-ext.el cg-spite.el card-games.el
|
||||
EL = cg-core.el cg-svg.el cg-render.el cg-net.el cg-bid.el cg-gaps.el cg-bid-ui.el cg-bid-net.el cg-solitaire.el cg-trick.el cg-eights.el cg-patience.el cg-president.el cg-rummy.el cg-rum500.el cg-handfoot.el cg-match.el cg-cribbage.el cg-scopa.el cg-trick-ext.el cg-spite.el cg-bridge.el card-games.el
|
||||
ELC = $(EL:.el=.elc)
|
||||
PKGDESC = $(PKG)-pkg.el
|
||||
TARDIR = $(PKG)-$(VERSION)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue