项目简介
本项目是基于C语言实现的UNO游戏,可在连接VGA显示器的ARM SoC上运行。它是流行纸牌游戏UNO的数字版本,大部分规则遵循官方规则,不过玩家初始手牌为5张而非7张,并且手牌超过10张会自动输掉游戏。
项目的主要特性和功能
- 游戏逻辑:运用大型有限状态机实现主要游戏逻辑,更新布尔条件标志、状态和主要数据结构。
- AI对战:内置AI,AI算法结合任意出牌和随机搜索策略,不过目前在VGA上运行存在问题,游戏更类似单人纸牌游戏。
- 图形显示:图形显示从主数据结构读取数据,从预建图形库中显示相应的精灵。
- 用户交互:玩家能通过按键开始游戏、跳过说明页,使用开关选择卡牌,按KEY0提交卡牌;特殊卡牌(如+4卡、变色卡)有对应的颜色选择界面。
安装使用步骤
- 编译代码:在已下载本项目的源码文件后,使用C编译器(如GCC)编译项目中的源代码文件。
- 运行程序:运行编译后的可执行文件。
- 开始游戏:按任意键开始游戏,再按任意键跳过说明页。
- 进行游戏:每个开关对应屏幕上的一张卡牌,一次仅能出一张牌,打开开关卡牌会弹出,按KEY0提交。AI会根据当前卡牌出牌,特殊卡牌按规则触发相应效果。
- 判定胜负:手牌先出完者获胜,手牌超过10张则输掉游戏。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】