Witam. Nie rozumiem pewnych linii w kodzie (kod nie jest mój, jest znaleziony w internecie i staram się go zrozumieć, dlatego niektóre części są pokomentowane). Mianowicie chodzi o tę funkcję.
function checkAdjacentCell(id) {
var flag = -1;
const topCellId = parseInt(id) - type,
bottomCellId = parseInt(id) + type,
rightCellId = parseInt(id) + 1,
leftCellId = parseInt(id) - 1;
adjacentId = [topCellId, bottomCellId, rightCellId, leftCellId];
if (adjacentId[2] % type == 0) {
adjacentId[2] = -1;
}
else if (adjacentId[3] % type == type - 1) {
adjacentId[3] = -1;
}
//nowe puste pole
for (let i = 0; i < adjacentId.length; i++) {
if (adjacentId[i] <= type ** 2 - 1 && adjacentId[i] >= 0) {
var cell = document.getElementById(adjacentId[i]);
if (cell.className == "pusta") {
flag = adjacentId[i];
}
}
}
return flag;
}
Rozumiem, że ma ona sprawdzać sąsiednią komórkę. Nie rozumiem natomiast dlaczego wartości const mają dodawane -type, +type. -1 i +1 przy prawej i lewej komórce rozumiem, że chodzi o poruszanie się komórke o jeden w lewo lub w prawo. Nie wiem czemu jednak proszuamy się o "type" w przypadku poruszania się w górę i dół.