गेमिङ मानिसको लागि उपलब्ध मनोरञ्जनको एक रूप हो। सबै प्रकारका खेलहरू अनलाइन उपलब्ध छन्, मोबाइल उपकरणहरूमा, डेस्कटप कम्प्युटरहरूमा, आदि। अब ती चुनौतीपूर्ण खेलहरू मध्ये एक सिर्जना गर्ने समय होइन।
Python प्रयोग गरेर, हामी CLI tic-tac-toe खेल बनाउनेछौं। एक सीधा Tic Tac Toe खेल निर्माण गर्न Python प्रयोग गरौं। यसले तपाइँलाई खेल तर्क सिर्जना गर्न र कोड कसरी व्यवस्थित गर्ने सिक्न मद्दत गर्नेछ।
Tic-Tac-Toe
हामीले कोडिङ सुरु गर्नु अघि, मैले सोचें कि म छिट्टै खेललाई संक्षेप गर्नेछु र यसलाई विकास गर्ने मेरो योजनाबारे छलफल गर्छु।
पहिले, हामी Xs ले सधैं पहल गर्छ र प्रयोगकर्तालाई कार्य गर्ने अवसर दिँदै पहिले अघि बढ्छ भन्ने धारणा स्थापित गर्नेछौं।
कन्सोलबाट, 1 र 9 बीचको संख्या इनपुट गरिनेछ। एउटा ग्रिडमा जहाँ प्रत्येक संख्या फरक संख्यासँग मेल खान्छ (शीर्ष बायाँ 1 हो, तल दायाँ 9 हो)।
कम्प्यूटरले स्वचालित रूपमा निर्धारण गर्नेछ र प्रयोगकर्ताले चाल गरेपछि यसको चाल बनाउँछ। एक प्राथमिक खेल लूप जसले विभिन्न दिनचर्याहरूको संख्यालाई कल गर्दछ मद्वारा प्रयोग गरिनेछ।
कुन प्रकार्य समाप्त हुँदैछ यो पाठ-आधारित पाठको प्रत्येक हेडरमा संकेत गरिएको छ।
बोर्ड डिजाइन गर्दै
हामीले हाम्रो बोर्डलाई ग्रिड लेआउट प्रयोग गरेर चित्रण गर्नेछौं, जसरी मैले पहिले संकेत गरें। हामी यो गर्नको लागि पाइथनमा बोर्ड नामको सूची बनाउनेछौं, र यो 10 खाली मानहरूसँग सुरु हुनेछ।
किनभने प्रयोगकर्ताले 1 देखि 9 सम्म मात्र नम्बरहरू प्रविष्ट गर्न सक्छ, 0 देखि 8 सम्म होइन, हामीसँग 10 भन्दा 9 खाली मानहरू छन्। त्यसैले, चीजहरूलाई सरल बनाउनको लागि, हामी हाम्रो सूचीको पहिलो प्रविष्टि मान "खाली पाठ" दिनेछौं।
यस तरिकाले, हामी हाम्रो सूचीमा प्रविष्टिहरू अनुक्रमणिका गर्न 1-9 को सट्टा 0-8 प्रयोग गर्न सक्छौं।
सम्मिलित पत्र()
पत्र र पोस यस प्रकार्यको लागि दुई इनपुटहरू हुनेछन्। यसले अनुरोध गरिएको ठाउँमा अनुरोध गरिएको पत्र मात्र राख्नेछ।
spaceIsFree(pos)
सरल रूपमा भने, यदि निर्दिष्ट क्षेत्र नि: शुल्क छ भने यो विधिले हामीलाई सूचित गर्नेछ। त्यसैले, त्यहाँ पहिले नै पत्र छैन। Pos, यसको एकमात्र तर्क, 1 र 9 बीचको पूर्णांक हुनेछ।
प्रिन्टबोर्ड (बोर्ड)
बोर्डलाई यो विधिमा तर्कको रूपमा पठाइन्छ, जसले यसलाई कन्सोलमा देखाउँछ।
विजेता ()
हालको बोर्डको आधारमा, यो प्रकार्यले हामीलाई थाहा दिनेछ यदि आपूर्ति गरिएको पत्र जितेको छ। यसमा दुई प्यारामिटरहरू छन्: ले र बोर्ड (अक्षर)।
यो "X" वा "O" हुनुपर्छ। बोर्डमा प्रत्येक सम्भावित विजयी रेखामा निर्दिष्ट पत्र उपस्थित छ कि भनेर हेर्नको लागि मात्र हेर्नुहोस्।
मुख्य ()
जब हामी खेल सुरु गर्न चाहन्छौं, हामी यो विधि कल गर्नेछौं। यसले हाम्रो कार्यक्रमको धेरै प्रकार्यहरू मध्ये प्रत्येक एकलाई कल गर्नेछ र कार्यक्रम कसरी चल्ने भन्ने निर्देशन दिन्छ।
isBoardFull()
जब एक इनपुटको रूपमा जहाजमा दिइन्छ, यो विधिले बोर्ड भरिएको छ भने मात्र सही र अन्यथा False फर्काउँछ।
playerMove()
यस विधिमा, हामी प्रयोगकर्ताबाट सार्न अनुरोध गर्नेछौं र यसलाई प्रमाणित गर्नेछौं। यदि कदम वैध छ भने पत्र बोर्डमा थपिनेछ। यदि होइन भने, हामी प्रयोगकर्ताको प्रतिक्रिया अनुरोध गरिरहनेछौं।
CompMove() - AI
AI अब सुरु हुनेछ। कम्प्यूटर को चाल यो प्रकार्य द्वारा नियन्त्रण गरिनेछ। यसले बोर्डको मूल्याङ्कन गर्नेछ र बनाउनको लागि उत्तम चाल छनोट गर्नेछ।
हामीले यो गर्न प्रयोग गर्ने एल्गोरिदमको सूची निम्न छ।
- यदि हालको चरण समाप्त गर्न सकिँदैन भने, निम्न चरणमा जानुहोस्।
- यदि तपाईं सक्नुहुन्छ भने विजयी चाल लिनुहोस्।
- यदि खेलाडीसँग सम्भावित विजयी चाल छ भने निम्न मोडमा त्यो स्थितिमा सार्नुहोस्।
- एउटा कुना छान्नुहोस् र यसलाई घुमाउनुहोस्। यदि धेरै विकल्पहरू छन् भने अनियमित रूपमा छान्नुहोस्।
- आफैलाई बीचमा राख्नुहोस्।
- किनारहरू मध्ये एकलाई विचार गर्नुहोस्। यदि त्यहाँ धेरै विकल्पहरू छन् भने अनियमित रूपमा छान्नुहोस्।
- यदि त्यहाँ सार्न को लागी कुनै तरिका छैन भने, खेल टाई मा समाप्त हुन्छ।
अनियमित () चयन गर्नुहोस्
सम्भावित स्थानहरूको सूची दिएर, यो प्रकार्यले अनियमित रूपमा लिनको लागि कार्य छनौट गर्नेछ।
खेलको सुरुवात
खेल अब सुरु गर्न सकिन्छ कि हामीले हाम्रा सबै कार्यहरू समाप्त गरिसकेका छौं। हामीले के गर्न आवश्यक छ यदि हामी केवल एक पटक खेल चलाउन चाहन्छौं भने मुख्य कल गर्नु हो।
तर हाम्रो अवस्थामा, हामी प्रयोगकर्ताले उनीहरूले अब खेल्न नचाहेको निर्णय नगरेसम्म खेल चलिरहन चाहन्छौं, त्यसैले हामी मुख्य लाइनमा सानो हुँदा लुप थप्नेछौं।
पूरा कोड
यहाँ हाम्रो खेलको लागि सम्पूर्ण कोड छ, जुन अब पूरा भएको छ।
उत्पादन
निष्कर्ष
हुर्रे!
एउटा खेल जुन तपाईंले पूरै स्क्र्याचबाट बनाउनुभयो। यो हामीले नियमित रूपमा खेल्ने खेल होइन। तर यसले तर्क लेख्न र कोडमा स्पष्ट संरचनाको मर्मतमा मद्दत गर्दछ।
खुशीयाली कोडिंग!
जवाफ छाड्नुस्