Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Αν ψάχνετε για μια διασκεδαστική απόσπαση της προσοχής, το συνονθύλευμα λέξεων είναι μια καλή επιλογή, τόσο για παιχνίδι όσο και για προγραμματισμό. Με την υποστήριξη της ενότητας Tkinter της Python, μπορείτε να δημιουργήσετε και να παίξετε αυτό το παιδικό παιχνίδι σε μια βολική εφαρμογή GUI.

Το πρόγραμμα εμφανίζει μια μπερδεμένη λέξη που πρέπει να αναδιατάξετε στην αρχική της μορφή. Εάν έχετε κολλήσει, μπορείτε να κάνετε κλικ στο κουμπί Υπόδειξη για να αποκαλύψετε ένα γράμμα τη φορά. Μαντέψτε σωστά τη λέξη και κερδίστε πολλά!

Η ενότητα Random και Tkinter

Η μονάδα Random είναι μια ενσωματωμένη λειτουργική μονάδα Python που χρησιμοποιείται για τη δημιουργία ψευδοτυχαίων αριθμών. Με αυτό, μπορείτε να δημιουργήσετε τυχαίους αριθμούς, να επιλέξετε τυχαία στοιχεία από μια λίστα, να ανακατέψετε τα περιεχόμενα μιας λίστας και πολλά άλλα.

instagram viewer

Αυτή η ενότητα μπορεί να σας βοηθήσει να δημιουργήσετε διάφορους τύπους εφαρμογών, όπως προσομοίωση ρίψης ζαριών, ανακάτεμα λίστας ή γεννήτρια τυχαίων κωδικών πρόσβασης. Μπορείτε επίσης να το χρησιμοποιήσετε για να δημιουργήσετε παιχνίδια όπως κρίκετ χεριών και μαντέψτε αριθμούς.

Το Tkinter σάς επιτρέπει να δημιουργείτε εφαρμογές επιφάνειας εργασίας. Προσφέρει μια ποικιλία γραφικών στοιχείων όπως κουμπιά, ετικέτες και πλαίσια κειμένου που διευκολύνουν την ανάπτυξη εφαρμογών. Για να εγκαταστήσετε το Tkinter, ανοίξτε ένα τερματικό και εκτελέστε:

pip εγκατάσταση tkinter

Πώς να δημιουργήσετε ένα παιχνίδι συνονθύλευσης λέξεων χρησιμοποιώντας την Python

Μπορείτε να βρείτε τον πηγαίο κώδικα του Word Jumble Game χρησιμοποιώντας την Python σε αυτό Αποθετήριο GitHub.

Εισαγάγετε τις ενότητες Tkinter και Random. Αρχικοποιήστε την παρουσία Tkinter και εμφανίστε το ριζικό παράθυρο. Ορίστε τις διαστάσεις σε pixel, τον τίτλο και το χρώμα φόντου του παραθύρου.

από tkinter εισαγωγή *
από τυχαίος εισαγωγή επιλογή
από τυχαίος εισαγωγή ανάμιξη

ρίζα = Tk()
root.title(«Παιχνίδι σύγχυσης λέξεων»)
root.geometry("700x500")
root.configure (background='aqua')

Ορίστε ένα γραφικό στοιχείο ετικέτας για την εμφάνιση της μπερδεμένης λέξης. Καθορίστε το γονικό παράθυρο στο οποίο θέλετε να το τοποθετήσετε, το κείμενο που πρέπει να εμφανίζεται, το στυλ γραμματοσειράς και το χρώμα του φόντου. Οργανώστε το γραφικό στοιχείο και προσθέστε κάποια συμπλήρωση σε αυτό.

Ορίστε μια συνάρτηση, ανακάτεμα. Διαμορφώστε την ετικέτα υπόδειξης ώστε να εμφανίζει αρχικά μια κενή συμβολοσειρά και ορίστε τη μεταβλητή καθολικής υπόδειξης στο μηδέν. Διαγράψτε οποιοδήποτε περιεχόμενο λόγω της εκτέλεσης του προγράμματος νωρίτερα και αντ' αυτού εμφανίστε μια συμβολοσειρά καταχώρισης.

my_label = Ετικέτα (ρίζα, κείμενο="", γραμματοσειρά=("Arial", 48), bg='aqua')
my_label.pack (pady=20)

