मैं मज़ेदार के लिए पाइथन में कुछ साधारण कार्ड गेम लिखने के साथ खेल रहा हूं और मैं गेम में ग्राफिकल यूजर इंटरफेस (जीयूआई) जोड़ना चाहता हूं। एक साधारण कार्ड गेम के लिए जीयूआई लिखने के लिए आप कौन सी लाइब्रेरी की सिफारिश करेंगे?एक साधारण कार्ड गेम के लिए wxPython या pygame?
उत्तर
यदि आप चाहते हैं कि एक जीयूआई है, तो wxPython को चाल चलनी चाहिए।
यदि आप ध्वनि, नियंत्रक इनपुट जोड़ने और इसे एक साधारण कार्ड गेम से बाहर ले जाना चाहते हैं, तो आप pygame का उपयोग करना चाह सकते हैं।
मैं कहूंगा कि पेगम - मैंने सुना है कि यह बहुत मजेदार, आसान और खुश है। इसके अलावा, wxPython के साथ मेरे सभी अनुभव एक दर्दनाक दुखी हैं।
लेकिन मैं पूर्वाग्रह या कुछ भी नहीं हूं।
मैंने wxPython का उपयोग नहीं किया है, लेकिन Pygame स्वयं ही निम्न स्तर है। यह आपको कुंजी प्रेस, माउस इवेंट और स्क्रीन पर सामान खींचने की अनुमति देता है, लेकिन किसी भी पूर्व-निर्मित जीयूआई नियंत्रण की पेशकश नहीं करता है। यदि आप Pygame का उपयोग करते हैं, तो आपको या तो अपने स्वयं के जीयूआई कक्षाएं लिखनी होंगी या Phil's Pygame Utilities जैसे पायगम के लिए मौजूदा जीयूआई एक्सटेंशन का उपयोग करना होगा।
इस संबंधित प्रश्न के उत्तर आप के लिए बहुत उपयोगी हो सकता है:
What can Pygame do in terms of graphics that wxPython can't?
आम तौर पर, pygame खेल कोडिंग के लिए बेहतर विकल्प है। लेकिन यह गेम के अधिक सामान्य प्रकार के लिए है - जहां चीजें स्क्रीन पर चलती हैं और आपके पास एक अच्छा "फ्रेम-दर" प्रदर्शन होना चाहिए।
कार्ड गेम की तरह कुछ के लिए, हालांकि, मैं wxPython (या बल्कि, PyQt) के साथ जाऊंगा। ऐसा इसलिए है क्योंकि ग्राफिक्स के मामले में कार्ड गेम में बहुत कुछ नहीं है (स्क्रीन पर 2 डी कार्ड आकार ड्राइंग करना पिक्सग की तुलना में डब्ल्यूएक्स/पीईक्यूटी में कठिन नहीं है)। और दूसरी तरफ, आपको डब्ल्यूएक्स से बहुत सारे लाभ मिलते हैं - एक तैयार किए गए जीयूआई की तरह बातचीत के लिए।
पायगैम में आपको स्वयं को एक जीयूआई बनाना होगा या कई अर्ध-बेक्ड पुस्तकालयों से गुजरना होगा जो आपके लिए करते हैं। यह वास्तव में पायगम के लिए समझ में आता है क्योंकि जब आप कोई गेम बनाते हैं तो आप आमतौर पर अपने स्वयं के जीयूआई चाहते हैं, जो गेम की शैली को फिट करता है। लेकिन कार्ड गेम के लिए, सबसे अधिक संभावना है कि डब्ल्यूएक्स के मानक जीयूआई विजेट चाल करेंगे और आपको कोडिंग के घंटे बचाएंगे।
पायगैम सामान्य पसंद है, लेकिन पायकलेट पर पायगलेट पर बहुत ध्यान दिया जा रहा है। यहां पाइथन गेम लाइब्रेरीज़ पर विकी प्रविष्टि है: http://wiki.python.org/moin/PythonGameLibraries
यह दिलचस्प है कि आपने 2 डी कार्ड आकार ड्राइंग का सुझाव दिया है। मैं कार्ड का प्रतिनिधित्व करने के लिए कार्ड की छवियों का उपयोग करने की सोच रहा था। छवियों का उपयोग कर बनाम कार्ड आकार ड्राइंग करने के कोई फायदे हैं? – adam
@adam: दो फायदे। (1) आप सीखते हैं कि गैर-तुच्छ आकार कैसे आकर्षित करें। (2) आप जो चाहें कार्ड को दिखाना चाहते हैं, आपको मिलने वाली किसी विशिष्ट छवि से बंधे नहीं हैं। –