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 में बदला जा सकता है। इसे सही करें।