6.3 设计软件
制作好了手柄,就可以开始设计软件了。
1. 整体思路分析
这是一款双人赛马游戏,两人各自控制一匹马,分别是黄马和红马,两匹马从同一起跑线出发,通过两个按键开关,分别控制红、黄这两匹马向前移动,每按下一次向前移动5步。在前进的过程中,不断检测是否碰到右侧边缘。当一匹马碰到边缘,汇报这匹马跑完全程所用的时间,完整思维导图如图6.8所示。
图6.8 按键赛马项目分析图
按键赛马项目按对象分析脚本如表6.3所示。
表6.3 按键赛马项目思路分析表
2. 关键动作说明
(1)初始化。
在游戏开始前需要对两个角色进行初始化设置。首先是位置初始化,为了保证游戏的公平性,需要给两个角色设置相同起点。由于是向右移动,这个起点当然要靠左侧,如x:-190,y:-80。其次方向初始化,为了避免游戏方向发生偏差,需要将两个角色的方向均设置为向右。为了读数准确,在每一次游戏重新开始时都需要将计时器归零。
(2)倒计时3秒。
单击绿旗,游戏的所有脚本都开始运行。这时,玩家的手刚离开鼠标,所以需要设计等待3秒,给玩家一点准备时间,3秒后广播“开始测试”的指令,游戏正式开始。
(3)公平性设计。
同一起点:当接收到“开始测试”广播后,红马和黄马都移动到坐标(-190,-80)。
同时:当接收到“开始测试”广播后,按键才能控制红马和黄马向右移动。
同样的进度:当接收到“开始测试”广播后,每按一次左侧按键,黄马向右移动5步;每按一次右侧按键,红马向右移动5步。
3. 设计黄马脚本
(1)黄马初始化。
测试开始前需要对黄马进行初始化设置,包括位置初始化和方向初始化。当绿旗被单击时黄马回到初始位置,面向90°方向。同时,将计时器的初始值归零,重新计时。
(2)黄马倒计时。
倒计时是给测试者一个准备时间。如果没有这个准备时间,测试者按下绿旗程序就开始运行了,这时,测试者的手可能还握着鼠标,等测试者把手拿过来放到按键开关上,开始不断地按下时,要花费一些时间,这样测试出来的按键次数是不准确的。为了保证测试的公平、公正,所以必须要设计一个倒计时。另外,一个mBlock程序中,只需要设置一个倒计时,同时控制黄马和红马的运动,因此,在搭建脚本时,无须再对红马添加倒计时脚本,完整脚本如图6.9所示。
图6.9 黄马初始化脚本设计
(3)黄马开始测试。
倒计时3秒后,将“计时器”归零,mBlock从零开始计时,这时,mBlock开始检测测试者是否按下按键开关。当测试者按下按键开关后,黄马向右移动5个单位。这样一直重复检测,直到黄马碰到边缘,停止计时并显示计时器时间,此时红马隐藏,测试结束并判定控制黄马的测试者反应速度较快,完整脚本如图6.10所示。
图6.10 黄马脚本
4. 设计红马脚本
(1)红马初始化。
测试开始前需要对红马进行初始化设置,包括位置初始化和方向初始化。当绿旗被单击时红马回到初始位置,面向90°方向,如图6.11所示。
图6.11 红马初始化脚本
(2)红马开始测试。
当接收到“开始测试”后,测试者通过按下微动开关,红马向右移动5个单位。这样一直重复检测,直到红马碰到边缘,停止计时并显示计时器时间,此时黄马隐藏,测试结束并判定控制红马的测试者反应速度较快,完整脚本如图6.12所示。
图6.12 红马脚本
至此,程序设计完成。