Analiza e alternimit të X dhe O

Në këtë mësim dua t'ju tregoj se si të bëni alternimin e X dhe O në një rresht. Me shumë gjasa, keni bërë diçka të tillë:

javascriptfunction start(cells) {
  let i = 0; // vlera fillestare e numëruesit
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // rrisim numëruesin
    });
  }
}

Unë do të sugjeroj ta zgjidhim detyrën më shkurt. Le të bëjmë një grup të 'lojtarëve' tanë:

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

Siç mund ta shihni, në këtë grup X ka çelësin 0, dhe O - çelësin 1. E njëjta gjë mund të thuhet për i % 2 - për X pjesa e mbetur do të jetë 0, ndërsa për O - 1.

Kjo do të thotë që kjo gjë mund të përdoret në vend të çelësit:

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

console.log(gamers[key]);

Ose edhe më shkurt:

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

Ose edhe më shkurt:

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

Tani le të thjeshtojmë kodin e funksionit tonë start:

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

Në mënyrë të pavarur, pa parë në kodin tim, bëni ndryshimin e përshkruar.

Задание 2

Tani në çdo qelizë mund të bëhet një numër i pakufizuar klikimesh, duke ndryshuar, për shembull, X në O. Korrigjojeni këtë.