【Qt游戏】骰子街Machi_Koro_AI

这里写自定义目录标题

Machi Koro AI

GitHub链接点个Star谢谢喵

这是一个基于 Qt 的《Machi Koro(骰子街)》桌游电子化项目,包含完整的游戏流程、动画与 AI 对战。

制作动机

  • 线下骰子街找不到人玩
  • 正版Steam骰子街太贵了
  • 骰子街卡牌逻辑简单适合做游戏
  • Java转C++的Qt初学者
  • Unity没学过者(作者我这辈子都不会再用Qt写游戏)

实机画面

启动界面

如果用图片清晰度很差且无法做到动效,视频动效多但会很卡,所以直接用qt手绘背景图,配色参考AI。

支持四种天气变化,后续(如果有时间,现在疲于找实习QAQ)打算增加设置和读档选项,设置包括控制音量大小、游戏初始卡牌修改/金币修改等功能。

游戏界面

骰子街游戏版本:2016版552分堆(作者认为平衡性最强的一个版本)

新手教程已经没有时间写了,能查到我这个项目的就默认会玩了,不会玩的放个视频链接:骰子街教学

目前是只支持玩家和4个人机玩,人机我是用的基于理性人假设的动态期望计算 加上一些特殊卡牌的特判来写的,如何计算开发文档.md有建模公式,自我感觉写的好(因为我自己玩了5把才打赢过一次人机)!

很多UI感觉还没设计好,比如选项位置和颜色,有时间我再改改吧,自适应做的我非常头疼,不调库从头开始非常难受。

动画设计

  • 卡牌移动是要有动画的
  • 金币变化是要有动画的
  • 天气切换是要有动画的
  • 人物头像是要有动画的
  • 动画太多是会卡顿的

角色是mp4格式非常卡,其实用gif更好,但是画质很差,所以被迫只让当前回合玩家动了,所以我觉得当时用Qt写游戏就很傻X。

你问我人物动画怎么做的?当然是先AI生图后AI图生视频了,我美术功底要有这么好我就不当码农了。

碎碎念

  • 做下来的感觉最难部分还是设计,比如五个角色怎么排布,商店位置在哪,日志位置在哪,普通卡牌和地标卡牌放哪,各种弹窗又在哪,设计好了发现代码是最简单的。
  • 直接扫描得来的图很模糊,所以对于每张卡牌除了房子是抠的,底色都是用PPT高仿原作的,执着画质这一块,包括像1~6的卡片背面图,也是用PPT画的。
  • 后端最难的还是卡牌效果执行先后顺序了,比如【麦田】收益类资源直接金币++,【果蔬超市】要计算combo的量我也忍了,那【搬家公司】直接吓哭了:先要找出可以选择的卡牌,【搬家公司】又得透明以遍玩家选择,玩家不能连续选择两个【麦田】因为前端只显示最顶上的所以不能同时执行所有【搬家公司】,就光前端能设计很久。
  • AI数学建模也是想了很久,因为总是算期望而真人算不过来导致真人总是很难获胜,纯随机买比如没有农田一直买【果蔬超市】也很傻x,所以我设置了个阶梯式衰减概率选择,AI买卡有小概率会"不那么聪明"来增加玩家体验,如果你想挑战困难模式可以在代码直接设置买最优的。
  • 本来后续还想出选择角色,不同角色不同技能,比如汐月定位"研究员",效果是"你初始获得一张【玉米田】(限定卡),比如艾米定位是精灵,效果是"你不会太倒霉",后台设计当排名最后时抛出最大收益概率大幅增加,这类的,但现在已经燃尽了。

作者寄语

此项目仅供Qt初学者参考,Qt真不适合写游戏,就当作者我作为反面教材吧。

运行环境

  • Windows 10/11
  • Qt 6.9 或更高
  • CMake 3.20 或更高
  • MinGW 64-bit(与 Qt 套件匹配)

构建与运行

  1. 使用 Qt Creator 打开根目录下的 CMakeLists.txt
  2. 选择与 Qt 版本匹配的 MinGW 64-bit 套件
  3. 生成并构建项目
  4. 运行生成的可执行文件

若需要命令行构建,可在 Qt Creator 配置完成后使用 CMake 预设或 Ninja 构建系统。

项目结构

  • 核心逻辑位于 src/ 目录
  • 资源文件位于 resources/ 目录
  • UI 相关位于 src/ui/ 目录
  • 详细说明见 开发文档.md

本地化

中文翻译资源位于 <Machi_Koro_AI_zh_CN.ts>,打包后的 qm 文件会输出到 QM_FILES_OUTPUT_DIR。

许可

如需发行或商用,请先确认相关素材与规则文本的授权情况。

相关推荐
互联网时光机2 小时前
TikToken 使用教程:从原理到实战,一文搞懂 OpenAI 的文本分词利器
人工智能·python
yang_B6212 小时前
耦合系数标定
人工智能
中科院提名者2 小时前
RAG向量库如何进行数据保鲜?
人工智能
Trouvaille ~2 小时前
【优选算法篇】队列与宽度优先搜索(BFS)——层层递进的视野
c++·算法·leetcode·青少年编程·面试·蓝桥杯·宽度优先
b1ue1ue1ue3 小时前
AI 编程最佳实践
人工智能
大写的z先生3 小时前
【深度学习 | 论文精读】从“子空间拆解”到“社交图谱”:多模态情感分析:MISA
人工智能·深度学习
AI服务老曹3 小时前
打破协议孤岛:基于 GB28181/RTSP 的 AI 视频统一接入网关架构解析(源码级)
人工智能·架构·音视频
小程故事多_803 小时前
从个人工具到团队变革,天猫 AI 全栈交付如何重构研发效率新范式
人工智能·重构·aigc·ai编程
wangqiaowq3 小时前
Few-Shot Learning(少样本学习)
人工智能