戏进行中界面
f3)两玩家相撞(黄车撞蓝车,黄车回到初始位置)4)游戏结束(点击replay回到开始界面)113操作方法
正在开始界面点击“start”按钮开始游戏,开始后两玩家用方向键和asdw控制赛车方向,避免相撞。当一车与橘黄色车相撞,游戏结束,另一玩家获胜。点击“replay”按钮可以回到开始界面重新开始游戏。
12程序设计说明
121开发工具
fScratch2offli
eeditor
122
总体设计流程图
开始
初始化各参数
音效,赛道,赛车位置,标志变量……
各对象按要求运动
两玩家相撞?
蓝车撞车?
黄车撞车?
肇事车回初始位置特殊效果123关键算法描述
游戏结束界面1
游戏结束界面2
f1)背景
2)开始按钮
f3)赛道
5)橘黄车1
ff6)橘黄车2
f7)蓝色车
f8)黄色车
ff9)蓝色车赢结束
10)
黄色车赢结束
11)
replay按钮
f124
关键算法说明
1)赛道移动。赛车本身不前进,赛道全程后退产生前进的视觉效果。循环改变赛道的位置,一旦触底则返回开始位置(屏幕上面)。即,令赛道对象每次y坐标移动5,往复循环,一旦y坐标小于门限值,y坐标重新设置为初始值。2)赛车移动。直接对赛车位置坐标进行操作。例如,左移:x3(默认每次按键左移3个单位)。3)初始化。因为游戏可以重复进行,所以点击start按钮之后需要初始化。例如,gameover变量置零,music变量置零,各个对象显示(在开始界面这些对象是隐藏状态)。游戏结束后也需要有必要的清除,例如各个对象隐藏,关键变量更改其值。4)控制游戏全局进程的关键变量。gameover标识是否游戏结束,各个对象通过对此变量的重复检查盘判断游戏状态,做出控制。music变量专门控制音效。所有控制变量在下文的表格中列出。
f4)随机出现反方向车辆。设置随机变量,从13,分别对应一个赛道。设置两个障碍车,使用同一个随时间不断变化的随机变量,周期性取值。两辆车取值周期不同,故可以比较大概率保证取到的随机数不同。取值后用变量保存,另一车取值时检查是否相同,如果相同则不做任何操作,等待下一周期,如果不同则将将车辆显示在赛道上。
125
关键数据结构变量gameover描述0游戏进行中1游戏结束,黄车输2游戏结束,蓝车输music0背景音乐开启1停止switch随机变量,取值范围13,对应三个不同车道car2car6橘黄车1当前所占赛道,取值范围13橘黄车2当前所占赛道,取值范围13
界面开始界面游戏界面游戏结束界面
关键变量设置gameover0gameover0gameover1或2
f126
性能评价1)操作性强,r