迪文科技论坛

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

【分享】 李怡臻 霍奕菡-黄金矿工

[复制链接]

1

主题

0

回帖

22

积分

新手上路

Rank: 1

积分
22
发表于 前天 15:50 | 显示全部楼层 |阅读模式
一、作品简介
  本作品将基于情怀与趣味性、硬件实力、软件算法和项目完整度进行介绍。
  1.情怀与趣味性
    《黄金矿工》充斥着我们的整个童年时光,其受众广,适合作为交互系统的展示载体
  2.硬件实力
    这个游戏的钩子需要高频、平滑地来回摆动,以及各种界面和图标的动画效果、对触屏的实时响应与处理都能直观展现出迪文屏的高屏幕刷新率和屏幕灵敏度等硬件实力
  3.软件算法
    为了游戏正常运行,单片机在后台要疯狂计算:用三角函数算钩子轨迹、实时判断有没有碰到金块(碰撞检测)、根据物品重量改变拉回的速度等,一个完整工程背后是数不清的算法难题和细节斟酌,是一个巨大挑战
  4.项目完整度
    我们较为完整地复刻了整个游戏流程,在项目基本要求之上增加了随机钱袋和三种道具效果、音效开关和退出本关的功能
二、工作原理和设计思路
--设计流程
    1.在4399上深度体验游戏《黄金矿工》,了解其组成部分和游戏流程
    2.初步构建自制游戏流程
    3.在B站上学习博主用C语言实写黄金矿工代码,深度学习各部分代码算法逻辑
    4.根据流程寻找和制作相关背景图片,图标,音效
    5.学习迪文屏控件功能和《T5L _DGUS II ......》等文件,设计实现各部分功能所需控件和算法
    6.分别完成并测试各部分功能正常后,组合成完成工程项目,不断优化
--设计思路
    1.进入界面
      a.金矿光芒闪烁动画
      b.基础触控进入游戏
    2.目标分数界面
      a.多张动画效果
      b.数据返回控件进入关卡界面
      c.音效
    3.游戏界面
      a.当前分数随矿石成功收回增加
      b.每关30s倒计时,结束通过当前分数是否达到目标分数跳转界面
      c.矿工动画,抓到矿石回收时触发
      d.绳子伸长与收缩
      e.矿石被抓效果,成功抓回后消失
      f.各种道具效果
      g.钱袋金币数随机
      h.退出本关效果,点击后判断分数是否达标跳转界面
      i.音效
    4.衔接界面与细节
      a.每关结束后分数达标进入“恭喜你顺利过关”界面,动画效果,点击后进入下一关
      b.分数不达标则进入“你没有达到目标分”界面,动画效果,点击后返回开始界面
      c.共五关,全部通过后会进入“恭喜您顺利通关”界面,点击按钮则重新开始游戏
      d.各按钮均设置按钮效果
--工作原理
    1.理解迪文屏VP与SP指针用法,读懂文件
      A.VP指针地址储存数据在不同控件中有不同作用,如数据变量控件表示所显示的数据值;变量图表显示控件则表示图标id
      B.SP指针地址存储该控件的各种数据,如坐标,颜色等,即这些显示控件对应的控制面板上可自定义的值,二次开发即是通过改变其对应地址的值来实现动态的开发过程
    2. 倒计时
      a)为精确计时,不被主程序阻塞和妨碍,启用定时器中断计时;
      b)在进入关卡页面(目标分数)设置按键返回值作为倒计时开始标志;
      c)定义timer_running标志倒计时状态;
      d)倒计时结束后判断金钱与目标分数的大小自动跳转页
    3.绳子转动逻辑
      固定一个点的坐标作为旋转中心,另一个点做圆周运动(只有x轴以下部分)设定竖直向下角度为零,右摆角度0—90°,左摆-90—0°;
      若以旋转中心为坐标系原点,则x坐标为绳子长度length*sin(angle),y坐标为length*cos(angle);
      则真实的x坐标只需加上旋转中心的横坐标(CENTER_X),y坐标加上旋转中心的纵坐标(CENTER_Y);
    4.实时检测矿石抓取
      读取矿石图标的左上角坐标和宽度、高度;
      当绳子末端位于矿石图标范围时即为抓到矿石,此时算出矿石左上角x、y坐标分别与绳子末端x、y坐标的差值,则后矿石跟随绳子一起返回的坐标为绳子末端坐标减去差值,当绳子长度小于等于初长(LENGTH),且倒计时未结束则说明矿石被抓到
三、演示视频
    演示视频与结课答辩ppt、源代码、触控文件一同放在附件。


本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-18 23:05 , Processed in 0.035468 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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