"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मेरा पहला पायथन प्रोजेक्ट

मेरा पहला पायथन प्रोजेक्ट

2024-11-04 को प्रकाशित
ब्राउज़ करें:295

My First Python Project

ब्लैकजैक प्रोजेक्ट: पायथन कोड लिखने और सुधारने के लिए एक शुरुआती मार्गदर्शिका

मेरे ब्लैकजैक प्रोजेक्ट में आपका स्वागत है! इस ट्यूटोरियल में, मैं आपको पायथन में एक बुनियादी ब्लैकजैक गेम के विकास के बारे में बताऊंगा, और आपको दिखाऊंगा कि कैसे मैंने कई पुनरावृत्तियों के माध्यम से कोड में वृद्धिशील सुधार किए। यह ट्यूटोरियल उन शुरुआती प्रोग्रामर्स के लिए एकदम सही है जो एक मज़ेदार और आकर्षक प्रोजेक्ट पर काम करके अपने पायथन कौशल में सुधार करना चाहते हैं।

आप GitHub पर इस प्रोजेक्ट के लिए पूर्ण स्रोत कोड पा सकते हैं।


विषयसूची

  • ब्लैकजैक गेम का अवलोकन
  • चरण 1: प्रारंभिक संस्करण लिखना
  • चरण 2: एकाधिक पुनरावृत्तियों में कोड सुधार
    • क्लीन कोड के लिए रीफैक्टरिंग
    • ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) जोड़ना
    • त्रुटि प्रबंधन लागू करना
    • उपयोगकर्ता इंटरफ़ेस में सुधार
    • परीक्षण और डिबगिंग
  • निष्कर्ष

ब्लैकजैक गेम का अवलोकन

ब्लैकजैक एक लोकप्रिय कार्ड गेम है जहां लक्ष्य ऐसे कार्ड बनाना है जो इसे बढ़ाए बिना जितना संभव हो सके 21 के करीब हों। खिलाड़ियों को दो कार्ड बांटे जाते हैं और वे या तो "हिट" कर सकते हैं (दूसरा कार्ड निकाल सकते हैं) या "स्टैंड" कर सकते हैं (अपना वर्तमान हाथ रखें)। खिलाड़ी 21 से ऊपर जाए बिना हाई हैंड वैल्यू हासिल करने के लिए डीलर के खिलाफ प्रतिस्पर्धा करता है।

इस प्रोजेक्ट में, मैंने पायथन का उपयोग करके ब्लैकजैक गेम का एक मूल संस्करण लागू किया है। खेल खिलाड़ी और डीलर को बांटे गए दो कार्डों से शुरू होता है। खिलाड़ी हिट करना या खड़े रहना चुन सकता है, और एक बार जब वे अपनी बारी पूरी कर लेते हैं, तो डीलर खेलता है। विजेता का निर्धारण इस आधार पर किया जाता है कि किसका हाथ 21 के करीब है।


चरण 1: प्रारंभिक संस्करण लिखना

परियोजना का प्रारंभिक संस्करण ब्लैकजैक गेम का एक सरल प्रक्रियात्मक कार्यान्वयन था। यह संस्करण न्यूनतम जटिलता के साथ गेम लॉजिक बनाने पर केंद्रित है। गेम प्रवाह को प्रबंधित करने के लिए कोड ने फ़ंक्शंस और लूप का उपयोग किया।

प्रारंभिक संस्करण के मुख्य पहलू:

  1. बेसिक गेम लॉजिक: मैंने गेम के मुख्य तंत्रों को काम पर लाने पर ध्यान केंद्रित किया, जैसे कि कार्ड बांटना, खिलाड़ी को हिट करने या खड़े होने की अनुमति देना, और जीत या हार की जांच करना।
  2. रैंडम कार्ड जनरेशन: पायथन की रैंडम लाइब्रेरी का उपयोग करके कार्डों के डेक में फेरबदल किया गया था, और गेम ने खिलाड़ी और डीलर को रैंडम कार्ड सौंपे थे।
  3. प्रक्रियात्मक दृष्टिकोण: इस पहले संस्करण में, खेल को किसी भी वर्ग या ऑब्जेक्ट का उपयोग किए बिना प्रक्रियात्मक शैली में लिखा गया था।

चरण 2: एकाधिक पुनरावृत्तियों में कोड सुधार

