बिना स्कोर के खेल का क्या मतलब है? कुछ बिना चल सकते हैं, लेकिन आपके द्वारा बनाए जाने वाले अधिकांश खेलों में खिलाड़ी को यह बताना होगा कि वे कितना अच्छा कर रहे हैं।

स्कोर कई खेलों का एक अभिन्न हिस्सा हैं क्योंकि वे खिलाड़ियों की प्रगति और उपलब्धि का माप प्रदान करते हैं।

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

एक साधारण खेल बनाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है आपके डिवाइस पर पाइप स्थापित है. आर्केड लाइब्रेरी को स्थापित करने के लिए इस कमांड का प्रयोग करें:

पिप आर्केड स्थापित करें

अब, Python की आर्केड लाइब्रेरी का उपयोग करके एक सरल गेम बनाएं।

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

इस खेल में, खिलाड़ी तीर कुंजियों का उपयोग करके बाएँ और दाएँ जा सकता है, जबकि एक ही y- अक्ष पर एक बाधा रखी जाती है।

आयात आर्केड

# विंडो आयाम सेट करें
स्क्रीन_WIDTH = 800
स्क्रीन_हाइट = 600

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर ()। __init__ (चौड़ाई, ऊंचाई)
स्व.खिलाड़ी_x = चौड़ाई // 3
सेल्फ.स्कोर = 0

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं:
स्व.खिलाड़ी_x -= 10
elif कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर_x += 10

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
# यहां गेम लॉजिक अपडेट करें
उत्तीर्ण

डीईएफ़on_draw(खुद):
आर्केड. start_render ()
आर्केड.ड्रॉ_सर्कल_फिल्ड (सेल्फ.प्लेयर_एक्स, 50, 20, आर्केड. रंग। नीला)
आर्केड। ड्रा_रेक्टेंगल_फिल्ड (400, 50, 100, 50, आर्केड. रंग। लाल)

डीईएफ़मुख्य():
game = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
आर्केड.रन ()

अगर __नाम__ == "__मुख्य__":
मुख्य()

स्कोर ट्रैकिंग और गणना

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

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर ()। __init__ (चौड़ाई, ऊंचाई)
स्व.खिलाड़ी_x = चौड़ाई // 3
सेल्फ.स्कोर = 0

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं:
स्व.खिलाड़ी_x -= 10
elif कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर_x += 10

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
अगर सेल्फ.प्लेयर_एक्स > 330और सेल्फ.प्लेयर_x < 470:
सेल्फ.स्कोर += 1

स्कोर प्रदर्शित करना

खिलाड़ी को स्कोर प्रदर्शित करने के लिए, संशोधित करें on_draw टेक्स्ट रेंडरिंग शामिल करने की विधि:

कक्षामेरा खेल(आर्केड। खिड़की):
# ...

डीईएफ़on_draw(खुद):
आर्केड. start_render ()
आर्केड.ड्रॉ_सर्कल_फिल्ड (सेल्फ.प्लेयर_एक्स, 50, 20, आर्केड. रंग। नीला)
आर्केड। ड्रा_रेक्टेंगल_फिल्ड (400, 300, 100, 50, आर्केड. रंग। लाल)

स्कोर_टेक्स्ट = च "स्कोर: {स्व.स्कोर}"
आर्केड.ड्रा_टेक्स्ट (स्कोर_टेक्स्ट, 10, 10, आर्केड. रंग। सफ़ेद, 14)

उपरोक्त कोड जोड़कर, आप गेम विंडो के निचले बाएँ कोने में स्कोर प्रदर्शित कर सकते हैं।

उच्च स्कोर संग्रहित करना

खिलाड़ियों के लिए उपलब्धि और प्रतिस्पर्धा की भावना प्रदान करने के लिए, उच्च स्कोर को स्टोर और प्रदर्शित करना आवश्यक है। आप इसके लिए एक साधारण फ़ाइल-आधारित दृष्टिकोण का उपयोग कर सकते हैं।

