|
|
作品简介
本作品为基于迪文T5L系列智能串口屏进行的“关爱黑绝—火影小游戏”游戏系统的二次开发。该系统充分利用了迪文屏内置的8051兼容MCU及其DGUS II开发环境所提供的GUI(人机界面)设计与控制功能。通过C语言编程实现游戏的核心逻辑,包括‘‘黑绝’’和‘‘神威’’的随机出现与消失、用户触摸交互响应、得分与生命值管理、游戏难度动态调整、高分记录存储以及游戏状态切换、亮度适应调节等。系统将迪文屏的强大图形显示能力与嵌入式控制功能相结合,为用户提供了一个直观、有趣且响应迅速的打黑绝游戏体验。
项目介绍
本项目基于迪文T5L ASIC芯片(8051内核)开发,在一块迪文智能屏上实现了一款经典休闲小游戏:关爱黑绝—火影小游戏。采用统一的游戏管理器(game_manager)按DGUS页面号调度,开机进入游戏主页。
硬件平台
主控芯片:迪文T5L ASIC(8051内核)
开发环境:Keil C51
界面设计:DGUS -v7.648
LED灯光闪烁:500ms闪烁game_initialize()
页面分配
页00:游戏开始界面
页01:游戏进行界面
页02:游戏结束界面
页03:最高得分界面
页04-页05:音量调节界面
页06:游戏公告界面
页08:游戏设置界面
页09:亮度调节界面
游戏介绍:关爱黑绝—火影小游戏(打地鼠)
9个洞,黑绝和神威随机出现
打中黑绝+1分,打中神威-1生命,初始3条命
难度递增:随分数提高,黑绝出现间隔缩短、停留时间减少、神威出现更频繁
历史最高分自动保存,页03可查看
生命归零自动跳到结束页,可再来一局
(一)设计过程
本项目选择迪文T5L系列智能串口屏,整个软件系统采用模块化设计,主要分为sys (系统底层驱动)、 mouse (游戏逻辑)器和main (主程序入口)三个模块。(见图功能流程图)
硬件驱动层(sys.c / sys.h)
1、sys系统初始化与底层驱动模块 (sys.c / sys.h)
2、CPU初始化 ( sys_cpu_init )
3、定时器2初始化 ( sys_timer2_init )
4、系统初始化入口 ( sys_init )
5、延时函数 ( sys_delay_about_ms ,sys_delay_about_us ,sys_delay_ms )
6、VP读写机制 ( sys_read_vp ,sys_write_vp )
7、定时器2中断服务程序 ( sys_timer2_isr )
应用逻辑层(mouse.c / mouse.h)
1、游戏初始化 ( game_initialize )
2、游戏开始控制 ( game_start )
3、地鼠/炸弹随机显示 ( mouse_random_show )
4、游戏计时管理 ( mouse_delay_ms )
5、奖励惩罚机制 ( reward_and_punishment_mechanism )
6、游戏难度控制 ( game_difficulty )
7、页面切换 ( page_switch )
8、游戏结束处理 ( game_over )
main主程序模块 (main.c)
图:功能流程图
技术亮点
1. 游戏调度:game_manager以DGUS当前页号为状态,进入游戏页自动初始化开局,离开页面立即停止游戏逻辑,游戏的计时、动画、触摸判定永远不会在后台同时运行
2. 软定时器补拍机制:打黑绝1ms节拍由系统滴答Sys按实际经过毫秒数补拍驱动,不占用硬件定时器,主循环偶尔耗时也不丢拍
3. 最高分读写保护:处理了32位生命写覆盖最高分VP的边界问题,先读后写保证数据正确
4. LED灯:开发板接电时伴随LED灯闪烁进行游戏
5.背景音乐:触发时背景音乐播放
6、随机出现神威干扰,玩家需精准识别目标,增加游戏策略性,避免单调点击,提升游戏深度与趣味性。
7、自适应递增难度,根据玩家得分动态调整黑绝出现频率与停留时间,游戏节奏加快。
8、how_set + gone_set + show_has_set 三标志协同,精确控制黑绝生命周期,避免状态冲突与显示异常。
9、game_over()函数提供最高纪录保持数据,不断电时暂存保持的最高数据记录于寄存器中,断电即清除记录
文件结构
code/ Keil C51工程源码
source/ 游戏核心代码
main.c 主入口,初始化+主循环调度
mouse.c/h 游戏逻辑
game_manager.c/h 游戏统一调度管理器
driver/ 底层驱动(sys/timer/uart/iic/rtc等)
lib/ 通用库(fat32/sd/modbus/canbus等)
OBJ/ 编译输出(T5L51.bin / T5L51.hex)
GUI/ DGUS II工程文件
DWprj.tft DGUS工程文件
DWIN_SET/ 烧录包(含背景、图标、配置、固件)
34图标/ 游戏图标素材
烧录说明
1. 将 GUI/DWIN_SET 文件夹拷贝到SD卡根目录
2. 屏幕断电插入SD卡,上电自动烧录
3. 烧录完成后重启屏幕即可进入游戏选择主页
4. 源码编译:用Keil C51打开 code/T5L51.uvproj,编译生成T5L51.bin后替换DWIN_SET中的同名文件
欢迎大家交流讨论!
[url=【迪文屏二次开发小游戏】 https://www.bilibili.com/video/B ... d43f389f72c84e349a6]【迪文屏二次开发小游戏】 https://www.bilibili.com/video/B ... d43f389f72c84e349a6[/url]
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|