मूल संस्करण काम करने के बाद, मैंने कई पुनरावृत्तियों में कोड में सुधार करना शुरू किया। यहां बताया गया है कि मैंने कोड को कैसे साफ-सुथरा, अधिक कुशल और बनाए रखना आसान बनाया।

क्लीन कोड के लिए रिफैक्टरिंग

पहली चीजों में से एक जो मैंने की वह थी कोड को अधिक पठनीय और रखरखाव योग्य बनाने के लिए उसे दोबारा तैयार करना। इसमें शामिल है:

  • बड़े कार्यों को छोटे, एकल-उद्देश्यीय कार्यों में तोड़ना।
  • पठनीयता बढ़ाने के लिए सार्थक चर नामों का उपयोग करना।
  • किसी भी अनावश्यक या दोहराए गए कोड को हटाना।

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) जोड़ना

रिफैक्टरिंग के बाद, मुझे बेहतर संरचना की आवश्यकता का एहसास हुआ, इसलिए मैंने ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) का उपयोग करने के लिए कोड को रीफैक्टर किया। इससे संगठन में सुधार हुआ और भविष्य में खेल का विस्तार करना आसान हो गया।

  • मैंने ताश के डेक को प्रबंधित करने के लिए एक डेक क्लास बनाई।
  • मैंने खिलाड़ी और डीलर का प्रतिनिधित्व करने के लिए एक खिलाड़ी वर्ग जोड़ा।
  • गेमप्ले को इनकैप्सुलेट करने के लिए गेम लॉजिक को ब्लैकजैकगेम क्लास में ले जाया गया।

त्रुटि प्रबंधन लागू करना

त्रुटि प्रबंधन आपके कोड को मजबूत बनाने का एक महत्वपूर्ण पहलू है। मैंने संभावित मुद्दों को संभालने के लिए चेक जोड़े जैसे:

  • यह सुनिश्चित करना कि प्लेयर इनपुट वैध है (उदाहरण के लिए, अमान्य कमांड स्वीकार नहीं करना)।
  • किनारे के मामलों को संभालना, जैसे कि जब डेक में कार्ड खत्म हो जाते हैं तो क्या होता है।

यूजर इंटरफ़ेस में सुधार

मैंने प्लेयर अनुभव को बेहतर बनाने के लिए यूजर इंटरफ़ेस में सुधार जोड़े हैं। इसमें शामिल है:

  • खिलाड़ी को स्पष्ट प्रतिक्रिया प्रदान करना (उदाहरण के लिए, प्रत्येक क्रिया के बाद वर्तमान कार्ड और स्कोर प्रदर्शित करना)।
  • बेहतर इनपुट प्रॉम्प्ट और आउटपुट के साथ गेम के प्रवाह को आसान बनाना।

परीक्षण और डिबगिंग

आखिरकार, मैंने कई राउंड खेलकर और किसी भी बग या किनारे के मामलों की पहचान करके गेम का पूरी तरह से परीक्षण किया। मैंने स्कोर गणना और डेक प्रबंधन जैसे महत्वपूर्ण कार्यों के लिए कुछ यूनिट परीक्षण जोड़े ताकि यह सुनिश्चित हो सके कि वे उम्मीद के मुताबिक काम कर रहे हैं।


निष्कर्ष

कई पुनरावृत्तियों के माध्यम से, मैंने इस ब्लैकजैक गेम को एक बुनियादी, प्रक्रियात्मक कार्यान्वयन से एक अच्छी तरह से संरचित, ऑब्जेक्ट-ओरिएंटेड प्रोग्राम में सुधार किया है। इन सुधारों ने कोड को साफ-सुथरा, रखरखाव में आसान और भविष्य की सुविधाओं के लिए अधिक लचीला बना दिया।

यदि आप नौसिखिया हैं, तो मैं आपको गेम का अपना संस्करण लिखकर शुरुआत करने और रीफैक्टरिंग और ओओपी अवधारणाओं को शामिल करके धीरे-धीरे इसमें सुधार करने के लिए प्रोत्साहित करता हूं। इस प्रक्रिया से गुज़रकर, आप पायथन कोड लिखने और इसे चरण-दर-चरण सुधारने में मूल्यवान अनुभव प्राप्त करेंगे।

आप GitHub पर पूरा कोड देख सकते हैं और आज ही अपना स्वयं का संस्करण बनाना शुरू कर सकते हैं!


हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/manxzo/my-first-python-project-455?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3