贪吃蛇案例
题十:贪吃蛇还原
要求:只需对所给js代码的部分函数进行还原最终实现效果即可
原理:
- 首先获得蛇的头部定位,再根据键盘改变头部的位置。
- 更新蛇的身体数组,删除蛇身体的最后一个元素,并生成新数组(头部作为新数组的第一个元素)
// 移动蛇的头部
nextStep() {
// TODO:待补充代码
// //只需完善该函数实现功能,不允许修改别处代码
//使用对象展开运算符,复制当前蛇的头部位置
const head = {...this.snakeBody[0] }
//根据方向更新头部位置
switch (this.direction) {
case "right":
head.left += this.size;
break;
case "down":
head.top += this.size;
break;
case "left":
head.left -= this.size;
break;
case "up":
head.top -= this.size;
break;
}
//更新蛇的身体数组
//蛇向前移动一步,同时删除蛇尾
//删除蛇身体的最后一个元素,并生成新数组(头部作为新数组的第一个元素)
this.snakeBody = [head,...this.snakeBody.slice(0, -1)];
}