X-ի և O-ի հերթագայության վերլուծություն
Այս դասում ես ուզում եմ ցույց տալ ձեզ, թե ինչպես կարելի է x-ի և o-ի հերթագայությունը կազմակերպել մեկ տողով։ Դուք, ամենայն հավանականությամբ, արել եք այսպիսի մի բան․
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'];
Ինչպես տեսնում եք, այս զանգվածում x-ը ունի
0 բանալին, իսկ o-ն՝ 1 բանալին։ Նույնը
կարելի է ասել i % 2-ի մասին
- x-ի համար մնացորդը կլինի 0, իսկ
o-ի համար՝ 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++;
});
}
}
Ինքնուրույն, առանց իմ կոդի մեջ նայելու, կատարեք նկարագրված փոփոխությունը։
Այժմ ցանկացած խցի վրա կարելի է անել անսահմանափակ կլիկներ՝ օրինակ, x-ը փոխելով o-ի։ Ուղղեք սա։