Δημιουργήστε αυτό το διασκεδαστικό παιχνίδι αριθμολογίας στην Python για να εξασκηθείτε στον χειρισμό συμβολοσειρών και να μάθετε για το Tkinter.
Το FLAMES είναι ένα διασκεδαστικό παιχνίδι για παιδιά που υποστηρίζουν τους φίλους, τους εραστές, τους στοργικούς, τους γάμους και τους εχθρούς. Το παιχνίδι παίρνει τα ονόματα δύο ατόμων και, με μια σειρά από βήματα, καθορίζει τη σχέση τους. Για να παίξετε FLAMES, σημειώστε τα ονόματα των δύο ατόμων, αφαιρέστε τα γράμματα που ταιριάζουν και λάβετε τον αριθμό των χαρακτήρων που απομένουν.
Επαναλάβετε τα γράμματα της λέξης, FLAMES χρησιμοποιώντας την καταμέτρηση και αφαιρέστε αυτό το γράμμα. Για παράδειγμα, εάν το πλήθος είναι τέσσερα, αφαιρέστε το γράμμα M. Η καταμέτρηση ξεκινά πάλι από το Ε. Επαναλάβετε αυτή τη διαδικασία μέχρι να μείνει μόνο ένα γράμμα, το οποίο υποδηλώνει την κατάσταση της σχέσης.
Η ενότητα Tkinter
Για να δημιουργήσετε το παιχνίδι FLAMES, θα χρησιμοποιήσετε τη μονάδα Tkinter. Το Tkinter είναι μια πολλαπλή πλατφόρμα, απλή και φιλική προς το χρήστη μονάδα που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε γρήγορα γραφικά περιβάλλοντα χρήστη. Μερικές από τις εφαρμογές που μπορείτε να δημιουργήσετε ως αρχάριοι χρησιμοποιώντας το Tkinter περιλαμβάνουν α
Music Player, Ημερολόγιο, Εργαλείο μετατροπής βάρους, και ένα Παιχνίδι Jumble Word.Για να εγκαταστήσετε το tkinter στο σύστημά σας, εκτελέστε την ακόλουθη εντολή στο τερματικό:
pip εγκατάσταση tkinter
Πώς να δημιουργήσετε το παιχνίδι FLAMES χρησιμοποιώντας Python
Μπορείτε να βρείτε τον πηγαίο κώδικα του παιχνιδιού FLAMES χρησιμοποιώντας Python σε αυτό Αποθετήριο GitHub.
Εισαγάγετε τη μονάδα Tkinter. Ορίστε μια συνάρτηση, remove_match_char() που δέχεται δύο λίστες ως είσοδο. Χρησιμοποιήστε έναν ένθετο βρόχο for για επανάληψη και στις δύο λίστες. Ελέγξτε εάν υπάρχει αντίστοιχος χαρακτήρας. Εάν υπάρχει, αφαιρέστε το και από τις δύο λίστες και δημιουργήστε μια τρίτη λίστα που συνενώνει και τις δύο λίστες με έναν αστερίσκο ενδιάμεσα. Ο αστερίσκος λειτουργεί ως οριοθέτης.
Επιστρέψτε την τρίτη λίστα μαζί με την αντιστοίχιση που βρέθηκε ως Αληθινή. Σε περίπτωση που κανένα γράμμα δεν ταιριάζει, επιστρέψτε τη λίστα όπως δημιουργήθηκε παραπάνω.
από tkinter εισαγωγή *
defremove_match_char(λίστα 1, λίστα 2):
Για Εγώ σε εύρος (len (λίστα1)):
Για ι σε εύρος (len (λίστα 2)):
αν λίστα1[i] == λίστα2[j]:
c = λίστα1[i]
list1.remove (c)
list2.remove (c)
list3 = list1 + ["*"] + λίστα2
ΕΠΙΣΤΡΟΦΗ [λίστα 3, Αληθής]
list3 = list1 + ["*"] + λίστα2
ΕΠΙΣΤΡΟΦΗ [λίστα 3, Ψευδής]
Ορίστε μια συνάρτηση, tell_status(). Ανακτήστε το όνομα του ατόμου που εισήγαγε ο χρήστης χρησιμοποιώντας το παίρνω() μέθοδο στο γραφικό στοιχείο Entry. Μετατρέψτε όλα τα γράμματα σε πεζά και εξαλείψτε τυχόν κενά μεταξύ τους. Μετατρέψτε το όνομα σε μια λίστα χαρακτήρων. Επαναλάβετε αυτό με το όνομα του δεύτερου ατόμου και ορίστε το προχωρώ μεταβλητή σε Αληθής.
deftell_status():
p1 = Person1_field.get()
p1 = p1.lower()
p1.replace(" ", "")
p1_list = λίστα (p1)
p2 = Person2_field.get()
p2 = p2.lower()
p2.replace(" ", "")
p2_list = λίστα (p2)
προχωρώ = Αληθής
Μέχρι να είναι αληθής η τιμή της συνέχειας, καλέστε το remove_match_char() και περάστε τις δύο λίστες που μόλις δημιουργήσατε. Αποθηκεύστε τη συνενωμένη λίστα και την κατάσταση σημαίας που ελήφθη από τη λειτουργία. Βρείτε το ευρετήριο του αστερίσκου που εισαγάγατε και κόψτε τις συμβολοσειρές σε δύο λίστες πριν και μετά από αυτόν.
Μετρήστε τον αριθμό των χαρακτήρων στις δύο λίστες και ορίστε μια λίστα που αποθηκεύει τις διάφορες καταστάσεις που μπορεί να έχει μια σχέση σύμφωνα με το παιχνίδι FLAMES.
ενώ προχωρώ:
ret_list = remove_match_char (p1_list, p2_list)
con_list = ret_list[0]
συνέχεια = ret_list[1]
star_index = con_list.index("*")
p1_list = con_list[: star_index]
p2_list = con_list[star_index + 1:]
count = len (p1_list) + len (p2_list)
αποτέλεσμα = ["Οι φιλοι", "Αγάπη", "Στοργή", "Γάμος", "Εχθρός", "Αδέρφια"]
Έως ότου τα γράμματα στη λίστα αποτελεσμάτων να μην είναι μηδενικά, αποθηκεύστε την τιμή του ευρετηρίου από όπου πρέπει να εκτελέσετε τον τεμαχισμό. Εάν το ευρετήριο είναι μεγαλύτερο ή ίσο με μηδέν, κόψτε τις λίστες σε δύο μέρη και αποθηκεύστε τη συνενωμένη συμβολοσειρά με το δεξί μέρος να προστεθεί πρώτο στη σειρά. Αυτό διασφαλίζει ότι μπορείτε να μετράτε αριστερόστροφα.
Εισαγάγετε το αποτέλεσμα στο πεδίο κατάστασης στην πρώτη θέση χαρακτήρων για να εμφανιστεί η κατάσταση της σχέσης.
ενώ len (αποτέλεσμα) > 1:
split_index = (μέτρηση % len (αποτέλεσμα) - 1)αν split_index >= 0:
δεξιά = αποτέλεσμα[split_index + 1:]
αριστερά = αποτέλεσμα[: split_index]
αποτέλεσμα = δεξιά + αριστερά
αλλού:
αποτέλεσμα = αποτέλεσμα[: len (αποτέλεσμα) - 1]
Status_field.insert(0, αποτέλεσμα[0])
Ορίστε μια συνάρτηση, τα καθαρίζω όλα(). Χρησιμοποιήστε τη συνάρτηση delete() από το πρώτο ευρετήριο έως το τελευταίο στα τρία πεδία εισαγωγής για να διαγράψετε τα περιεχόμενα που εμφανίζονται στην οθόνη. Χρησιμοποιήστε τη μέθοδο focus_set() στο πρώτο πεδίο εισαγωγής για να ενεργοποιήσετε και να υποδείξετε στον χρήστη να εισάγει τιμές σε αυτό.
defτα καθαρίζω όλα():
Person1_field.delete(0, ΤΕΛΟΣ)
Person2_field.delete(0, ΤΕΛΟΣ)
Status_field.delete(0, ΤΕΛΟΣ)
Person1_field.focus_set()
Αρχικοποιήστε την παρουσία Tkinter και εμφανίστε το ριζικό παράθυρο περνώντας το στην κλάση. Ορίστε το χρώμα φόντου της επιλογής σας, το μέγεθος και τον τίτλο της εφαρμογής σας.
ρίζα = Tk()
root.configure (background='#A020F0')
root.geometry("700x200")
root.title("Παιχνίδι ΦΛΟΓΕΣ")
Ορίστε τρεις ετικέτες για να δηλώσετε τα δύο άτομα και την κατάσταση της σχέσης τους. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τα τοποθετήσετε, το κείμενο που πρέπει να εμφανίζεται, το χρώμα της γραμματοσειράς, το χρώμα του φόντου και τα στυλ γραμματοσειράς. Προσθέστε λίγη επένδυση προς την οριζόντια κατεύθυνση.
label1 = Ετικέτα (ρίζα, κείμενο="Όνομα 1:", fg='#ffffff',bg='#A020F0', γραμματοσειρά=("arial",20,"τολμηρός"), padx='20')
label2 = Ετικέτα (ρίζα, κείμενο="Όνομα 2:", fg='#ffffff',bg='#A020F0', γραμματοσειρά=("arial",20,"τολμηρός"), padx='20')
label3 = Ετικέτα (ρίζα, κείμενο="Κατάσταση σχέσης: ", fg='#ffffff', bg='#A020F0', γραμματοσειρά=("arial",20,"τολμηρός"), padx='20')
Χρησιμοποιήστε τη διαχείριση πλέγματος για να τακτοποιήσετε τα τρία γραφικά στοιχεία στην πρώτη στήλη. Τοποθετήστε την πρώτη ετικέτα στη δεύτερη σειρά, τη δεύτερη ετικέτα στην τρίτη σειρά και την τρίτη ετικέτα στην τέταρτη σειρά.
label1.grid (σειρά=1, στήλη=0)
label2.grid (σειρά=2, στήλη=0)
label3.grid (σειρά=4, στήλη=0)
Ορίστε τρία γραφικά στοιχεία καταχώρισης για να λάβετε τις τιμές των δύο ατόμων και να εμφανίσετε την κατάστασή τους. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε τα γραφικά στοιχεία και τα στυλ γραμματοσειράς που πρέπει να έχει.
Person1_field = Καταχώριση (ρίζα, γραμματοσειρά=("arial", 15, "τολμηρός"))
Person2_field = Καταχώριση (ρίζα, γραμματοσειρά=("arial", 15, "τολμηρός"))
Status_field = Entry (root, font=("arial",15,"τολμηρός"))
Ομοίως, χρησιμοποιήστε τη διαχείριση πλέγματος, για να οργανώσετε τα γραφικά στοιχεία στη δεύτερη στήλη. Χρησιμοποιήστε το ipadx ιδιότητα για να ορίσετε τον αριθμό των εικονοστοιχείων που θα τοποθετηθούν εντός των περιγραμμάτων του γραφικού στοιχείου.
Person1_field.grid (σειρά=1, στήλη=1, ipadx="50")
Person2_field.grid (σειρά=2, στήλη=1, ipadx="50")
Status_field.grid (σειρά=4, στήλη=1, ipadx="50")
Ορίστε δύο κουμπιά, υποβάλλουν και Σαφή. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τα τοποθετήσετε, το κείμενο που πρέπει να εμφανίζεται, το χρώμα φόντου, το χρώμα της γραμματοσειράς, τις λειτουργίες που πρέπει να εκτελούν όταν κάνετε κλικ και τα στυλ γραμματοσειράς.
Χρησιμοποιήστε τη διαχείριση πλέγματος για να τοποθετήσετε τα κουμπιά στην τέταρτη και έκτη σειρά της δεύτερης στήλης αντίστοιχα.
button1 = Κουμπί (ρίζα, κείμενο="Υποβάλλουν", bg="#00ff00", fg="μαύρος", command=tell_status, font=("arial",13,"τολμηρός") )
button2 = Κουμπί (ρίζα, κείμενο="Σαφή", bg="#00ff00", fg="μαύρος", command=clear_all, font=("arial",13,"τολμηρός"))
button1.grid (σειρά=3, στήλη=1)
button2.grid (σειρά=5, στήλη=1)
ο mainloop() Η συνάρτηση λέει στην Python να εκτελέσει τον βρόχο συμβάντων Tkinter και να ακούει συμβάντα μέχρι να κλείσει το παράθυρο.
root.mainloop()
Συνδυάστε όλο τον κώδικα και ετοιμαστείτε να παίξετε το παιχνίδι FLAMES στα χέρια σας.
Δείγμα εξόδου του παιχνιδιού FLAMES
Κατά την εκτέλεση του παραπάνω προγράμματος, το πρόγραμμα εμφανίζει την εφαρμογή παιχνιδιού FLAMES με τρεις ετικέτες, τρία πεδία εισαγωγής και δύο κουμπιά σε ένα πλέγμα. Με την εισαγωγή των ονομάτων "Tony Stark" και "Pepper Potts", το πρόγραμμα εμφανίζει την κατάσταση της σχέσης τους ως "Love".
Παιχνίδια που μπορείτε να δημιουργήσετε χρησιμοποιώντας Python
Τα Pygame, Arcade, Panda3D, PyOpenGL και Pyglet είναι μερικές χρήσιμες ενότητες με τις οποίες μπορείτε να δημιουργήσετε παιχνίδια Python. Χρησιμοποιώντας το Pygame μπορείτε να δημιουργήσετε παιχνίδια 2D όπως το Super Mario Bros, το Flappy Bird και το Snake. Χρησιμοποιώντας το Arcade μπορείτε να δημιουργήσετε έναν κλώνο Pac-Man, Asteroids ή Breakout.
Το Panda3D μπορεί να σας βοηθήσει να δημιουργήσετε τρισδιάστατα παιχνίδια όπως το Toontown Online, το Pirates of the Caribbean Online και το Virtual Magic Kingdom της Disney.