Skip to content

四色牌简易JS前端 #3

Description

@lin594

根据 #1 里面的内容, 第一套规则 四色牌 的游戏规则主要包括:

牌组: {将士象车马炮卒} * {黄,红,绿,白} + {公侯伯子男} (统称“金条”,算红色特殊将)。
玩家: 4人。
开局: 庄家21张,其他人20张。
定庄:
首局随机一人翻牌,根据牌面颜色决定,黄=1, 红=2, 绿=3, 白=4点,暨如果翻到牌的颜色是黄色则自己是庄。
大胡后,胜利方的对家成为新庄。
小胡后,庄家连庄。
翻牌: 庄家比其他玩家多一张牌(即第1张牌,随机时翻开的那张牌),这张牌公开。
运转规则:
玩家打出一张牌。下家选择“响应”或从牌堆翻一张牌。
翻牌后,优先检查其他玩家是否有“胡、开、碰”等高优先级操作。若无,翻牌的玩家可以“响应”这张牌。
如果玩家最终无法“响应”,则这张翻出的牌成为他打出的牌。
响应操作:
胡: 手牌和响应牌能组成全部牌组,即可胡牌。
开: 手上有三张相同的牌(一坎),再拿到第四张,可“开”,计6点。
碰: 手上有两张相同的牌,再拿到第三张,可“碰”,计1点。
吃: 只能吃上家的牌。响应牌+手牌能组成特定牌组。
牌组定义:
坎: 3张同色同字,计3点。(金条坎计9点)
鱼: 4张同色同字,计8点。(金条鱼计24点)
吃的组合:
同色:车马炮、将士象,计1点。
异色卒:3张不同色卒计1点,4张不同色卒计2点。
单张:将计1点,金条计3点。
胡牌计分:
小胡: 无“鱼”或“开”。得分 = (基础分3点+吃+碰+未开的坎)。
大胡: 有“鱼”或“开”。得分 = (基础分3点+吃+碰+未开的坎 + 开+鱼) * 2。
结算: 赢家向其他三人收取分数。其他玩家之间根据“坎、开、鱼”互相结算。
流局: 牌库剩8张时流局,庄家连庄。

现在已经有一定的后端实现,请你实现一个简易的JS交互程序(封装好响应的API调用services,然后用一个很简单的前端进行交互),一遍测试这个程序的正确性。(为了方便我测试,你还需要实现”托管模式“,我作为玩家,三个机器人作为游戏的参与者,共同完成一局游戏的测试)。在这个过程中,如果有发现后端错误可以一并修复

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions