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:

javascriptfunction 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:

javascriptlet 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:

javascriptlet gamers = ['X', 'O'];
let key = i % 2;

console.log(gamers[key]);

Au kwa njia fupi zaidi:

javascriptlet gamers = ['X', 'O'];
console.log(gamers[i % 2]);

Au bado fupi zaidi:

javascriptconsole.log(['X', 'O'][i % 2]);

Wacha turahisishe sasa code ya kitendo chetu start:

javascriptfunction start(cells) {
  let i = 0;
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      this.textContent = ['X', 'O'][i % 2];
      i++;
    });
  }
}
Задание 1

Wewe mwenyewe, bila kukiangalia code yangu, ingiza marekebisho yaliyoelezewa.

Задание 2

Kwa sasa, kwa kisanduku chochote kinaweza kufanywa idadi isiyo na kikomo ya kubonyeza, ukibadilisha, kwa mfano, X kuwa O. Irekebishe hii.