3.2 打地鼠游戏 学习目标: 随机图片的显示 时间控件的用法 函数的定义使用方法 随机数的产生使用方法 数学公式的使用方法 任务目标: 可以抽象描述为: 随机显示的地鼠图片,点中地鼠则手机震动并且可以提示游戏成绩
设计准备? 可以把问题分解、约简为不同模块: 显示地鼠图片? 如何随机提取坐标? 控制图片显示时间差? 如何随机显示图片? 如何获取随机数? 如何显示成绩?
程序的实现过程? 利用模块化方法实现系统功能! 利用ImageSprite显示地鼠图像 在canvas上提取随机坐标 Clock设定时间差 ImageSprite随机显示 逻辑判断,确定是否点中地鼠 数学公式加减,显示游戏结果
现在利用回溯方法验证任务 发现在clock下随机图片的显示存在不合理: 引入函数模块,把图片显示作为函数内容 函数:对某一过程的封装 函数的优点:易修改,可移植性
通过等价转化方法,即对打地鼠应用进行抽象描述,约简、分解,以及模块化方法实现,我们成功把任务转化为可行的思维方法 通过回溯方法,我们利用函数优化了程序的实现过程,确定了思维方法的实现方式 请尝试自己动手实现该程序吧
首先是?设计视图 4个label 1个canvas 1个Clock 1个button 1个Sound 属性修改
地鼠图片的显示模块如图 其中, 为获得随机数模块,from和to分别表示最小最大值 利用canvas的坐标,实现了地鼠的显示 实现了某一时间差下地鼠的随机移动
点中地鼠,显示成绩的模块如图所示 通过canvas点击坐标,判断是否点中地鼠
点中地鼠,手机震动模块如图 大家想一下,通过 canvas上的坐标判断 可不可以实现震动 重置按钮模块如图
Blocks Editor如图所示 那么,现在就连接手机,测试一下吧
手机测试结果如图所示 同学们讨论反思一下 操作中遇到的问题: clock的使用? 函数的定义? 程序还可以怎样改进呢? 设置等级? 查看排名?
总结 掌握函数的定义使用 掌握Imagesprite的使用 掌握clock的使用 学会用计算思维思考、解决问题
习题 1、简述本程序的设计实现过程 2、简述函数的定义使用 3、简述Images的特性 4、请实现本游戏的升级 课后实验: 实验3.2 拼图游戏
结语 是不是适应掌握了App Inventor编程? 习惯了用计算思维思想解决问题了吗? 利用本节知识,你可以设计出哪些有创意的应用? 谢谢