Анализа на наизменичната употреба на X и O
Во оваа лекција сакам да ви покажам како да ја направите наизменичната употреба на X и O во една линија код. Најверојатно сте направиле нешто вакво:
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'];
Како што можете да видите, во оваа низа X има
клуч 0, а O - клуч 1.
Истото може да се каже и за i % 2
- за X остатокот ќе биде 0, а
за O - 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++;
});
}
}
Самостојно, без да го гледате мојот код, внесете ја опишаната измена.
Моментално на кое било поле може да се направи неограничен број кликови, менувајќи, на пример, X во O. Поправете го ова.