迪文科技论坛

 找回密码
 立即注册
搜索
查看: 6|回复: 0

【分享】曾令顺小组《羊了个羊》

[复制链接]

1

主题

0

回帖

28

积分

新手上路

Rank: 1

积分
28
发表于 3 天前 | 显示全部楼层 |阅读模式
项目介绍:
本项目为基于迪文串口屏与单片机平台开发的类“羊了个羊”消除小游戏,整体实现过程分为界面资源制作、屏幕端交互配置以及单片机端逻辑控制三个部分。

原理介绍:
在一次开发阶段,首先根据游戏需求设计不同关卡的背景、物品图标、按钮等界面元素,并将图片资源转换生成迪文屏可识别的 ICL 图片文件。随后将 ICL 文件导入 GUI 迪文屏开发软件中,完成页面布局、图片显示区域、触摸按键区域以及关卡切换按钮的配置。通过在 GUI 软件中设置不同页面和按键响应关系,使玩家能够通过触摸屏完成开始游戏、切换关卡、选择物品等基本操作。该阶段主要负责游戏的可视化界面搭建,相当于完成游戏的“显示层”和“交互入口”。

在二次开发阶段,使用 KEIL5 编写单片机控制程序,通过串口与迪文屏进行通信。程序根据屏幕返回的触摸坐标或按键编号,判断玩家当前点击的是哪一个物品,并对该物品进行识别和状态更新。每个物品在程序中都可以用编号、坐标位置、所属层级、是否被遮挡、是否已被选中等数据进行描述。当玩家点击某一物品时,程序首先判断该物品是否处于可点击状态,例如是否被上层物品遮挡、是否已经被消除等;若满足条件,则将其加入下方待消除区域。

游戏的核心逻辑是“三个相同物品消除”。因此,程序需要对待消除区域中的物品进行检测判断:当新物品被加入后,系统会遍历当前槽位中的物品编号,统计相同编号物品的数量。如果某一类物品数量达到三个,则将这三个物品从槽位中删除,同时更新屏幕显示状态,实现消除效果。如果槽位已满但没有可消除的物品,则判定游戏失败。

此外,程序还需要实时判断游戏是否成功。其基本原理是统计关卡中所有物品的剩余数量,或者判断所有物品的状态是否均为“已消除”。当所有物品都被成功消除后,程序向迪文屏发送页面切换或提示指令,显示通关界面;若槽位被占满且无法继续消除,则显示失败界面。通过这种方式,实现了从界面显示、触摸输入、物品识别、消除判断到胜负判定的一整套小游戏运行逻辑。

整体来看,本项目利用迪文屏完成图形界面显示和触摸交互,利用单片机完成游戏规则运算与状态管理。屏幕端负责“显示什么”和“玩家点了哪里”,单片机端负责“点中的物品是否有效”“是否满足消除条件”以及“游戏是否结束”,两者通过串口通信配合,实现了一个较完整的嵌入式小游戏系统。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-28 01:01 , Processed in 0.064211 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表