迪文科技论坛

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

【分享】赵腾越 学术攻击

[复制链接]

1

主题

0

回帖

36

积分

新手上路

Rank: 1

积分
36
发表于 2025-6-29 14:26:10 | 显示全部楼层 |阅读模式
一、作品简介
在迪文开发板上,利用动画的描述指针,以及C语言的后台功能,实现一款小游戏制作。
主人公为简体小人,可选择不同的书本进行攻击,敌人是各种数学公式。游戏界面有分数显示。游戏结束后点击屏幕返回开始界面。同时支持待机呼吸灯。
二、工作原理
利用硬件PWM输出,控制外部指示灯,长时间未点击屏幕时,屏幕变暗,同时外部指示灯闪烁,实现待机呼吸灯功能。
三、设计思路
UI设计思路
        设置动图36.icl,图标动画40.icl,背景32.icl。动画为四张图片,图标动画为8张图片,背景包含首页,动画页,结算页,关卡选择页,过场页及他们对应的点击效果页。
        首页两个基础触控控件一个取消,点击跳转到首页,另一个确定,跳转到过场页面。
        过场页面一个基础触控控件,跳转到关卡选择页。
        关卡选择页四个控件,一个基础触控,跳转到首页;一个按键返回,返回变量值0001,并跳转到动画页面,变量地址0005;一个增量调节变量地址3010,循环调节14,对应关卡选择及图标显示;一个变量图标显示,显示图片,变量地址3010
        动画页面六个控件,一个动画显示,变量地址2020,指针4000;一个变量图标显示,变量地址3010,指针3000;三个按键返回,两个变量地址0005,返回值0000,一个跳转首页,一个跳转结算页面;一个变量地址0000,返回值0001,判断跳跃;一个数据变量显示,显示分数,变量地址2010,三位数,颜色为041F蓝色。
        结算页面两个控件,一个数据变量显示,变量地址2010,颜色为黑色;一个基础键控,返回首页。
        共计使用15个控件,5个基础键控,4个按键返回,2个数据变量显示,1个动画图标显示,2个变量图标显示,1个增量调节。
        待机时呼吸灯亮。
        变量地址: 0005判断游戏是否进行,0001判断是否跳跃,3010选择关卡,2020是动画变量地址,2010是分数的变量。
        指针:4000为人物指针,3000为障碍指针。
C语言程序设计思路
定义数据变量地址,障碍横坐标变量地址0x3001,人物纵坐标0x4002,分数数值变量地址0x2010,设置判断游戏是否在进行的变量n,变量地址0x0005,同理设置判断是否跳跃的变量m,变量地址0x0000
自定义函数,跳转页页面函数。
第一部分
变量初始化。人物位移为0,分数100,障碍横坐标800,跳跃初速度0,加速度10,写入分数变量,读取人物纵坐标。开启背光,呼吸灯。
第二部分
进入while(1)循环,利用if分为两个循环,在游戏循环内实现障碍移动、跳跃判断、死亡判断、分数记录,在呼吸灯循环内实现呼吸灯。
读取0005的变量,判断是否n=1,是则进入游戏循环,否则进入呼吸灯循环。
游戏循环
障碍移动每一次循环移动一步。
跳跃判断,如果游戏正在进行(n=1),并且按下跳跃键(m=1),那么进入跳跃程序,改变跳跃初速度,在接下来的循环中速度衰减,直到位移为零。然后每一次判断结束,将纵坐标写入变量地址。
死亡判断,当人物图标的角落的坐标位于障碍物的坐标以内认为发生碰撞,游戏是否进行的变量改为0,并写入变量地址0005,并跳转页面至结算页。
呼吸灯循环
进入while循环,开启呼吸灯,读取变量地址0x0005n,直到n变为1,初始化变量并跳出循环。
只有在游戏未进行的状态,才会开启呼吸灯,自动息屏的程序。
演示视频:
附件:

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-14 08:46 , Processed in 0.043250 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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