defανακάτεμα():
hint_label.config (text='')
παγκόσμια hint_count
hint_count = 0
entry_answer.delete(0, ΤΕΛΟΣ)
answer_label.config (text='', bg='aqua')

Καθορίστε μια λίστα λέξεων που θα χρησιμεύσουν ως το σύνολο δεδομένων για το παιχνίδι με λέξεις. Επιλέξτε μια τυχαία λέξη από τη λίστα και δημιουργήστε μια λίστα με τα μεμονωμένα γράμματά της. Ανακατέψτε τη λίστα και τροποποιήστε τη λέξη επαναλαμβάνοντας πάνω της και αποθηκεύοντάς την σε μια συμβολοσειρά. Εμφανίστε τη μπερδεμένη λέξη μέσω της ετικέτας στην οθόνη.

 φρούτα = ['μήλο', 'μπανάνα', 'φράουλα', 'καρπούζι', 'ακτινίδια']
παγκόσμια λέξη
λέξη = επιλογή (φρούτα)
break_apart_word = λίστα (λέξη)
ανακάτεμα (break_apart_word)
παγκόσμια ανακατεμένη_λέξη
ανακατεμένη_λέξη = ''

Για γράμμα σε break_apart_word:
ανακατεμένη_λέξη += γράμμα

my_label.config (text=shuffled_word)

Δοκιμάστε να φορτώσετε ένα σύνολο λέξεων από ένα αρχείο ως επέκταση σε αυτό το έργο. Το αρχείο λεξικού—/usr/share/dict/words σε Linux/macOS—είναι μια εξαιρετική πηγή λέξεων.

Ορίστε μια συνάρτηση, απάντηση. Εάν η λέξη ισούται με την εισαγωγή από τον χρήστη, τότε εμφανίστε ένα νικητήριο μήνυμα με πράσινο χρώμα. Διαφορετικά, εμφανίστε ότι ήταν η λάθος απάντηση με κόκκινο χρώμα.

defαπάντηση():
αν λέξη == entry_answer.get():
answer_label.config (text="Σωστή απάντηση!", bg='aqua', fg='πράσινος')
αλλού:
answer_label.config (text="Λάθος απάντηση, δοκιμάστε ξανά.", bg='aqua', fg='το κόκκινο')

Ορίστε μια συνάρτηση, ίχνος, για επιθεώρηση του καθολικού hint_count. Εάν το πλήθος είναι μικρότερο από το μήκος της λέξης, εμφανίστε το επόμενο γράμμα της σωστής απάντησης. Αυξήστε το πλήθος του γράμματος υπόδειξης έτσι ώστε την επόμενη φορά που θα εκτελεστεί η λειτουργία, το πρόγραμμα θα εμφανίσει το επόμενο γράμμα.

defίχνος(μετρώ):
παγκόσμια hint_count
hint_count = καταμέτρηση
λέξη_μήκος = λεν (λέξη)

αν count < word_length:
hint_label.config (text=φά'{hint_label["κείμενο"]}{καταμέτρηση λέξεων]}', bg='aqua')
hint_count += 1

Καθορίστε ένα γραφικό στοιχείο Καταχώρισης για λήψη δεδομένων από τον χρήστη. Καθορίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε αυτό το γραφικό στοιχείο, μαζί με το στυλ γραμματοσειράς του, και οργανώστε το δίνοντας κάποια συμπλήρωση για άφθονο χώρο.

Ορίστε ένα πλαίσιο για τα κουμπιά. Ένα πλαίσιο λειτουργεί ως κοντέινερ που κατευθύνει την τοποθέτηση άλλων γραφικών στοιχείων. Τακτοποιεί τη διάταξη και παρέχει επένδυση χρησιμοποιώντας ορθογώνια τμήματα στην οθόνη. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε το πλαίσιο μαζί με το χρώμα του φόντου.

