【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。

许可

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

相关推荐
久违 °36 分钟前
【AI-Agent】TagMatrix 数据标注工具开发
人工智能·数据分析·go·agent·数据隐私
NiceCloud喜云38 分钟前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
AI360labs_atyun1 小时前
腾讯推出电子牛马Marvis,好用吗?
人工智能·科技·ai
Dfreedom.1 小时前
Windows、虚拟机、开发板组网通信原理及调试通联步骤
人工智能·windows·部署·边缘计算·开发板·模型加速
cjhbachelor1 小时前
c++继承
c++
3DVisionary1 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测
Are_You_Okkk_1 小时前
基于MonkeyCode解析AI研发新模式,根治开发低效痛点
大数据·人工智能·开源·ai编程
好评笔记1 小时前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招
weixin_468466851 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
肩上风骋1 小时前
C++14特性
开发语言·c++·c++14特性