उपयोग लोड_हाई_स्कोर नामक फ़ाइल से उच्च स्कोर पढ़ने की विधि high_score.txt और इसे वापस करो। उसके बाद, आप फ़ाइल का उपयोग करके नए उच्च स्कोर को सहेज सकते हैं सेव_हाई_स्कोर तरीका।

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर ()। __init__ (चौड़ाई, ऊंचाई)
स्व.खिलाड़ी_x = चौड़ाई // 3
सेल्फ.स्कोर = 0
सेल्फ.हाई_स्कोर = सेल्फ.लोड_हाई_स्कोर ()

डीईएफ़लोड_हाई_स्कोर(खुद):
कोशिश:
साथ खुला("उच्च_स्कोर.txt", "आर") जैसा फ़ाइल:
वापस करना int (file.read ())
के अलावा फाइलनॉटफाउंड एरर:
वापस करना0

डीईएफ़सेव_हाई_स्कोर(खुद):
साथ खुला("उच्च_स्कोर.txt", "डब्ल्यू") जैसा फ़ाइल:
file.write (str (self.high_score))

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
# ...

अगर सेल्फ.स्कोर> सेल्फ.हाई_स्कोर:
सेल्फ.हाई_स्कोर = सेल्फ.स्कोर
सेल्फ.सेव_हाई_स्कोर ()

उच्च स्कोर प्रदर्शित करना

वर्तमान स्कोर प्रदर्शित करने के समान, आप उच्च स्कोर प्रदर्शित करने के लिए टेक्स्ट रेंडरिंग जोड़ सकते हैं:

कक्षामेरा खेल(आर्केड। खिड़की):
# ...

डीईएफ़on_draw(खुद):
# ...

उच्च_स्कोर_टेक्स्ट = च" उच्च स्कोर: {सेल्फ.हाई_स्कोर}"
आर्केड.ड्रा_टेक्स्ट (हाई_स्कोर_टेक्स्ट, 10, 30, आर्केड. रंग। सफ़ेद, 14)

उपरोक्त कोड को शामिल करके on_draw विधि, आप वर्तमान स्कोर के ठीक ऊपर उच्च स्कोर प्रदर्शित कर सकते हैं।

अतिरिक्त सुविधाओं सहित

गेम में स्कोर को प्रबंधित करने में अक्सर गेमप्ले को अधिक आकर्षक और गतिशील बनाने के लिए अतिरिक्त सुविधाओं को शामिल करना शामिल होता है। आइए कुछ उदाहरण देखें कि आप अपने गेम में स्कोर प्रबंधन के साथ-साथ अतिरिक्त सुविधाएं कैसे पेश कर सकते हैं।

पावर अप

पावर-अप विशेष आइटम हैं जो खिलाड़ियों को अस्थायी लाभ या बोनस अंक प्रदान करते हैं। एक बनाएं सक्रिय_शक्ति_अप विधि जो पावर-अप की सक्रियता को ट्रिगर करती है, सेटिंग करती है power_up_active ट्रू को फ़्लैग करें.

आप शेड्यूल कर सकते हैं निष्क्रिय_शक्ति_अप एक निश्चित अवधि (जैसे, 10 सेकंड) के बाद चलाने की विधि आर्केड.अनुसूची समारोह। पावर-अप की सक्रिय अवधि के दौरान, आप इसका उपयोग कर सकते हैं लागू_शक्ति_अप_प्रभाव विशिष्ट गेमप्ले संवर्द्धन को लागू करने की विधि।

यहां आपके गेम में पावर-अप सुविधा लागू करने का एक उदाहरण दिया गया है।

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर ()। __init__ (चौड़ाई, ऊंचाई)
स्व.खिलाड़ी_x = चौड़ाई // 3
सेल्फ.स्कोर = 0
स्व.शक्ति_अप_सक्रिय = असत्य

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
अगर स्व.शक्ति_अप_सक्रिय:
# गेमप्ले के दौरान पावर-अप प्रभाव लागू करें
स्व.लागू_शक्ति_अप_प्रभाव ()
सेल्फ.स्कोर += 10

डीईएफ़लागू_शक्ति_अप_प्रभाव(खुद):
# यहां पावर-अप विशिष्ट तर्क जोड़ें
उत्तीर्ण

