इस अभ्यास में आपको एक ऐसा प्रोग्राम बनाना है जो बताता है कि टिक-टैक-टो के किसी खेल की स्थिति क्या है। (आप इस खेल को "noughts and crosses" या "Xs and Os" के नाम से भी जानते होंगे।)
यह खेल 3×3 के ग्रिड पर खेला जाता है।
खिलाड़ी बारी-बारी से ग्रिड पर 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"
| रजिस्टर | उपयोग | टाइप | विवरण |
|---|---|---|---|
$a0 |
इनपुट | एड्रेस | नल-टर्मिनेटेड इनपुट स्ट्रिंग |
$v0 |
आउटपुट | पूर्णांक | खेल की स्थिति (1 = ongoing, 2 = draw, 3 = win, -1 = error) |
$t0-9 |
अस्थायी | कोई भी | अस्थायी भंडारण के लिए |
Exercism पर साइन अप कीजिए और MIPS Assembly को 70 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।