entry_answer = Καταχώριση (ρίζα, γραμματοσειρά=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Πλαίσιο (ρίζα, bg='aqua')
button_frame.pack (pady=20)

Δηλώστε τρία κουμπιά: ένα για εμφάνιση της σωστής απάντησης, ένα για επιλογή άλλης λέξης και το άλλο για εμφάνιση υποδείξεων. Καθορίστε το πλαίσιο στο οποίο θέλετε να τοποθετήσετε κάθε κουμπί και το κείμενο που πρέπει να εμφανίζεται. Επίσης, μεταβιβάστε τη συνάρτηση για εκτέλεση όταν ο χρήστης κάνει κλικ σε αυτήν, το χρώμα φόντου, το πλάτος και το μέγεθος γραμματοσειράς.

Χρησιμοποιήστε το πλέγμα() διαχειριστή για να τοποθετήσει αυτά τα κουμπιά σε μία γραμμή και τρεις διαφορετικές στήλες. Μπορείτε να καθορίσετε padding για να προσθέσετε χώρο μεταξύ των κουμπιών.

answer_button = Κουμπί (button_frame, text="Απάντηση", εντολή=απάντηση, bg='πορτοκάλι', πλάτος=8, γραμματοσειρά=10)
answer_button.grid (σειρά=0, στήλη=0, padx=10)

my_button = Κουμπί (button_frame, text="Διαλέξτε άλλη λέξη", command=shuffler, bg='πορτοκάλι', πλάτος=15, γραμματοσειρά=10)
my_button.grid (σειρά=0, στήλη=1, padx=10)

hint_button = Κουμπί (button_frame, text="Ιχνος", εντολή=λάμδα: hint (hint_count), bg='πορτοκάλι', πλάτος=5, γραμματοσειρά=10)
hint_button.grid (σειρά=0, στήλη=2, padx=10)

Δημιουργήστε ετικέτες για την απάντηση και την υπόδειξη. Καθορίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε τις ετικέτες, το κείμενο που πρέπει να εμφανίζεται και το στυλ γραμματοσειράς και οργανώστε το χρησιμοποιώντας πακέτο(). Περάστε μια τιμή συμπλήρωσης, paddy, για καλύτερη τοποθέτηση των ετικετών.

answer_label = Ετικέτα (ρίζα, κείμενο='', γραμματοσειρά=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Ετικέτα (ρίζα, κείμενο='', γραμματοσειρά=("Arial", 22), bg='aqua')
hint_label.pack (pady=10)

Καλέστε τη συνάρτηση shuffler() για να ρυθμίσετε το παιχνίδι. Στη συνέχεια καλέστε mainloop() για να εκτελέσετε τον βρόχο συμβάντων Tkinter και να ακούσετε συμβάντα (όπως πατήματα κουμπιών) μέχρι να κλείσετε το παράθυρο.

shuffler()
root.mainloop()

Συνδυάστε όλο τον κώδικα και παίξτε το Word Jumble Game οποιαδήποτε στιγμή, οπουδήποτε.

Παράδειγμα εξόδου του παιχνιδιού Word Jumble

Κατά την εκτέλεση του προγράμματος, εμφανίζει μια ανακατεμένη λέξη μαζί με τα κουμπιά Απάντηση, Επιλογή άλλης λέξης και Υπόδειξη. Κάνοντας κλικ στο Ιχνος κουμπί, το πρόγραμμα εμφανίζει τα γράμματα της σωστής απάντησης ένα προς ένα. Εάν εισαγάγετε τη σωστή απάντηση, το πρόγραμμα εμφανίζει το μήνυμα νίκης με πράσινο χρώμα.

Εάν μαντέψετε τη λάθος απάντηση, το πρόγραμμα σας ζητά να δοκιμάσετε ξανά με κόκκινο χρώμα.

Παιχνίδια λέξεων με χρήση Python

Χρησιμοποιώντας την Python μπορείτε να αναπτύξετε ένα ευρύ και συναρπαστικό φάσμα παιχνιδιών λέξεων. Παραδείγματα περιλαμβάνουν Scrabble, Hangman, σταυρόλεξα, Mad Libs και αναγραμματισμούς. Αυτά τα παιχνίδια λέξεων μπορούν να βασίζονται σε τερματικό ή σε GUI, όπως είδατε εδώ.

Με το Tkinter, μπορείτε να φτιάξετε παιχνίδια GUI πολύ εύκολα. Το μόνο που έχετε να κάνετε είναι να εισαγάγετε τη λειτουργική μονάδα, να δημιουργήσετε ένα παράθυρο, να προσθέσετε γραφικά στοιχεία και να εκτελέσετε τον βρόχο συμβάντων. Για πιο προηγμένα παιχνίδια, μπορείτε να εξερευνήσετε τις ενότητες Pygame, Kivy και Panda 3D.