X ve O Değişiminin Analizi
Bu derste size, X ve O değişimini tek satırda nasıl yapacağınızı göstermek istiyorum. Büyük ihtimalle şöyle bir şey yaptınız:
function start(cells) {
let i = 0; // sayaç başlangıç değeri
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // sayacı artır
});
}
}
Ben görevi daha kısa çözmeyi önereceğim.
'Oyuncular' dizimizi yapalım:
let gamers = ['X', 'O'];
Gördüğünüz gibi, bu dizide X'in anahtarı
0, O'nun anahtarı ise 1. Aynı
şey i % 2 için de söylenebilir
- X için kalan 0, O için ise
1 olacaktır.
Yani bu şey anahtar yerine kullanılabilir:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Veya daha da kısası:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Veya daha da kısası:
console.log(['X', 'O'][i % 2]);
Şimdi start fonksiyonumuzun kodunu basitleştirelim:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Benim koduma bakmadan, kendi başınıza açıklanan düzeltmeyi yapın.
Şu anda herhangi bir hücreye sınırsız sayıda tıklanabilir, örneğin X'i O ile değiştirilebilir. Bunu düzeltin.