पावर-अप और संग्रहणीय वस्तुओं को एकीकृत करके अपने पायगेम प्रोजेक्ट्स को और अधिक रोचक बनाएं।

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

सौभाग्य से, Pygame सापेक्ष आसानी से पावर-अप और संग्रहणीय वस्तुओं को लागू करने के लिए लचीले तरीके प्रदान करता है।

एक सरल गेम बनाएं

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

पिप इंस्टाल पायगेम

एक सरल गेम स्थापित करके शुरुआत करें जहां खिलाड़ी दुश्मन से बचते हुए बाएं और दाएं घूम सकता है।

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

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

आयात pygame
आयात
instagram viewer
अनियमित

# Pygame को इनिशियलाइज़ करें
pygame.init()

# गेम विंडो सेट करें
विंडो_विड्थ = 800
विंडो_हाइट = 600
विंडो = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("मेरा खेल")

# प्लेयर सेट करें
खिलाड़ी_चौड़ाई = 50
खिलाड़ी_ऊंचाई = 50
प्लेयर_एक्स = (विंडो_विड्थ - प्लेयर_विड्थ) // 2
प्लेयर_वाई = विंडो_हाइट - प्लेयर_हाइट - 10
प्लेयर_स्पीड = 5

#शत्रु स्थापित करो
शत्रु_चौड़ाई = 50
शत्रु_ऊँचाई = 50
शत्रु_x = यादृच्छिक.randint(0, विंडो_चौड़ाई - शत्रु_चौड़ाई)
शत्रु_य = 50
शत्रु_गति = 3

# गेम लूप
दौड़ना= सत्य
जबकि दौड़ना:
के लिए आयोजन में pygame.event.get():
अगर इवेंट.प्रकार == pygame. छोड़ना:
दौड़ना= असत्य

# खिलाड़ी आंदोलन
कुंजी = pygame.key.get_pressed()
अगर चाबियाँ[pygame. K_LEFT] और प्लेयर_एक्स > 0:
प्लेयर_एक्स - = प्लेयर_स्पीड
अगर चाबियाँ[pygame. K_RIGHT] और प्लेयर_एक्स प्लेयर_एक्स += प्लेयर_स्पीड

#शत्रु आंदोलन
शत्रु_य += शत्रु_गति
अगर शत्रु_वाई > विंडो_हाइट:
शत्रु_x = यादृच्छिक.randint(0, विंडो_चौड़ाई - शत्रु_चौड़ाई)
शत्रु_य = 0

