Analiza naizmjeničnog izmjenjivanja X i O
U ovoj lekciji želim da vam pokažem kako da napravite naizmjenično izmjenjivanje X i O u jednoj liniji. Verovatno ste uradili nešto ovako:
function start(cells) {
let i = 0; // početna vrednost brojača
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // povećavamo brojač
});
}
}
Predložiću da rešimo zadatak kraće. Napravimo
niz naših 'igrača':
let gamers = ['X', 'O'];
Kao što vidite, u ovom nizu X ima
ključ 0, a O - ključ 1. Isto
može da se kaže i za i % 2
- za X ostatak će biti 0, a
za O - 1.
To znači da se ova stvar može koristiti umesto ključa:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Ili još kraće:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Ili još kraće:
console.log(['X', 'O'][i % 2]);
Pojednostavimo sada kod naše funkcije start:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Samostalno, bez gledanja u moj kod, unesite opisane izmene.
Trenutno se na bilo koje polje može kliknuti neograničen broj puta, menjajući, na primer, X u O. Ispravite ovo.