坦克大战


课程内容

设计一款坦克大战游戏,坦克可通过键盘上下左右进行控制移动,坦克可发射导弹,导弹发射方向和坦克炮管朝向相同,当导弹射中坦克时扣除敌人一个生命值

课程目标

  • 了解多人对战游戏设计实现
  • 了解角色及其附属物品同步移动操作
  • 了解较复杂游戏场景设计
  • 掌握坦克移动控制和射击等核心算法的设计实现

课程概要

  1. 创建各个角色
    • 点击从本地文件中上传角色
    • 依次创建敌人、玩家、子弹
    • 点击背景,点击从本地文件中上传背景
  2. 编写玩家代码
    • 创建全局变量:生命值、运动速度
    • 当小绿旗被点击时
    • 将生命值设定为10
    • 将运动速度设定为3
    • 重复执行
      • 如果按键上移键是否按下,那么
        • 面向0度方向
        • 如果y坐标小于145,那么移动运动速度步
      • 如果按键下移键是否按下,那么
        • 面向180度方向
        • 如果y坐标大于-145,那么移动运动速度步
      • 如果按键左移键是否按下,那么
        • 面向-90度方向
        • 如果x坐标小于-210,那么移动运动速度步
      • 如果按键右移键是否按下,那么
        • 面向90度方向
        • 如果x坐标小于210,那么移动运动速度步
  3. 发射子弹
    • 新建一个当小绿旗被点击时
    • 重复执行
      • 如果按键空格被是否按下,那么克隆子弹,等待0.1秒
    • 点击子弹,当小绿旗被点击时,隐藏
    • 当作为克隆体启动时,显示
    • 面向方向对于玩家方向
    • 移到玩家的x和y坐标
    • 重复执行
      • 移动10步
      • 如果碰到边缘,那么删除本克隆体
      • 如果碰到敌人,那么等待0.1秒,删除本克隆体
  4. 编写敌人代码
    • 创建全局变量:敌人数量、杀敌数
    • 创建私有变量:血量
    • 当小绿旗被点击时,隐藏
    • 将敌人数量设定为0
    • 重复执行
      • 如果敌人数量小于10,那么
        • 移到 x(-200到200)、y(-150到150)
        • 面向(-90到180间的随机一个数)方向
        • 克隆自己
        • 将敌人数量增加1
        • 等待0.5秒
  5. 让敌人动起来
    • 当作为克隆体启动时,显示
    • 将血量设定为5
    • 重复执行
      • 移动1步
      • 如果碰到子弹,那么将血量增加-1
  6. 伤害玩家
    • 当作为克隆体启动时
    • 重复执行
      • 如果碰到玩家,那么
      • 将生命值增加-1,等待5秒
  7. 敌人被杀死
    • 当作为克隆体启动时
    • 重复执行
      • 如果血量等于0,那么
      • 将敌人数量增加-1
      • 将杀敌数增加1
      • 删除本克隆体
    • 碰到边缘就反弹
  8. 游戏结束
    • 重复执行
      • 如果生命值等于0,那么停止全部

课后练习

  1. 让敌人可以发射子弹,并且可以伤害玩家
  2. 让玩家子弹与敌人子弹可以互相抵消
  3. 让敌人距离玩家一定距离时可以朝向玩家发射子弹
Copyright © zhengxiangqi 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-09-30 02:14:29

results matching ""

    No results matching ""