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

许可

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

相关推荐
快乐得小萝卜1 分钟前
BASE_TRT: NVIDIA Tensor Core
c++
Rabitebla3 分钟前
从零实现 C++ List:带头循环双向链表的每一个细节
数据结构·c++·算法·leetcode·链表·list
Jason_zhao_MR3 分钟前
RK3576 MIPI Camera ISP调试:客观标定与环境准备(上)
人工智能·嵌入式硬件·机器人·嵌入式·接口隔离原则
Mr数据杨4 分钟前
【CanMV K210】AI 视觉 YOLO 口罩佩戴状态识别
人工智能·硬件开发·canmv k210
金智维科技官方5 分钟前
金智维入选IDC金融生成式AI全景图谱,智能体走向自主执行新阶段
大数据·人工智能·金融
DogDaoDao5 分钟前
【GitHub】TextGen:开源本地大模型运行平台的终极解决方案
人工智能·深度学习·自然语言处理·开源·大模型·github·textgen
wuxinyan1236 分钟前
大模型学习之路008:RAG 零基础入门教程(第五篇):完整 Naive RAG 系统搭建与评估
人工智能·学习·rag
PersistJiao7 分钟前
2026年 AI 编程工具格局
人工智能
ZPC821010 分钟前
Linux / Ubuntu 隔离 CPU 核心 + ROS2 线程绑定
人工智能·算法·计算机视觉
cxr82810 分钟前
从“盲目试错“到“智能导航“的化学空间搜索策略
人工智能·智能体·逆向合成