
bigerbigernerd /
chinese-table-games
一套用纯 JavaScript 实现的斗地主、飞行棋、斗兽棋规则引擎和电脑玩家,没有任何依赖,浏览器和 Node 都能直接用。斗地主覆盖叫地主/抢地主、14 种牌型、春天和计分;电脑会把手牌拆成最少手数来出,农民之间会配合。适合想学习棋牌规则建模、游戏 AI,或者想自己做棋牌小游戏的同学。 亮点 全部是纯函数加普通对象,好测试也好存档;服务器可以只把每个玩家能看到的信息发给他(viewFor),从规则层面防止看牌作弊。 斗地主牌型识别会…
LanguageJavaScriptDTLifestyle & entertainmentDTResearch & learningDTWeb appDTWebOriginalaeroplane-chessOriginalanimal-chessOriginalboard-gameOriginalcard-gameOriginaldou-dizhuOriginaldou-shou-qiOriginaldoudizhuOriginalfight-the-landlord
About
一套用纯 JavaScript 实现的斗地主、飞行棋、斗兽棋规则引擎和电脑玩家,没有任何依赖,浏览器和 Node 都能直接用。斗地主覆盖叫地主/抢地主、14 种牌型、春天和计分;电脑会把手牌拆成最少手数来出,农民之间会配合。适合想学习棋牌规则建模、游戏 AI,或者想自己做棋牌小游戏的同学。 亮点 全部是纯函数加普通对象,好测试也好存档;服务器可以只把每个玩家能看到的信息发给他(viewFor),从规则层面防止看牌作弊。 斗地主牌型识别会给出所有读法,比如 333444555666 既是飞机,也是飞机带翅膀,出牌时自动选能压过桌面的那一种。 电脑玩家各有思路:斗地主先搜索最少出牌手数,再决定跟牌、拆牌和用炸弹的时机;斗兽棋用负极大值、α-β 剪枝和置换表,分三档难度。 34 个测试,其中 500 局电脑自我对局保证每一步都合法、牌数守恒、分数零和。 三个游戏都有对应的在线网页版,打开就能和电脑或真人玩,也能用房间码约朋友。
Discovery history
- HelloGitHub·用户投稿
Nov 5, 2026 · 1 observations
Discuss this product