# 510K **Repository Path**: defiphoenix/510-k ## Basic Information - **Project Name**: 510K - **Description**: ai制作的cocos 广丰510k的开元项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-10-29 - **Last Updated**: 2026-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Guangfeng 510K Cocos 这是一个面向 Cocos Creator 3.x 的广丰 510K 微信小游戏项目骨架。 第一批代码重点完成: - 两副牌 108 张建模、洗牌、发牌。 - 核心牌型识别:单张、对子、连对、三带二、顺子、飞机、510K、炸弹、四王炸。 - 核心比较规则:炸弹 > 510K > 普通牌型。 - 抓分与基础结算。 - 叫牌倍数会放大基础输赢分。 - 单机 4 人回合引擎。 - 简单 AI 与叫牌建议雏形。 - Cocos `GameTableController` 接入口。 ## 推荐目录 ```text assets/ resources/ audio/ # 音效资源 cards/ # 牌面资源 scenes/ # Cocos 场景 scripts/ cocos/ # Cocos 组件层 core/ # 不依赖 Cocos 的纯规则核心 ai/ cards/ game/ rules/ utils/ docs/ settings/ ``` ## 当前预览方式 1. 先在 Cocos Creator 中打开本目录。 2. 打开 `assets/scenes/GameScene.scene`。 3. 点击预览。 `GameScene` 内已经放好了 `Canvas`、`Camera`、`GameTable` 节点,并在 `GameTable` 上挂载了 `assets/scripts/cocos/GameTableController.ts`。运行预览后,脚本会自动生成牌桌、玩家区、手牌区和操作按钮。 ## 当前可玩操作 - 点击手牌可以选中或取消选中。 - 新局开始后会先出现 `开局叫牌` 面板,可选择 `2打2`、`1打3`、`找朋友`。 - 开局叫牌面板会显示 `AI建议`,并可点击 `倍数 x1` 在 1、2、3 倍之间循环。 - 点击 `提示` 会自动选一组当前可出的牌。 - 点击 `出牌` 会按已选手牌出牌。 - 点击 `过牌` 会跳过当前轮。 - 点击 `点数` / `花色` / `分牌` 会循环切换手牌排序。 - 点击 `重开` 会重新洗牌并开始新局。 - 其他三家由简单 AI 自动出牌。 - 本局结束后会弹出结算框,显示名次、抓分、输赢和奖惩明细。 - 桌面会按你、左家、对家、右家四个方向显示本轮各自打出的牌。 - 轮到出牌的人会显示 30 秒倒计时,超时后首出自动打一张牌,跟牌阶段自动过牌。 - 当前牌桌 UI 已按横屏棋牌桌比例调整:底部手牌更大,操作按钮位于手牌上方,各家出牌区也放大到更醒目的尺寸。 - 每张正面牌使用干净牌底,只在左上角显示放大的点数和花色,横向叠牌时也能看清每张牌。 - 其他玩家默认只显示 1 张牌背;剩余牌数大于 5 时显示 `???`,小于等于 5 时显示实际数量。 - 跟牌时如果没有能管上的牌,玩家只会看到 `要不起` 和倒计时。 - AI 会保护队友:队友当前最大时,默认不使用炸弹、癞子炸弹或 510K 去压队友。 - 癞子炸弹已按本地规则收紧:必须先有 4 张或以上同点自然牌,王只能补大这个炸弹;没有这种同点牌时,剩余王按罚王结算。 - 牌桌背景会按 `assets/resources/table/desk.png` 原图比例适配到横屏画布内,避免拉伸或裁切。 `找朋友` 会弹出朋友牌选择面板:你可以手动点一张可配对的单牌,持有另一张同花同点牌的玩家成为朋友;也可以点 `自动选择` 让系统挑选。若没有合适牌,则默认对家为朋友。找朋友面板内也可以继续切换叫牌倍数。 当前 UI 使用程序化文字牌面,暂时不依赖美术资源。后续可以把 `createCardNode` 替换成真实牌面 Sprite 或 Prefab。 现在项目也内置了一套基础 PNG 牌面资源,路径为: ```text assets/resources/cards/ spade_3.png ... spade_2.png heart_3.png ... heart_2.png club_3.png ... club_2.png diamond_3.png ... diamond_2.png joker_small.png joker_big.png back.png ``` 当前普通正面牌使用程序化干净牌底和左上角点数花色,避免图片自带小点数造成拥挤;大小王使用 `img/bigjoker.png`、`img/smalljoker.png` 同步到 `assets/resources/cards/` 后的图片资源;牌背仍会优先加载 SpriteFrame。 ## 当前动效 - 出牌后,桌面牌会以小牌面形式弹出。 - 每家打出的牌会停留在自己座位附近,方便分辨是谁出的牌。 - 左家、对家、右家会显示牌背堆和剩余张数。 - 炸弹会显示中央“炸弹”提示。 - 正 510K / 副 510K 会显示中央提示。 - 收分和出完名次会显示短提示。 ## 当前音效 项目内置了基础 WAV 音效,路径为: ```text assets/resources/audio/ click.wav play_card.wav pass.wav collect_score.wav bomb.wav five_ten_king.wav finish.wav game_over.wav ``` 这些音效是占位资源,可以直接替换同名文件。 ## 当前 AI 与提示覆盖 `MoveGenerator` 会统一生成可出候选,当前覆盖: - 单张、对子、连对。 - 三带二、顺子、飞机。 - 正 510K、副 510K。 - 普通炸弹、癞子炸弹、四王炸。 `CallAdvisor` 会根据手牌分值、王、炸弹潜力、510K 潜力和可找朋友数量给出叫牌模式与倍数建议。建议只作为 UI 提示,不会自动替玩家叫牌。 ## 后续批次 - 真实牌面资源、出牌动画、收分动画。 - 更细的叫牌抢叫、加倍、反加倍流程。 - 炸弹奖励和单王罚分的动画表达。 - 更强 AI。 - 微信小游戏构建配置。 - 联机房间与服务器裁判。