坦克大战
课程内容
设计一款坦克大战游戏,坦克可通过键盘上下左右进行控制移动,坦克可发射导弹,导弹发射方向和坦克炮管朝向相同,当导弹射中坦克时扣除敌人一个生命值
课程目标
- 了解多人对战游戏设计实现
- 了解角色及其附属物品同步移动操作
- 了解较复杂游戏场景设计
- 掌握坦克移动控制和射击等核心算法的设计实现
课程概要
- 创建各个角色
- 点击从本地文件中上传角色
- 依次创建敌人、玩家、子弹
- 点击背景,点击从本地文件中上传背景
- 编写玩家代码
- 创建全局变量:生命值、运动速度
- 当小绿旗被点击时
- 将生命值设定为10
- 将运动速度设定为3
- 重复执行
- 如果按键上移键是否按下,那么
- 面向0度方向
- 如果y坐标小于145,那么移动运动速度步
- 如果按键下移键是否按下,那么
- 面向180度方向
- 如果y坐标大于-145,那么移动运动速度步
- 如果按键左移键是否按下,那么
- 面向-90度方向
- 如果x坐标小于-210,那么移动运动速度步
- 如果按键右移键是否按下,那么
- 面向90度方向
- 如果x坐标小于210,那么移动运动速度步
- 如果按键上移键是否按下,那么
- 发射子弹
- 新建一个当小绿旗被点击时
- 重复执行
- 如果按键空格被是否按下,那么克隆子弹,等待0.1秒
- 点击子弹,当小绿旗被点击时,隐藏
- 当作为克隆体启动时,显示
- 面向方向对于玩家方向
- 移到玩家的x和y坐标
- 重复执行
- 移动10步
- 如果碰到边缘,那么删除本克隆体
- 如果碰到敌人,那么等待0.1秒,删除本克隆体
- 编写敌人代码
- 创建全局变量:敌人数量、杀敌数
- 创建私有变量:血量
- 当小绿旗被点击时,隐藏
- 将敌人数量设定为0
- 重复执行
- 如果敌人数量小于10,那么
- 移到 x(-200到200)、y(-150到150)
- 面向(-90到180间的随机一个数)方向
- 克隆自己
- 将敌人数量增加1
- 等待0.5秒
- 如果敌人数量小于10,那么
- 让敌人动起来
- 当作为克隆体启动时,显示
- 将血量设定为5
- 重复执行
- 移动1步
- 如果碰到子弹,那么将血量增加-1
- 伤害玩家
- 当作为克隆体启动时
- 重复执行
- 如果碰到玩家,那么
- 将生命值增加-1,等待5秒
- 敌人被杀死
- 当作为克隆体启动时
- 重复执行
- 如果血量等于0,那么
- 将敌人数量增加-1
- 将杀敌数增加1
- 删除本克隆体
- 碰到边缘就反弹
- 游戏结束
- 重复执行
- 如果生命值等于0,那么停止全部
- 重复执行
课后练习
- 让敌人可以发射子弹,并且可以伤害玩家
- 让玩家子弹与敌人子弹可以互相抵消
- 让敌人距离玩家一定距离时可以朝向玩家发射子弹