X və O-nun növbə ilə dəyişməsinin təhlili

Bu dərsdə sizə X və O-nun növbə ilə dəyişməsini bir sətirdə necə edəcəyinizi göstərmək istəyirəm. Çox guman ki, siz belə bir şey etmisiniz:

javascriptfunction start(cells) {
  let i = 0; // sayğacın başlanğıc dəyəri
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // sayğacı artırırıq
    });
  }
}

Mən tapşırığı daha qısa həll etməyi təklif edirəm. Gəlin öz 'oyunçular'ımızın massivini yaradaq:

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

Gördüyünüz kimi, bu massivdə X-in açarı 0, O-nun isə açarı 1-dır. Eyni şeyi i % 2 üçün də demək olar - X üçün qalıq 0, O üçün isə 1 olacaq.

Yəni bu ifadəni açar əvəzinə istifadə etmək olar:

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

console.log(gamers[key]);

Və ya daha da qısası:

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

Və ya daha da qısası:

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

İndi isə start funksiyamızın kodunu sadələşdirək:

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

Müstəqil olaraq, mənim koduma baxmadan, təsvir olunan dəyişikliyi edin.

Задание 2

Hal-hazırda hər hansı bir xanaya limitsiz sayda klikləmək olar, məsələn, X-i O ilə dəyişmək olar. Bunu düzəldin.