A kereszt és kör váltakozásának elemzése

Ebben a leckében szeretném megmutatni nektek, hogyan lehet a kereszt és kör váltakozását egyetlen kódsorban megoldani. Valószínűleg ti valami ilyesmit csináltatok:

javascriptfunction start(cells) {
  let i = 0; // számláló kezdeti értéke
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // növeljük a számlálót
    });
  }
}

Én rövidebb megoldást javaslok. Készítsük el a 'játékosok' tömbünket:

javascriptlet gamers = ['X', 'O'];

Amint látjátok, ebben a tömbben a kereszt kulcsa 0, a köré pedig 1. Ugyanez elmondható a i % 2 -ről is - a keresztnél a maradék 0 lesz, a körnél pedig 1.

Vagyis ezt a dolgot használhatjuk kulcsként:

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

console.log(gamers[key]);

Vagy még rövidebben:

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

Vagy még rövidebben:

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

Egyszerűsítsük most le a start függvényünk kódját:

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

Önállóan, be nem lesve a kódomba, végezzétek el az leírt módosítást.

Задание 2

Jelenleg bármelyik cellára korlátlan számú kattintást lehet végrehajtani, megváltoztatva például a keresztet körré. Javítsátok ezt ki.