अपनी चुनी हुई भाषा में एक कार्यक्रम लिखें जो एक मानव खिलाड़ी के खिलाफ 3 * 3 बोर्ड पर टिक-टैक-पैर की अंगुली का सही खेल खेलता है। हालांकि, हर चाल का एक अलग कार्यक्रम होना चाहिए , जो पिछले पुनरावृत्ति से उत्पन्न होता है।
आप मानव इनपुट का मूल्यांकन किस प्रकार और किस रूप में करते हैं, यह आपके ऊपर है, लेकिन इसे मानक इनपुट से पढ़ना होगा। इसी तरह, आप एक विधि का चयन करने के लिए स्वतंत्र हैं कि आप कैसे निर्धारित करेंगे कि कौन सा खिलाड़ी शुरू होता है (उदाहरण के लिए, आप पहले पूछते हैं, या आप मानव को यह संकेत देने के लिए अमान्य कदम दर्ज करने की अनुमति देते हैं कि कंप्यूटर शुरू होता है, या अन्य विचार)।
चालों को मान्य करना आवश्यक नहीं है, आप काफी हद तक मानव विरोधी खेल मान सकते हैं।
मूल रूप से, आपके पास कार्यक्रम है जो बोर्ड के एक राज्य से मेल खाता है। राज्य को किसी भी पहचानने योग्य तरीके से मुद्रित किया जाता है, लेकिन कम से कम विस्तार के निम्न स्तर की उम्मीद की जाती है:
X..
00X
x..
मानव खिलाड़ी द्वारा अपनी चालों में प्रवेश करने के बाद, आपके प्रोग्राम को उसी भाषा में स्रोत फ़ाइल के रूप में स्वयं की अगली पुनरावृत्ति उत्पन्न करनी होती है (या तो मानक आउटपुट या फ़ाइल में) और समाप्त हो जाती है। आपको उस स्रोत फ़ाइल के बाहर कहीं और जानकारी संग्रहीत करने की अनुमति नहीं है। (यह आपके प्रोग्राम के लिए उत्पन्न प्रोग्राम को बनाने और चलाने के लिए आवश्यक नहीं है, यह उपयोगकर्ता द्वारा किया जा सकता है - हालांकि, यह निषिद्ध नहीं है)। जब उत्पन्न कार्यक्रम बनाया और चलाया जाता है, तो यह समान व्यवहार करेगा, राज्य प्रदर्शित करेगा, उपयोगकर्ता इनपुट की प्रतीक्षा करेगा, आदि।
खेल के अंत में, आपको परिणाम को प्रिंट करना होगा (चाहे आप जीत गए हों या यह टाई हो) किसी भी स्पष्ट पहचान के तरीके से।
परफेक्ट प्ले से मेरा मतलब है कि कार्यक्रम में हार नहीं होनी चाहिए, और अगर जीत के लिए मजबूर करने की संभावना है, तो उसे जीतना चाहिए।
सबसे कम कोड जीतता है , पहली वैध प्रविष्टि के कम से कम 10 दिन बाद विजेता का चयन किया जाता है।
यदि आपके कार्यक्रम का निर्माण और उसके अगले पुनरावृत्ति का शुभारंभ हो सकता है, तो आपको स्कोर में 10% की कमी आती है। (मुझे पता है, यह संभवतः इसके लायक नहीं है) बेशक, कार्यक्रम को उस समय तक समाप्त किया जाना चाहिए जब अगला पुनरावृत्ति उपयोगकर्ता से चालें स्वीकार करता है।
यदि आप कुछ अजीब असामान्य ट्रिक्स का उपयोग करते हैं, तो कृपया अपने कोड के साथ एक संक्षिप्त विवरण पोस्ट करें।