ჯვრის და ნულის მონაცვლეობის ანალიზი
ამ გაკვეთილში მე მინდა გაჩვენოთ, თუ როგორ გააკეთოთ ჯვრის და ნულის მონაცვლეობა ერთ სტრიქონში. თქვენ, ალბათ, გააკეთეთ რაღაც ასეთი:
function start(cells) {
let i = 0; // თვლის საწყისი მნიშვნელობა
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // ვზრდით თვლის მნიშვნელობას
});
}
}
მე შევთავაზებ ამოცანის უფრო მოკლედ ამოხსნას. გავაკეთოთ
ჩვენი 'მოთამაშეების' მასივი:
let gamers = ['X', 'O'];
როგორც ხედავთ, ამ მასივში ჯვარს აქვს
გასაღები 0, ხოლო ნულს - გასაღები 1. იგივე
შეიძლება ითქვას i % 2-ზე
- ჯვრისთვის ნაშთი იქნება 0, ხოლო
ნულისთვის - 1.
ანუ ამის გამოყენება შესაძლებელია გასაღების ნაცვლად:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
ან უფრო მოკლედ:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
ან კიდევ უფრო მოკლედ:
console.log(['X', 'O'][i % 2]);
ახლა გავამარტივოთ ჩვენი ფუნქციის start კოდი:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
დამოუკიდებლად, ჩემს კოდში ჩახედვის გარეშე, შეიტანეთ აღწერილი ცვლილება.
ახლა ნებისმიერ უჯრაზე შესაძლებელია შეუზღუდავი რაოდენობის დაწკაპუნების განხორციელება, მაგალითად, ჯვრის ნულში შეცვლა. გამასწორეთ ეს.