Разбор чаргаванне крыжыка і ноліка
У даным уроке я хачу паказаць вам, як зрабіць чаргаванне крыжыка і ноліка ў адну радок. Вы, хутчэй за ўсё, зрабілі нешта такое:
function start(cells) {
let i = 0; // пачатковае значэнне лічыльніка
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // павялічваем лічыльнік
});
}
}
Я прапаную вырашыць задачу карацей. Зробім
масіў нашых 'гульцоў':
let gamers = ['X', 'O'];
Як вы бачыце, у гэтым масіве крыжык мае
ключ 0, а нолік - ключ 1. To
ж самае можна сказаць і пра i % 2
- для крыжыка астатак будзе 0, а
для ноліка - 1.
Гэта значыць гэтую штуку можна выкарыстоўваць замест ключа:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Ці яшчэ карацей:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Ці яшчэ карацей:
console.log(['X', 'O'][i % 2]);
Спросім цяпер код нашай функцыі start:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Самастойна, не падглядваючы ў мой код, унясіце апісаную праўку.
Зараз на любую ячэйку можна рабіць неабмежаваную колькасць клікаў, мяняючы, напрыклад, крыжык на нолік. Выпраўце гэта.