上节课的问题;地图大小是 13x13 的,初始的时候,假如两条蛇起始的坐标为(11,1)(1,11);
调整一下才不会使得两条蛇在同一时刻进入同一个格子(平局)
在这里插入图片描述
把地图变为偶数 x 奇数。
在这里插入图片描述不使用轴对称,使用中心对称。
在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 创建随机障碍物
for (let i = 0; i < this.inner_walls_count / 2; i++) {

for (let j = 0; j < 1000; j++) {

let r = parseInt(Math.random() * this.rows);
let c = parseInt(Math.random() * this.cols);
//修改为中心对称
if (g[r][c] || g[this.rows - 1 - r][this.cols - 1 - c]) {

continue;
}
if (r == this.rows - 2 && c == 1 || r == 1 && c == this.cols - 2)
continue;
//修改为中心对称
g[r][c] = g[this.rows - 1 - r][this.cols - 1 - c] = true;
break;
}
}

中心对称图形 img

现在生成的地图,浏览器一刷新就随机生成一个目的是为了方便调试。后期会让后端生成地图,前端只负责演示动画。

规定:前 10 步(回合)每个蛇的长度增加 1 格,之后每 3 步变长一步。
在这里插入图片描述需要把行数和列数转化为坐标。
canvas 画布和网页图片坐标不一样。
在这里插入图片描述

第一步,画一个移动的小球。img回合制游戏,

迎着头皮抄代码

img

img

使用谷歌浏览器

保存到云端
git status
git add .
git commit -m “ “
git push