स्ट्रिंग हेरफेर का अभ्यास करने और टिंकर के बारे में जानने के लिए पायथन में इस मजेदार अंक विज्ञान खेल का निर्माण करें।
FLAMES दोस्तों, प्रेमियों, स्नेही, विवाह और शत्रुओं के लिए खड़े बच्चों के लिए एक मजेदार खेल है। खेल दो लोगों के नाम लेता है और चरणों की एक श्रृंखला के साथ उनके रिश्ते को निर्धारित करता है। FLAMES खेलने के लिए, दो लोगों के नाम नोट करें, मेल खाने वाले अक्षरों को हटा दें और बचे हुए वर्णों की गिनती प्राप्त करें।
शब्द के अक्षरों पर पुनरावृति करें, गिनती का उपयोग करके FLAMES करें और उस अक्षर को हटा दें। उदाहरण के लिए, यदि गिनती चार है, तो अक्षर M को हटा दें। गिनती फिर से ई से शुरू होती है। इस प्रक्रिया को तब तक दोहराएं जब तक कि केवल एक अक्षर शेष न रह जाए, जो संबंध स्थिति को दर्शाता है।
टिंकर मॉड्यूल
फ्लेम्स गेम बनाने के लिए, आप टिंकर मॉड्यूल का उपयोग करेंगे। टिंकर एक क्रॉस-प्लेटफॉर्म, सरल और उपयोगकर्ता के अनुकूल मॉड्यूल है जिसका उपयोग आप ग्राफिकल यूजर इंटरफेस को तेजी से बनाने के लिए कर सकते हैं। टिंकर का उपयोग करके आप शुरुआती के रूप में कुछ अनुप्रयोगों का निर्माण कर सकते हैं जिनमें निम्न शामिल हैं संगीत बजाने वाला, पंचांग, वजन रूपांतरण उपकरण, और ए वर्ड जंबल गेम.
अपने सिस्टम में टिंकर स्थापित करने के लिए, टर्मिनल में निम्न कमांड चलाएँ:
पिप टिंकर स्थापित करें
पायथन का उपयोग करके आग की लपटों का निर्माण कैसे करें
आप इसमें Python का उपयोग करके FLAMES गेम का सोर्स कोड पा सकते हैं गिटहब रिपॉजिटरी.
टिंकर मॉड्यूल आयात करें। एक समारोह परिभाषित करें, निकालें_मैच_चर () जो दो सूचियों को इनपुट के रूप में स्वीकार करता है। दोनों सूचियों पर पुनरावृति करने के लिए नेस्टेड for लूप का उपयोग करें। जांचें कि क्या कोई मेल खाने वाला चरित्र है; यदि वहाँ है, तो इसे दोनों सूचियों से हटा दें और एक तीसरी सूची बनाएँ जो दोनों सूचियों को बीच में एक तारांकन चिह्न के साथ जोड़ती है। तारांकन एक सीमांकक के रूप में कार्य करता है।
सत्य के रूप में पाए गए मिलान के साथ तीसरी सूची लौटाएं। यदि कोई अक्षर मेल नहीं खाता है, तो ऊपर बनाई गई सूची को वापस करें।
से tkinter आयात *
डीईएफ़निकालें_मैच_चार(सूची1, सूची2):
के लिए मैं में रेंज (लेन (सूची 1)):
के लिए जे में रेंज (लेन (सूची 2)):
अगर सूची 1 [i] == सूची 2 [जे]:
सी = सूची 1 [मैं]
list1.remove (सी)
list2.remove (सी)
सूची 3 = सूची 1 + ["*"] + सूची 2
वापस करना [सूची 3, सत्य]
सूची 3 = सूची 1 + ["*"] + सूची 2
वापस करना [सूची 3, असत्य]
एक समारोह परिभाषित करें, बताएं_स्थिति (). उपयोगकर्ता द्वारा दर्ज किए गए व्यक्ति का नाम पुनः प्राप्त करें पाना() प्रविष्टि विजेट पर विधि। सभी अक्षरों को लोअरकेस में बदलें और बीच के किसी भी स्थान को हटा दें। नाम को वर्णों की सूची में बदलें। इसे दूसरे व्यक्ति के नाम से दोहराएं और सेट करें आगे बढ़ना चर के लिए सत्य.
डीईएफ़बताएं_status():
p1 = व्यक्ति1_फ़ील्ड.गेट ()
पी1 = पी1.लोअर ()
p1.replace (" ", "")
p1_list = सूची (p1)
p2 = व्यक्ति2_फ़ील्ड.गेट ()
पी2 = पी2.लोअर ()
p2.replace(" ", "")
p2_list = सूची (p2)
आगे बढ़ना = सत्य
जब तक आगे बढ़ने का मूल्य सत्य न हो, तब तक कॉल करें निकालें_मैच_चर () कार्य करें और आपके द्वारा अभी बनाई गई दो सूचियों को पास करें। संबंधित सूची और फ़ंक्शन से प्राप्त फ़्लैग स्थिति को संग्रहीत करें। आपके द्वारा डाले गए तारक के सूचकांक का पता लगाएं और इसके पहले और बाद में स्ट्रिंग्स को दो सूचियों में विभाजित करें।
दो सूचियों में वर्णों की संख्या की गणना करें और एक सूची परिभाषित करें जो फ्लेम्स गेम के अनुसार रिश्ते की विभिन्न स्थितियों को संग्रहीत करती है।
जबकि आगे बढ़ना:
ret_list = remove_match_char (p1_list, p2_list)
con_list = ret_list [0]
आगे बढ़ना = ret_list [1]
स्टार_इंडेक्स = con_list.index ("*")
p1_list = con_list [: star_index]
p2_list = con_list [star_index + 1:]
गिनती = लेन (p1_list) + लेन (p2_list)
परिणाम = ["दोस्त", "प्यार", "स्नेह", "शादी", "दुश्मन", "भाई-बहन"]
जब तक परिणाम सूची में अक्षर शून्य न हों, तब तक इंडेक्स वैल्यू को स्टोर करें जहां से आपको स्लाइसिंग करना है। यदि सूचकांक शून्य से अधिक या बराबर है, तो सूचियों को दो भागों में विभाजित करें और श्रृंखलाबद्ध स्ट्रिंग को पहले क्रम में जोड़े गए दाहिने भाग के साथ संग्रहीत करें। यह सुनिश्चित करता है कि आप वामावर्त दिशा में गिन सकते हैं।
संबंध स्थिति प्रदर्शित करने के लिए परिणाम को प्रथम वर्ण स्थिति में स्थिति फ़ील्ड में डालें।
जबकि लेन (परिणाम)> 1:
स्प्लिट_इंडेक्स = (गिनती% लेन (परिणाम) - 1)अगर स्प्लिट_इंडेक्स> = 0:
राइट = रिजल्ट [स्प्लिट_इंडेक्स + 1:]
वाम = परिणाम [: स्प्लिट_इंडेक्स]
परिणाम = दाएँ + बाएँ
अन्य:
परिणाम = परिणाम [: लेन (परिणाम) - 1]
Status_field.insert(0, परिणाम[0])
एक समारोह परिभाषित करें, सभी साफ करें(). स्क्रीन पर प्रदर्शित सामग्री को साफ़ करने के लिए तीन प्रविष्टि फ़ील्ड पर पहली अनुक्रमणिका से अंतिम तक डिलीट () फ़ंक्शन का उपयोग करें। सक्रिय करने के लिए पहली प्रविष्टि फ़ील्ड पर फ़ोकस_सेट () विधि का उपयोग करें और इसमें उपयोगकर्ता को मान दर्ज करने का संकेत दें।
डीईएफ़सभी साफ करें():
व्यक्ति1_फ़ील्ड.डिलीट (0, अंत)
व्यक्ति2_फ़ील्ड.डिलीट (0, अंत)
Status_field.delete (0, अंत)
व्यक्ति1_फ़ील्ड.फ़ोकस_सेट ()
टिंकर इंस्टेंस को इनिशियलाइज़ करें और रूट विंडो को क्लास में पास करके प्रदर्शित करें। अपनी पसंद का पृष्ठभूमि रंग, आकार और अपने आवेदन का शीर्षक सेट करें।
रूट = टीके ()
root.configure (पृष्ठभूमि ='#A020F0')
रूट.ज्यामिति ("700x200")
जड़ शीर्षक ("लपटों का खेल")
दो व्यक्तियों और उनके रिश्ते की स्थिति को दर्शाने के लिए तीन लेबल परिभाषित करें। वह मूल विंडो सेट करें जिसमें आप उन्हें रखना चाहते हैं, वह पाठ जो इसे प्रदर्शित करना चाहिए, फ़ॉन्ट रंग, पृष्ठभूमि रंग और फ़ॉन्ट शैली। क्षैतिज दिशा में कुछ गद्दी जोड़ें।
लेबल 1 = लेबल (रूट, टेक्स्ट ="नाम 1:", एफजी ='#fffff'बीजी ='#A020F0', फॉन्ट=("एरियल",20,"निडर"), पैडएक्स ='20')
लेबल2 = लेबल (रूट, टेक्स्ट ="नाम 2:", एफजी ='#fffff'बीजी ='#A020F0', फॉन्ट=("एरियल",20,"निडर"), पैडएक्स ='20')
लेबल3 = लेबल (रूट, टेक्स्ट ="रिश्ते की स्थिति: ", एफजी ='#fffff', बीजी ='#A020F0', फ़ॉन्ट = ("एरियल",20,"निडर"), पैडएक्स ='20')
पहले कॉलम में तीन विजेट्स को व्यवस्थित करने के लिए ग्रिड मैनेजर का उपयोग करें। पहला लेबल दूसरी पंक्ति में, दूसरा लेबल तीसरी पंक्ति में और तीसरा लेबल चौथी पंक्ति में रखें।
लेबल1.ग्रिड (पंक्ति =1, स्तंभ =0)
लेबल2.ग्रिड (पंक्ति =2, स्तंभ =0)
लेबल3.ग्रिड (पंक्ति =4, स्तंभ =0)
दो व्यक्तियों के मूल्यों को प्राप्त करने और उनकी स्थिति प्रदर्शित करने के लिए तीन प्रविष्टि विजेट्स को परिभाषित करें। वह पेरेंट विंडो सेट करें जिसमें आप विजेट्स को रखना चाहते हैं और उसमें जो फॉन्ट स्टाइल होनी चाहिए।
व्यक्ति1_फ़ील्ड = प्रविष्टि (रूट, फ़ॉन्ट = ("एरियल", 15, "निडर"))
व्यक्ति2_फ़ील्ड = प्रविष्टि (रूट, फ़ॉन्ट = ("एरियल", 15, "निडर"))
Status_field = प्रविष्टि (रूट, फ़ॉन्ट = ("एरियल",15,"निडर"))
इसी तरह, दूसरे कॉलम में विजेट्स को व्यवस्थित करने के लिए ग्रिड मैनेजर का उपयोग करें। उपयोग ipadx विजेट की सीमाओं के अंदर पैड करने के लिए पिक्सेल की संख्या सेट करने की संपत्ति।
व्यक्ति1_फ़ील्ड.ग्रिड (पंक्ति =1, स्तंभ =1, आईपैडएक्स ="50")
व्यक्ति2_फ़ील्ड.ग्रिड (पंक्ति =2, स्तंभ =1, आईपैडएक्स ="50")
Status_field.grid (पंक्ति =4, स्तंभ =1, आईपैडएक्स ="50")
दो बटन परिभाषित करें, जमा करना और साफ़. वह पैरेंट विंडो सेट करें जिसमें आप उन्हें रखना चाहते हैं, वह पाठ जो इसे प्रदर्शित करना चाहिए, पृष्ठभूमि रंग, फ़ॉन्ट रंग, क्लिक किए जाने पर उन्हें निष्पादित करने वाले फ़ंक्शन और फ़ॉन्ट शैली।
क्रमशः दूसरे कॉलम की चौथी और छठी पंक्ति में बटन लगाने के लिए ग्रिड मैनेजर का उपयोग करें।
बटन 1 = बटन (रूट, टेक्स्ट ="जमा करना", बीजी ="#00ff00", एफजी ="काला", कमांड = बताएं_स्टैटस, फ़ॉन्ट = ("एरियल",13,"निडर") )
बटन 2 = बटन (रूट, टेक्स्ट ="साफ़", बीजी ="#00ff00", एफजी ="काला", कमांड = Clear_all, फ़ॉन्ट = ("एरियल",13,"निडर"))
बटन 1.ग्रिड (पंक्ति =3, स्तंभ =1)
बटन2.ग्रिड (पंक्ति =5, स्तंभ =1)
मुख्य घेरा() फ़ंक्शन पायथन को टिंकर इवेंट लूप चलाने के लिए कहता है और जब तक आप विंडो बंद नहीं करते तब तक ईवेंट सुनें।
रूट.मेनलूप ()
सभी कोड को एक साथ रखें, और अपनी उंगलियों पर फ्लेम्स गेम खेलने के लिए तैयार हो जाएं।
फ्लेम्स गेम का नमूना आउटपुट
ऊपर दिए गए प्रोग्राम को चलाने पर, प्रोग्राम फ्लेम्स गेम एप्लिकेशन को तीन लेबल, तीन एंट्री फील्ड और ग्रिड में व्यवस्थित दो बटन के साथ प्रदर्शित करता है। "टोनी स्टार्क" और "पेपर पॉट्स" नाम दर्ज करने पर, प्रोग्राम उनके रिश्ते की स्थिति को "लव" के रूप में प्रदर्शित करता है।
गेम्स आप पायथन का उपयोग करके बना सकते हैं
Pygame, Arcade, Panda3D, PyOpenGL, और Pyglet कुछ उपयोगी मॉड्यूल हैं जिनसे आप Python गेम बना सकते हैं। पायगेम का उपयोग करके आप सुपर मारियो ब्रोस, फ्लैपी बर्ड और स्नेक जैसे 2डी गेम बना सकते हैं। आर्केड का उपयोग करके आप पीएसी-मैन, क्षुद्रग्रह या ब्रेकआउट क्लोन बना सकते हैं।
पांडा 3डी आपको 3डी गेम बनाने में मदद कर सकता है जैसे टूनटाउन ऑनलाइन, पाइरेट्स ऑफ द कैरेबियन ऑनलाइन और डिज्नी का वर्चुअल मैजिक किंगडम।