गेमिंग लोगों के लिए उपलब्ध मनोरंजन का एक रूप है। मोबाइल उपकरणों पर, डेस्कटॉप कंप्यूटर आदि पर सभी प्रकार के खेल ऑनलाइन उपलब्ध हैं। अब उन चुनौतीपूर्ण खेलों में से एक बनाने का समय नहीं है।
पायथन का उपयोग करके, हम एक सीएलआई टिक-टैक-टो गेम बनाएंगे। आइए एक सीधा टिक टैक टो गेम बनाने के लिए पायथन का उपयोग करें। यह गेम लॉजिक बनाने और कोड को व्यवस्थित करने का तरीका सीखने में आपकी सहायता करेगा।
टिक टैक् टो
इससे पहले कि हम कोडिंग शुरू करें, मैंने सोचा कि मैं जल्दी से खेल को संक्षेप में बताऊंगा और इसे विकसित करने की अपनी योजना पर चर्चा करूंगा।
सबसे पहले, हम इस धारणा को स्थापित करेंगे कि X हमेशा पहल करते हैं और पहले चलते हैं, जिससे उपयोगकर्ता को कार्य करने का अवसर मिलता है।
कंसोल से, 1 और 9 के बीच की कोई संख्या दर्ज की जाएगी। एक ग्रिड में जहां प्रत्येक संख्या एक अलग संख्या से मेल खाती है (ऊपरी बाएँ 1 है, नीचे दाएँ 9 है)।
उपयोगकर्ता के हिलने पर कंप्यूटर स्वचालित रूप से निर्धारित करेगा और अपनी चाल चलेगा। एक प्राथमिक गेम लूप जो कई विभिन्न रूटीन को कॉल करता है, मेरे द्वारा उपयोग किया जाएगा।
इस पाठ-आधारित पाठ के प्रत्येक शीर्षलेख में संभवतः कौन-सा फ़ंक्शन समाप्त किया जा रहा है, इसका संकेत दिया गया है।
एक बोर्ड डिजाइन करना
जैसा कि मैंने पहले बताया था, हम ग्रिड लेआउट का उपयोग करके अपने बोर्ड को चित्रित करेंगे। हम ऐसा करने के लिए पायथन में बोर्ड नाम की एक सूची बनाएंगे, और यह 10 खाली मानों से शुरू होगी।
क्योंकि उपयोगकर्ता केवल संख्या 1 से 9 दर्ज कर सकता है, 0 से 8 तक नहीं, हमारे पास 10 के बजाय 9 खाली मान हैं। इसलिए, चीजों को सरल बनाने के लिए, हम अपनी सूची की पहली प्रविष्टि को "खाली पाठ" मान देंगे।
इस प्रकार, हम अपनी सूची में प्रविष्टियों को अनुक्रमित करने के लिए 1–9 के बजाय 0–8 का उपयोग कर सकते हैं।
सम्मिलित पत्र ()
इस फ़ंक्शन के लिए पत्र और स्थिति दो इनपुट होंगे। यह केवल अनुरोधित पत्र को अनुरोधित स्थान पर रखेगा।
अंतरिक्ष मुक्त (स्थिति)
सीधे शब्दों में कहें, यह विधि हमें सूचित करेगी कि निर्दिष्ट क्षेत्र मुक्त है या नहीं। इसलिए, वहाँ पहले से कोई पत्र नहीं है। Pos, इसका एकमात्र तर्क, 1 और 9 के बीच एक पूर्णांक होगा।
प्रिंटबोर्ड (बोर्ड)
बोर्ड को इस पद्धति के तर्क के रूप में भेजा जाता है, जो इसे कंसोल पर प्रदर्शित करता है।
विजेता है ()
वर्तमान बोर्ड के आधार पर, यह फ़ंक्शन हमें बताएगा कि आपूर्ति किया गया पत्र जीता है या नहीं। इसके दो पैरामीटर हैं: ले और बोर्ड (अक्षर)।
इसे "X" या "O" होना चाहिए। बस यह देखने के लिए देखें कि बोर्ड पर प्रत्येक संभावित जीतने वाली रेखा पर निर्दिष्ट पत्र मौजूद है या नहीं।
मुख्य()
जब हम खेल शुरू करना चाहते हैं, तो हम इस विधि को कहेंगे। यह हमारे कार्यक्रम के कई कार्यों में से हर एक को कॉल करेगा और निर्देश देगा कि कार्यक्रम को कैसे चलाना चाहिए।
isBoardFul()
जब एक इनपुट के रूप में बोर्ड पर दिया जाता है, तो यह विधि बस ट्रू वापस आ जाएगी यदि बोर्ड भरा हुआ है और अन्यथा गलत है।
प्लेयरमूव ()
इस पद्धति में, हम उपयोगकर्ता से एक चाल का अनुरोध करेंगे और इसे मान्य करेंगे। कदम वैध होने पर पत्र को बोर्ड में जोड़ा जाएगा। यदि नहीं, तो हम उपयोगकर्ता की प्रतिक्रिया का अनुरोध करते रहेंगे।
कॉम्पमोव () - एआई
एआई अब शुरू होगा। इस फंक्शन के द्वारा कंप्यूटर की गति को नियंत्रित किया जाएगा। यह बोर्ड का मूल्यांकन करेगा और सबसे अच्छा कदम उठाएगा।
निम्नलिखित एल्गोरिथम की एक सूची है जिसका उपयोग हम ऐसा करने के लिए करेंगे।
- यदि वर्तमान चरण समाप्त नहीं किया जा सकता है, तो निम्न पर आगे बढ़ें।
- यदि आप कर सकते हैं तो विजयी कदम उठाएं।
- यदि खिलाड़ी के पास संभावित रूप से जीतने वाली चाल है, तो उस स्थिति में निम्नलिखित मोड़ पर जाएँ।
- एक कोना चुनें और उसे पलट दें। यादृच्छिक रूप से चुनें यदि कई विकल्प हैं।
- अपने आप को बीच में रखें।
- किनारों में से एक पर विचार करें। यादृच्छिक रूप से चुनें यदि कई विकल्प हैं।
- यदि हिलने-डुलने का कोई रास्ता नहीं है, तो खेल एक टाई में समाप्त होता है।
यादृच्छिक चुनें ()
संभावित स्थानों की सूची को देखते हुए, यह फ़ंक्शन यादृच्छिक रूप से की जाने वाली कार्रवाई का चयन करेगा।
खेल की शुरुआत
खेल अब शुरू किया जा सकता है जब हमने अपने सभी कार्यों को पूरा कर लिया है। अगर हम सिर्फ एक बार गेम चलाना चाहते हैं तो हमें केवल कॉल मेन करना होगा।
लेकिन हमारी स्थिति में, हम चाहते हैं कि खेल तब तक चलता रहे जब तक कि उपयोगकर्ता यह तय न कर ले कि वे अब खेलना नहीं चाहते हैं, इसलिए हम मुख्य लाइन में एक छोटा सा लूप जोड़ देंगे।
पूरा कोड
यहां हमारे गेम का पूरा कोड है, जो अब पूरा हो गया है।
उत्पादन
निष्कर्ष
हुर्रे!
एक ऐसा गेम जिसे आपने पूरी तरह से खरोंच से बनाया है। यह ऐसा खेल नहीं है जिसे हम नियमित रूप से खेलते हैं। लेकिन यह तर्क लिखने और कोड में स्पष्ट संरचना के रखरखाव में सहायता करता है।
हैप्पी कोडिंग!
एक जवाब लिखें