Google 贪吃蛇游戏

mario.gif

目标做一个类似功能的游戏

功能包括:

  1. 上下左右控制
  2. 蛇不停地移动
  3. 蛇碰到水果会长度加1
  4. 如果蛇碰到墙会失败

程序逻辑和程序实现

2019-12-18 贪吃蛇 - 图2

程序实现

2019-12-18 贪吃蛇 - 图3

如何用程序实现这个功能?

  1. 控制
    1. 控制方向, 有头部的一个移动 选择这个方法
    2. 控制x,y 坐标
    3. 另外一个没想到的问题, 如果鱼本来是朝右边的往右走的时候会反过来所以 涉及一个外形改变的问题
  2. 走一步多远的问题:
    1. 需要考虑鱼的长度, 怎么确定一个图片, 或者一个角色的长度, 先放到 2019-12-18 贪吃蛇 - 图4这个坐标的位置, 然后左右的拖动到正好离开的位置
  3. 改变蛇的长度
    1. 增加蛇的长度 —-> clone
    2. 去掉尾巴
      1. 一个身体过多久消失掉。 举例子, 如果当前长度是1, 当前长度是2, 当前长度是3
      2. 需要建立私有变量, 每个克隆体在画面上存在的长度
自己控制自己就行
身体1
自己控制自己就行 移动一步后消失
身体1 身体2
自己控制自己就行 移动2步后消失 移动1步后消失
  1. 苹果碰撞事件, 建立一个检测系统

    1. 长度加一 —-> 需要建立变量

      苹果

  2. 随机位置

  3. 碰撞事件
    1. 如果碰到隐藏两秒, 再在随机位置生成
    2. 如果碰到发出声音

界面撞墙检测

胜利标志

如果长度到达10, 就胜利了