डीईएफ़सक्रिय_शक्ति_अप(खुद):
स्व.शक्ति_अप_सक्रिय = सत्य
# पावर-अप प्रभाव के लिए टाइमर या अवधि सेट करें
आर्केड.शेड्यूल (self.deactivate_power_up, 10.0)

डीईएफ़निष्क्रिय_शक्ति_अप(स्वयं, डेल्टा_टाइम):
स्व.शक्ति_अप_सक्रिय = असत्य

कॉम्बो सिस्टम

एक कॉम्बो सिस्टम खिलाड़ियों को लगातार सफल कार्यों या स्कोर मल्टीप्लायरों को प्राप्त करने के लिए पुरस्कृत करता है। एक बनाएं वृद्धि_कॉम्बो_काउंटर विधि जो कॉम्बो काउंटर को बढ़ाती है और वर्तमान कॉम्बो स्तर के आधार पर स्कोर बढ़ाती है।

आप कॉल कर सकते हैं रीसेट_कॉम्बो_काउंटर विधि और जब भी कोई असफल कार्रवाई होती है तो कॉम्बो काउंटर को वापस शून्य पर रीसेट करें। यहाँ एक कॉम्बो प्रणाली का एक सरल कार्यान्वयन है:

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर ()। __init__ (चौड़ाई, ऊंचाई)
स्व.खिलाड़ी_x = चौड़ाई // 3
सेल्फ.स्कोर = 0
सेल्फ.कॉम्बो_काउंटर = 0

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
# सफल कार्यों के लिए जाँच करें
अगर self.check_successful_action ():
स्व.वृद्धि_कॉम्बो_काउंटर ()
अन्य:
सेल्फ.रीसेट_कॉम्बो_काउंटर ()

डीईएफ़वृद्धि_कॉम्बो_काउंटर(खुद):
सेल्फ.कॉम्बो_काउंटर += 1
सेल्फ.स्कोर += सेल्फ.कॉम्बो_काउंटर

डीईएफ़रीसेट_कॉम्बो_काउंटर(खुद):
सेल्फ.कॉम्बो_काउंटर = 0

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

स्कोर प्रबंधन के लिए सर्वोत्तम अभ्यास

जब खेलों में स्कोर प्रबंधित करने की बात आती है, तो सर्वोत्तम अभ्यासों का पालन करने से खिलाड़ियों के लिए अधिक सुखद और आकर्षक अनुभव बनाने में मदद मिल सकती है। यहाँ कुछ प्रमुख प्रथाओं पर विचार किया गया है:

सार्थक स्कोरिंग तंत्र

डिज़ाइन स्कोरिंग तंत्र जो खेल के उद्देश्यों के साथ संरेखित होते हैं और खिलाड़ियों को सार्थक प्रतिक्रिया प्रदान करते हैं। स्कोरिंग प्रणाली को खेल के भीतर खिलाड़ी की प्रगति, कौशल और उपलब्धियों को प्रतिबिंबित करना चाहिए।

गेमप्ले के लिए उनकी कठिनाई या महत्व के आधार पर विभिन्न कार्यों या घटनाओं के लिए अलग-अलग बिंदु मान निर्दिष्ट करने पर विचार करें।

दृश्य प्रतिक्रिया

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

ध्वनि प्रभाव और एनिमेशन

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

संतुलन कठिनाई और स्कोर स्केलिंग

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

इन सर्वोत्तम अभ्यासों का पालन करके, आप प्रभावी ढंग से अपने खेल के स्कोर का प्रबंधन कर सकते हैं, खिलाड़ियों को सार्थक प्रतिक्रिया प्रदान कर सकते हैं, और एक पुरस्कृत और आकर्षक अनुभव बना सकते हैं।

स्कोर ट्रैकिंग के साथ गेम एंगेजमेंट में सुधार करें

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

स्कोर को प्रमुखता से प्रदर्शित करें और उच्च उपलब्धियों को पुरस्कृत करें—आप खिलाड़ियों को बेहतर प्रदर्शन के लिए प्रयास करने और अपने कौशल में सुधार करने के लिए प्रेरित करेंगे।