Делаю линкор игру в JavaScript, и я наткнулся на проблемуJavaScript Battleship Массив сращивания
var targetString = target.replace(/\s+/g, '');
for(var i = 0; i !== inputArray.length; i++) {
for(var j = 0; j !== boats[i].usedPositions.length; j++) {
if(targetString === boats[i].usedPositions[j].toString()) {
hit = true;
boats[i].hits[j] = 1;
console.log(boats[i].hits);
currentBoat = boats[i];
boats[i].usedPositions.splice(j,1);
break;
}
}
}
if(hit && stop == false) {
alert ("Hit!");
if(allEquals(currentBoat.hits, 1) && hit) {
alert("Boat with length " + currentBoat.hits.length + " has sunken!");
sunkenBoat++;
}
}
Первый кусок кода проверяет, если вводимый координат совпадает с координатой (все они хранятся в usedPositions). Чтобы не допустить, чтобы игрок снова ударил по этой лодке, я хочу взять координатор удара из этого массива, используя сплайсинг. Но когда я это делаю, он не предупреждает меня, когда лодка затонула (вторая часть кода). Когда линия со сращиванием в удалении, она дает предупреждение. Может кто-нибудь мне помочь? Полный код найден here.
Великий, спасибо человеку! –