card-game.el/card-games-pkg.el
Corwin Brust 6379127e17 cg-core: make cg-shuffle optionally seeded and reproducible
cg-shuffle gains an optional SEED and a `cg-shuffle-seed' dynamic var.
With a seed the order is deterministic and identical on every platform,
so a deal can be replayed, shared between players, or pinned in a test;
the index comes from secure-hash (spec-defined output everywhere, 7 hex
digits stay a fixnum even on 32-bit Emacs), so no bignum/overflow
behaviour can vary it.  With no seed the shuffle is the byte-for-byte
old system-random path -- normal play is unchanged.

Test cgt-shuffle-seeded pins determinism, permutation, override and a
cross-platform golden prefix; fails on the prior one-arg cg-shuffle.
Suite 159/159.
2026-08-03 22:18:02 -05:00

9 lines
391 B
EmacsLisp

;;; card-games-pkg.el --- Package metadata -*- no-byte-compile: t; -*-
(define-package "card-games" "1.0.91"
"Play card games (console UNICODE and graphical SVG)."
'((emacs "26.1"))
:keywords '("games")
:url "https://code.bru.st/corwin/card-game.el"
:authors '(("Corwin Brust" . "corwin@bru.st"))
:maintainer '("Corwin Brust" . "corwin@bru.st"))
;;; card-games-pkg.el ends here