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

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

মধ্যম

নির্দেশনা

এই অনুশীলনীতে আপনি এমন একটি প্রোগ্রাম বানাবেন, যা একটি টিক-ট্যাক-টো গেমের অবস্থা নির্ধারণ করে। (এই গেমটি আপনি "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
___|___|___
   |   |
   |   |
   |   |

বোর্ডের ফরম্যাট

বোর্ডটি একটি নাল-টার্মিনেটেড স্ট্রিং হিসেবে রিপ্রেজেন্ট করা হয়, যার প্রতিটি সারির শেষে একটি নিউলাইন ক্যারেক্টার থাকে।

একটি উদাহরণ হলো "X \n XO\nOX \n"

রেজিস্টার

Register Usage Type Description
$a0 input address null-terminated input string
$v0 output integer game state (1 = ongoing, 2 = draw, 3 = win, -1 = error)
$t0-9 temporary any for temporary storage
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
MIPS Assembly Exercism

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

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