spring boot框架课学习笔记:第三讲(下)-- 创建菜单与游戏界面
今天学习完成构建蛇与蛇的移动
- 改良地图 抽对称改成中心对称
- 地图加蛇 先从简单的蛇头开始,逐渐实现蛇的移动
- 状态检测 定义游戏结束条件
- 给蛇加眼睛
对于在线匹配游戏,在前端实现地图是不科学的,为什么?
- 游戏的公平性来分析,无论是由游戏双方的哪一方实现地图都不公平。应该是后端实现,然后发给前端。
如何让蛇连贯的移动?
- 求偏移量的投影。
判断蛇的状态的函数放在 GameMap 中。
如何获取用户的操作?
- 从键盘获取输入。
如何实现移动?
- 蛇头抛出新的球,并不是蛇头移动。
JS要注意 父引用。多个引用的值可能会相互干扰
学习算法搞开发的好处 ?
- 写得快,调的快
接下来,实现蛇的连贯移动
思路:设置一个虚拟的头部。每次移动只有头和尾巴移动
回合制游戏,给蛇设定三种状态 idle 静止 move 移动 die 死亡
记录蛇的下一步指令
接下来实现用户控制蛇的移动 canvas 输入tab index 属性
snake 中,统一的接口设置方向
json实现深层复制
设置监听事件,实现蛇的移动。当前是接受键盘的输入
实现蛇头移动后实现蛇尾移动。逻辑:先判断,再渲染
学习算法,可以获得的优势--写得好,调的快。具有不可替代性
显示fiilRect函数错误。这里fillRect是在ctx上面的
定义变量 const k 指k是常量。let k 指k是变量
画布ctx 没有this 指代