X এবং O এর পর্যায়ক্রমিক পরিবর্তন বিশ্লেষণ

এই পাঠে, আমি আপনাকে দেখাতে চাই কিভাবে মাত্র এক লাইনে X এবং O এর পর্যায়ক্রমিক পরিবর্তন করা যায়। আপনি সম্ভবত, এমন কিছু করেছেন:

javascriptfunction 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++; // কাউন্টার বাড়ানো হচ্ছে
    });
  }
}

আমি কাজটি আরও সংক্ষেপে সমাধান করার প্রস্তাব দেব। আসুন আমাদের 'খেলোয়াড়'দের একটি অ্যারে তৈরি করি:

javascriptlet gamers = ['X', 'O'];

আপনি যেমন দেখতে পাচ্ছেন, এই অ্যারেতে X এর ইন্ডেক্স 0, এবং O এর ইন্ডেক্স 1। i % 2 -এর জন্যও একই কথা বলা যায় - X এর জন্য ভাগশেষ হবে 0, এবং O এর জন্য - 1।

অর্থাৎ, এই জিনিসটি কী হিসেবে ব্যবহার করা যেতে পারে:

javascriptlet gamers = ['X', 'O'];
let key = i % 2;

console.log(gamers[key]);

অথবা আরও সংক্ষেপে:

javascriptlet gamers = ['X', 'O'];
console.log(gamers[i % 2]);

অথবা আরও সংক্ষেপে:

javascriptconsole.log(['X', 'O'][i % 2]);

এখন আমাদের start ফাংশনের কোড সরল করা যাক:

javascriptfunction start(cells) {
  let i = 0;
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      this.textContent = ['X', 'O'][i % 2];
      i++;
    });
  }
}
Задание 1

স্বাধীনভাবে, আমার কোড না দেখে, বর্ণিত সংশোধনীটি আনুন।

Задание 2

বর্তমানে যেকোনো সেলে সীমাহীন সংখ্যক ক্লিক করা যায়, উদাহরণস্বরূপ, X কে O তে পরিবর্তন করা। এটি সংশোধন করুন।