X va nolning almashinuvini tahlil qilish
Ushbu darsda men sizga X va nolning almashinuvini bitta qator kod bilan qanday amalga oshirishni ko‘rsatmoqchiman. Siz, ehtimol, shunday narsa qilgansiz:
function start(cells) {
let i = 0; // hisoblagichning boshlang‘ich qiymati
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // hisoblagichni oshiramiz
});
}
}
Men masalani qisqaroq echishni taklif qilaman. Keling,
o‘zimizning 'o‘yinchilar' massivimizni yaratamiz:
let gamers = ['X', 'O'];
Ko‘rib turganingizdek, bu massivda X ning kaliti
0, nolning kaliti esa 1. Xuddi shu narsani
i % 2 uchun ham aytish mumkin
- X uchun qoldiq 0 bo‘ladi,
nol uchun esa - 1.
Ya'ni bu narsani kalit o‘rnida ishlatish mumkin:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Yoki yanada qisqaroq:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Yoki yanada qisqaroq:
console.log(['X', 'O'][i % 2]);
Keling, endi start funksiyamiz kodini soddalashtiramiz:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Mustaqil ravishda, mening kodimga qaramay, ta'riflangan o‘zgartirishlarni kiriting.
Hozir istalgan katakchaga cheklanmagan miqdorda klik qilish mumkin, masalan, X ni nolga o‘zgartirish. Buni tuzating.