# टक्कर की पहचान हुई है
अगर (खिलाड़ी_x < शत्रु_x + शत्रु_चौड़ाई) और \
(खिलाड़ी_x + खिलाड़ी_चौड़ाई > शत्रु_x) और \
(खिलाड़ी_y और \
(खिलाड़ी_y + खिलाड़ी_ऊंचाई > शत्रु_y):
दौड़ना= असत्य

# स्क्रीन साफ़ करें
विंडो.फिल((0, 0, 0))

प्लेयर_पॉस = (प्लेयर_एक्स, प्लेयर_वाई,
खिलाड़ी_चौड़ाई, खिलाड़ी_ऊंचाई)
शत्रु_पोस = (दुश्मन_एक्स, शत्रु_वाई,
शत्रु_चौड़ाई, शत्रु_ऊंचाई)

# खिलाड़ी को ड्रा करें
pygame.draw.rect (विंडो, (255, 255, 255), प्लेयर_पॉज़)

# दुश्मन को खींचो
pygame.draw.rect (विंडो, (255, 0, 0), शत्रु_स्थिति)

# डिस्प्ले को अपडेट करें
pygame.display.update()

# खेल छोड़ें
pygame.छोड़ें()

नीचे आउटपुट है:

संग्रहणीय वस्तुएं बनाएं

संग्रहणीय वस्तुएँ बनाने के लिए, एक वस्तु जोड़ें, जो खिलाड़ी से टकराने पर गायब हो जाती है और स्कोर में 10 अंक जोड़ देती है। इसके लिए आपको ये करना होगा खिलाड़ी और संग्रहणीय वस्तुओं के बीच टकराव की जाँच करें. यहां कोड का एक अद्यतन संस्करण है जिसमें संग्रहणीय वस्तुएं शामिल हैं। नामक एक नई फ़ाइल बनाएँ संग्रहणीय.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:

# संग्रहणीय सेट करें
संग्रहणीय_चौड़ाई = 30
संग्रहणीय_ऊंचाई = 30
संग्रहणीय_x = यादृच्छिक.randint(0, विंडो_चौड़ाई - संग्रहणीय_चौड़ाई)
संग्रहणीय_य = 50

# स्कोर सेट करें
स्कोर = 0
फ़ॉन्ट = pygame.font. फ़ॉन्ट(कोई नहीं, 36)

# ...

# संग्रहणीय वस्तु के साथ टकराव का पता लगाना
अगर (खिलाड़ी_x < संग्रहणीय_x + संग्रहणीय_चौड़ाई) और \
(प्लेयर_x + प्लेयर_विड्थ > संग्रहणीय_x) और \
(खिलाड़ी_y < संग्रहणीय_y + संग्रहणीय_ऊंचाई) और \
(प्लेयर_y + प्लेयर_हाइट > संग्रहणीय_y):
संग्रहणीय_x = यादृच्छिक.randint(0, विंडो_चौड़ाई - संग्रहणीय_चौड़ाई)
संग्रहणीय_य = 50
स्कोर += 10
# ...

संग्रहणीय_पॉज़ = (संग्रहणीय_x, संग्रहणीय_वाई)
# संग्रहणीय वस्तुएँ बनाएं
pygame.draw.circle (विंडो, (0, 255, 0), संग्रहणीय_स्थिति, संग्रहणीय_चौड़ाई)

# स्कोर ड्रा करें
स्कोर_टेक्स्ट = फ़ॉन्ट.रेंडर("अंक: " + स्ट्र (स्कोर), सत्य, (255, 255, 255))
window.blit (स्कोर_टेक्स्ट, (10, 10))

नीचे आउटपुट है:

पावर-अप बनाएं

अब, आप निम्नलिखित तर्क के साथ अपने गेम में पावर-अप पेश कर सकते हैं। जब खिलाड़ी किसी पावर-अप ऑब्जेक्ट से टकराएगा, तो पावर-अप गायब हो जाएगा। यदि पावर-अप सक्रिय होने पर खिलाड़ी दुश्मन से टकराता है, तो दुश्मन का सफाया हो जाएगा। नामक एक नई फ़ाइल बनाएँ Powerups.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:

# पावर-अप सेट करें
पॉवरअप_विड्थ = 40
पॉवरअप_हाइट = 40
पॉवरअप_एक्स = रैंडम.रैंडिंट(0, विंडो_विड्थ - पॉवरअप_विड्थ)
पॉवरअप_वाई = 50
शील्ड_सक्रिय = असत्य
शील्ड_टाइमर = 0

# ...

# पावर-अप के साथ टकराव का पता लगाना
कोलिजन_पॉवरअप = (प्लेयर_एक्स < पावरअप_एक्स + पावरअप_विड्थ) और \
(प्लेयर_x + प्लेयर_विड्थ > पॉवरअप_x) और \
(प्लेयर_वाई < पावरअप_वाई + पावरअप_हाइट) और \
(प्लेयर_y + प्लेयर_हाइट > पॉवरअप_y)

अगर टक्कर_पावरअप:
पॉवरअप_एक्स = रैंडम.रैंडिंट(0, विंडो_विड्थ - पॉवरअप_विड्थ)
पॉवरअप_वाई = 50
शील्ड_सक्रिय = सत्य
शील्ड_टाइमर = pygame.time.get_ticks()

# ...

# शील्ड टाइमर की जाँच करें
अगर शील्ड_सक्रिय:
current_time = pygame.time.get_ticks()
अगर वर्तमान_समय - शील्ड_टाइमर > 5000:
शील्ड_सक्रिय = असत्य

# ...

# त्रिभुज के शीर्षों को परिभाषित करें
x1 = पॉवरअप_x + पॉवरअप_विड्थ / 2
y1 = पॉवरअप_y
x2 = पॉवरअप_x
y2 = पॉवरअप_y + पॉवरअप_हाइट
x3 = पॉवरअप_x + पॉवरअप_विड्थ
y3 = पॉवरअप_y + पॉवरअप_हाइट

# त्रिभुज बनाएं
pygame.draw.बहुभुज (विंडो, (255, 255, 0), [(x1, y1), (x2, y2), (x3, y3)])

# ...

# सक्रिय शील्ड के साथ टकराव का पता लगाना
टकराव_शील्ड = शील्ड_सक्रिय और \
(खिलाड़ी_x < शत्रु_x + शत्रु_चौड़ाई) और \
(खिलाड़ी_x + खिलाड़ी_चौड़ाई > शत्रु_x) और \
(खिलाड़ी_y और \
(खिलाड़ी_y + खिलाड़ी_ऊंचाई > शत्रु_y)

अगर टक्कर_शील्ड:
शत्रु_x = यादृच्छिक.randint(0, विंडो_चौड़ाई - शत्रु_चौड़ाई)
शत्रु_य = 0

नीचे आउटपुट है:

पावर-अप के लिए टाइमर सेट करना

एक निश्चित समय के बाद पावर-अप को गायब करने और किसी यादृच्छिक स्थान पर पुन: उत्पन्न करने के लिए, आप टाइमर लगा सकते हैं। नामक एक नई फ़ाइल बनाएँ timer.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:

# पावर-अप रिस्पॉन के लिए टाइमर सेट करें
पॉवरअप_रेस्पॉन_टाइमर = 0

# पावर-अप टाइमर की जाँच करें
अगरनहीं शील्ड_सक्रिय:
current_time = pygame.time.get_ticks()
अगर वर्तमान_समय - पॉवरअप_रेस्पॉन_टाइमर > 3000:
पॉवरअप_एक्स = रैंडम.रैंडिंट(0, विंडो_विड्थ - पॉवरअप_विड्थ)
पॉवरअप_वाई = 50
पॉवरअप_रेस्पॉन_टाइमर = pygame.time.get_ticks()

पावर-अप टाइमर को विज़ुअलाइज़ करना

पावर-अप टाइमर का दृश्य प्रतिनिधित्व प्रदान करने के लिए, आप एक आयताकार आकार की वस्तु बना सकते हैं जो समय के साथ धीरे-धीरे ख़त्म हो जाती है। नामक एक नई फ़ाइल बनाएँ bar.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:

# पावर-अप बार सेट करें
बार_चौड़ाई = 100
बार_हाइट = 10
बार_एक्स = विंडो_विड्थ - बार_विड्थ - 10
बार_य = 10

# ...

# पावर-अप टाइमर प्रगति की गणना करें
अगर शील्ड_सक्रिय:
current_time = pygame.time.get_ticks()
बीता हुआ समय = वर्तमान समय - शील्ड_टाइमर
टाइमर_प्रोग्रेस = (5000 - बीता हुआ समय) / 5000
# पावर-अप बार बनाएं
bar_rect = pygame. आयताकार (bar_x, bar_y, bar_width * टाइमर_प्रोग्रेस, bar_height)
pygame.draw.rect (विंडो, (0, 255, 255), bar_rect)

नीचे आउटपुट है:

पावर-अप और संग्रहणीय वस्तुएं जोड़ने के लिए सर्वोत्तम अभ्यास

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

दृश्य भेद

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

संतुलन और चुनौती

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

एक आकर्षक और संतोषजनक अनुभव बनाने के लिए खिलाड़ियों के फीडबैक को ध्यान में रखें और स्पॉन दरों को ठीक करें।

प्रतिक्रिया और पुरस्कार

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

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

टाइमर और अवधि

निष्पक्षता और रणनीतिक निर्णय लेने को बनाए रखने के लिए पावर-अप के लिए टाइमर और अवधि लागू करें। पावर-अप की अवधि सीमित होनी चाहिए ताकि खिलाड़ियों को लंबे समय तक अत्यधिक शक्तिशाली बनने से रोका जा सके।

अवधि को संतुलित करना महत्वपूर्ण है, क्योंकि बहुत छोटी अवधि कमजोर लग सकती है, जबकि बहुत लंबी अवधि खेल को असंतुलित कर सकती है। प्रत्येक पावर-अप के लिए उपयुक्त स्थान ढूंढने के लिए अलग-अलग अवधियों का परीक्षण करें।

परीक्षण करें और पुनरावृत्त करें

विकास प्रक्रिया में Playtesting एक महत्वपूर्ण कदम है। यह सुनिश्चित करने के लिए कि पावर-अप और संग्रहणीय वस्तुएं गेमप्ले में उचित रूप से संतुलित और एकीकृत हैं, विभिन्न कॉन्फ़िगरेशन और कठिनाई स्तरों के साथ अपने गेम का पूरी तरह से परीक्षण करें।

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

संग्रहणीय वस्तुओं के साथ खेलों को और अधिक आकर्षक बनाएं

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

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