|
一、作品简介
本作品是一款基于迪文 T5L 智能屏与 C51 内核实现的触摸交互小游戏《别踩白块》。系统以 DGUS 变量存储器为界面与底层程序之间的数据通道,在屏幕上构建 4×4 的动态游戏区域,玩家需要及时点击下落到最底部的黑块完成得分;若误触白块或漏点黑块,则判定游戏失败。作品整体实现了开始界面、游戏界面、结果界面和设置界面等完整流程,并加入了分数显示、速度递增、背景音乐切换和失败音效提示等功能,具有较好的交互性和演示效果。 二、工作原理 - 界面交互与底层通信:迪文屏通过 DGUS 变量地址与 C51 程序交换数据,程序中使用 [backcolor=oklab(0.999994 0.0000455678 0.0000200868 / 0.0470588)]VP_GRID_START、[backcolor=oklab(0.999994 0.0000455678 0.0000200868 / 0.0470588)]VP_KEY_INPUT、[backcolor=oklab(0.999994 0.0000455678 0.0000200868 / 0.0470588)]VP_SCORE、[backcolor=oklab(0.999994 0.0000455678 0.0000200868 / 0.0470588)]VP_BGM_SELECT 等地址分别管理方块显示、触摸输入、分数统计和音乐选择,完成界面层与逻辑层的联动。
- 方块生成与下落控制:系统采用 4×4 数组记录当前棋盘状态,定时器中断周期性触发游戏节拍,当计时达到设定下落间隔后,方块整体向下移动,并在最上方随机生成新的黑块,从而形成连续下落效果。
- 触摸判定与得分逻辑:程序实时读取玩家按下的列号,只对最底行进行判定。若点击的是黑块,则该块变为已点击状态并累计得分;若点击到白块,或底部黑块未被及时点击就继续下移,则游戏结束并跳转到结算页面。
- 难度与反馈设计:随着分数增加,系统会逐步缩短下落间隔,提高游戏节奏;同时结合页面切换、分数刷新、背景音乐播放和失败音效,增强整体体验。
三、设计思路 - 根据“别踩白块”的经典玩法确定系统功能,将工程划分为界面显示、触摸输入、游戏逻辑、音效控制和结果反馈几个部分,保证结构清晰、便于调试。
- 在软件实现上,采用模块化思路编写 C51 程序,由主循环负责启动与状态管理,定时器中断负责下落节拍控制,独立函数完成方块生成、触摸判断、界面刷新和失败处理。
- 在部署方式上,将 DGUS 工程生成的界面资源与 Keil 编译得到的底层程序共同烧录到对应运行环境中,实现迪文屏显示资源与 C51 控制逻辑的协同运行。
|