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:
function 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:
let 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:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Və ya daha da qısası:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Və ya daha da qısası:
console.log(['X', 'O'][i % 2]);
İndi isə start funksiyamızın kodunu sadələşdirək:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Müstəqil olaraq, mənim koduma baxmadan, təsvir olunan dəyişikliyi edin.
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.