Uchambuzi wa Kubadilishana kwa X na O
Katika somo hili, nataka kukuonyesha jinsi ya kufanya kubadilishana kwa X na O kwa mstari mmoja wa code. Yamkini umefanya kitu kama hiki:
function start(cells) {
let i = 0; // thamani ya mwanzo ya kihesabu
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // kuongeza kihesabu
});
}
}
Ninapendekeza utatue tatizo kwa njia fupi. Tufanye
safu ya 'wachezaji' wetu:
let gamers = ['X', 'O'];
Kama unavyoona, katika safu hii X ina
ufunguo 0, na O - ufunguo 1.
Kitu kile kile kinaweza kusemwa kuhusu i % 2
- kwa X salio itakuwa 0, na
kwa O - 1.
Hii ina maana kitu hiki kinaweza kutumika badala ya ufunguo:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Au kwa njia fupi zaidi:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Au bado fupi zaidi:
console.log(['X', 'O'][i % 2]);
Wacha turahisishe sasa code ya kitendo chetu start:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Wewe mwenyewe, bila kukiangalia code yangu, ingiza marekebisho yaliyoelezewa.
Kwa sasa, kwa kisanduku chochote kinaweza kufanywa idadi isiyo na kikomo ya kubonyeza, ukibadilisha, kwa mfano, X kuwa O. Irekebishe hii.