ট্র্যাক
/
Crystal
Crystal
/
অনুশীলনী
/
টিক-ট্যাক-টোর অবস্থা
টিক-ট্যাক-টোর অবস্থা

টিক-ট্যাক-টোর অবস্থা

মধ্যম

নির্দেশনা

এই অনুশীলনীতে আপনি এমন একটি প্রোগ্রাম বানাবেন, যা একটি টিক-ট্যাক-টো গেমের অবস্থা নির্ধারণ করে। (এই গেমটি আপনি "noughts and crosses" বা "Xs and Os" নামেও চিনতে পারেন।)

গেমটি একটি ৩×৩ গ্রিডে খেলা হয়। খেলোয়াড়রা পালা করে গ্রিডে X ও O বসান। একজন খেলোয়াড় সারি, কলাম বা কর্ণ বরাবর তিনটি চিহ্ন বসিয়ে জিতে গেলে, কিংবা পুরো গ্রিড ভরে গেলে গেমটি শেষ হয়।

এই অনুশীলনীতে আমরা ধরে নেব যে খেলা শুরু করে X।

একটি নির্দিষ্ট গেম কোন অবস্থায় আছে, সেটি নির্ধারণ করা আপনার কাজ।

গেমের সম্ভাব্য অবস্থা তিনটি:

  • গেমটি ongoing।
  • গেমটি draw-এ শেষ হয়েছে।
  • গেমটি win-এ শেষ হয়েছে।

প্রদত্ত বোর্ডটি অবৈধ হলে একটি উপযুক্ত এরর থ্রো করুন।

কোনো বোর্ড নিচের শর্তগুলো পূরণ করলে সেটি অবৈধ:

  • সঠিক ক্রমে পালা নিলে প্রদত্ত বোর্ডে পৌঁছানো যায় না (মনে রাখুন, খেলা শুরু করে X)।
  • গেম শেষ হওয়ার পরেও খেলা চালিয়ে যাওয়া হয়েছে।

উদাহরণ

চলমান গেম

   |   |
 X |   |
___|___|___
   |   |
   | X | O
___|___|___
   |   |
 O | X |
   |   |

ড্র

   |   |
 X | O | X
___|___|___
   |   |
 X | X | O
___|___|___
   |   |
 O | X | O
   |   |

জয়

   |   |
 X | X | X
___|___|___
   |   |
   | O | O
___|___|___
   |   |
   |   |
   |   |

অবৈধ

ভুল পালাক্রম
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
জয়ের পরেও খেলা চালিয়ে যাওয়া
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |

ইমপ্লিমেন্টেশন

এই অনুশীলনীতে আপনাকে ২টি এনাম দেওয়া হয়েছে। দুটি এনাম টাইপই একটি ইউনিয়নের মাধ্যমে state মেথডের রিটার্ন ভ্যালু হিসেবে ব্যবহার করতে হবে। Crystal-এর রেফারেন্স ডকুমেন্টেশনে এনাম ও ইউনিয়ন সম্পর্কে আরও পড়তে পারেন:

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Crystal Exercism

টিক-ট্যাক-টোর অবস্থা শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Crystal ট্র্যাকের 26টি কনসেপ্ট142টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।