এই অনুশীলনীতে আপনি এমন একটি প্রোগ্রাম বানাবেন, যা একটি টিক-ট্যাক-টো গেমের অবস্থা নির্ধারণ করে। (এই গেমটি আপনি "noughts and crosses" বা "Xs and Os" নামেও চিনতে পারেন।)
গেমটি একটি ৩×৩ গ্রিডে খেলা হয়।
খেলোয়াড়রা পালা করে গ্রিডে X ও O বসান।
একজন খেলোয়াড় সারি, কলাম বা কর্ণ বরাবর তিনটি চিহ্ন বসিয়ে জিতে গেলে, কিংবা পুরো গ্রিড ভরে গেলে গেমটি শেষ হয়।
এই অনুশীলনীতে আমরা ধরে নেব যে খেলা শুরু করে X।
একটি নির্দিষ্ট গেম কোন অবস্থায় আছে, সেটি নির্ধারণ করা আপনার কাজ।
গেমের সম্ভাব্য অবস্থা তিনটি:
প্রদত্ত বোর্ডটি অবৈধ হলে একটি উপযুক্ত এরর থ্রো করুন।
কোনো বোর্ড নিচের শর্তগুলো পূরণ করলে সেটি অবৈধ:
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 |
Exercism-এ সাইন আপ করুন, MIPS Assembly ট্র্যাকের 70টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।