战舰游戏:随机船只位置生成与碰撞检测
1. 游戏现状与改进需求
目前已经用少量 HTML、一些图像和大约 100 行代码创建了一个基于浏览器的战舰游戏。然而,游戏中船只的位置总是固定的,这使得游戏变得单调。为了让游戏更具挑战性和趣味性,需要编写代码在每次开始新游戏时为船只生成随机位置。
生成船只的算法步骤
- 循环生成所需数量的船只。
- 为每艘新船生成随机方向(垂直或水平)。
- 为新船生成随机位置。
- 测试新船的位置是否与现有船只的位置发生碰撞。
- 将新船的位置添加到船只数组中。
2. 放置船只的方法
为了实现船只位置的随机生成,将代码组织成模型对象的三个方法:
2.1 generateShipLocations 方法
generateShipLocations: function() {
var locations;
for (var i = 0; i < this.numShips; i++) {
do {
locations = this.generateShip();
} while (this.collision(locations));
this.ships[i].locations = locations;
}
},
该方法是主方法,它会创建一个船只数组,并根
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



