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

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

Πώς μπορείτε λοιπόν να αναπτύξετε αυτό το καταπληκτικό παιχνίδι χρησιμοποιώντας την Python;

Οι ενότητες Tkinter και Random

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

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

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

Πώς να φτιάξετε το παιχνίδι με πλακίδια μνήμης χρησιμοποιώντας την Python

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

Ξεκινήστε εισάγοντας το Tkinter και το άρθρωμα Random. Αρχικοποιήστε το ριζικό παράθυρο και ορίστε τον τίτλο και τις διαστάσεις σε pixel.

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

ρίζα = Tk()
root.title('Memory Tile Game')
root.geometry("760x550")

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

Αρχικοποιήστε μια μεταβλητή μέτρησης σε 0 και δηλώστε μια λίστα απαντήσεων και λεξικό αντίστοιχα.

παγκόσμια νικητής, αγώνες
νικητής = 0
ταιριάζει = ["μήλο","μήλο","μπανάνα","μπανάνα", "πορτοκάλι","πορτοκάλι", "μυρτιλός","μυρτιλός","μούρο","μούρο", "σταφύλια","σταφύλια"]
random.shuffle (ταιριάζει)
my_frame = Πλαίσιο (ρίζα)
my_frame.pack (pady=10)
καταμέτρηση = 0
answer_list = []
answer_dict = {}

Ορίστε μια συνάρτηση, επαναφορά(). Ορίστε το κείμενο της ετικέτας σε μια κενή συμβολοσειρά χρησιμοποιώντας το config() λειτουργία. Καθορίστε μια λίστα κουμπιών, ένα για κάθε ένα από τα πλακίδια. Επαναλάβετε τη λίστα και ορίστε το κείμενο στο πλακίδιο του κουμπιού σε μια κενή συμβολοσειρά, το χρώμα φόντου στο προεπιλεγμένο (SystemButtonFace), και η κατάσταση στο κανονικό.

defεπαναφορά():
my_label.config (text="")
λίστα_κουμπιών = [b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11]
Για κουμπί σε button_list:
button.config (text=" ", bg="SystemButtonFace", κατάσταση="κανονικός")

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

defνίκη():
my_label.config (text="Συγχαρητήρια! Κερδίζεις!")
λίστα_κουμπιών = [b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11]
Για κουμπί σε button_list:
button.config (bg="#90EE90")

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

defκουμπί_κλικ(β, αριθμός):
παγκόσμια count, answer_list, answer_dict, νικητής
αν σι["κείμενο"] == ' 'και μετρώ < 2:
σι["κείμενο"] = αντιστοιχίσεις[αριθμός]
answer_list.append (αριθμός)
answer_dict[b] = αντιστοιχίζει[αριθμός]
μετρήστε += 1

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

αν len (απάντη_λίστα) == 2:
αν αντιστοιχίζει[απάντηση_λίστα[0]] == αντιστοιχίζει[απάντηση_λίστα[1]]:
my_label.config (text="Είναι αγώνας!")
Για κλειδί σε answer_dict:
κλειδί["κατάσταση"] = "άτομα με ειδικές ανάγκες"
καταμέτρηση = 0
answer_list = []
answer_dict = {}
νικητής += 1
αν νικητής == 6:
νίκη()

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

αλλού:
καταμέτρηση = 0
answer_list = []
messagebox.showinfo("Ανακριβής!", "Ανακριβής")
Για κλειδί σε answer_dict:
κλειδί["κείμενο"] = " "
my_label.config (text=" ")
answer_dict = {}

Ορίστε 12 κουμπιά. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τα τοποθετήσετε, το κείμενο που πρέπει να εμφανίζουν, το στυλ γραμματοσειράς που πρέπει να έχουν, το ύψος και το πλάτος τους και την εντολή που θα εκτελεστεί όταν κάνετε κλικ. Θυμηθείτε να χρησιμοποιήσετε τη συνάρτηση λάμδα για να μεταβιβάσετε τα δεδομένα στο button_click() λειτουργία. Ρυθμίστε το ανακούφιση παράμετρος σε ράβδωση για να δημιουργήσετε ένα εφέ βάθους 3-D γύρω από το κουμπί.

b0 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b0, 0), ανακούφιση="ράβδωση")
b1 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b1, 1), ανακούφιση="ράβδωση")
b2 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b2, 2), ανακούφιση="ράβδωση")
b3 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b3, 3), ανακούφιση="ράβδωση")
b4 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b4, 4), ανακούφιση="ράβδωση")
b5 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b5, 5), ανακούφιση="ράβδωση")
b6 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b6, 6), ανακούφιση="ράβδωση")
b7 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b7, 7), ανακούφιση="ράβδωση")
b8 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b8, 8), ανακούφιση="ράβδωση")
b9 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b9, 9), ανακούφιση="ράβδωση")
b10 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b10, 10), ανακούφιση="ράβδωση")
b11 = Κουμπί (my_frame, text=' ', γραμματοσειρά=("Helvetica", 20), ύψος=4, πλάτος=8, εντολή=λάμδα: button_click (b11, 11), ανακούφιση="ράβδωση")

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

b0.grid (σειρά=0, στήλη=0)
b1.grid (σειρά=0, στήλη=1)
b2.grid (σειρά=0, στήλη=2)
b3.grid (σειρά=0, στήλη=3)
b4.grid (σειρά=1, στήλη=0)
b5.grid (σειρά=1, στήλη=1)
b6.grid (σειρά=1, στήλη=2)
b7.grid (σειρά=1, στήλη=3)
b8.πλέγμα (σειρά=2, στήλη=0)
b9.grid (σειρά=2, στήλη=1)
b10.grid (σειρά=2, στήλη=2)
b11.grid (σειρά=2, στήλη=3)

Καθορίστε μια ετικέτα που δείχνει μια κενή συμβολοσειρά και προσθέστε μια επένδυση 20 στην κατακόρυφη κατεύθυνση. Ορίστε ένα μενού ανώτατου επιπέδου στο ριζικό παράθυρο και προσαρτήστε το περιστρέφοντας το δάκρυ παράμετρος σε Ψευδής. Προσθέστε ένα στοιχείο υπομενού, Επιλογές χρησιμοποιώντας την add_cascade παράμετρος.

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

my_label = Ετικέτα (ρίζα, κείμενο="")
my_label.pack (pady=20)

my_menu = Μενού (ρίζα)
root.config (menu=my_menu)
option_menu = Μενού (my_menu, tearoff=Ψευδής)
my_menu.add_cascade (label="Επιλογές", menu=option_menu)
option_menu.add_command (ετικέτα="Επαναφορά παιχνιδιού", εντολή=επαναφορά)
option_menu.add_separator()
option_menu.add_command (ετικέτα="Έξοδος από το παιχνίδι", command=root.quit)

ο mainloop() Η συνάρτηση λέει στην Python να εκτελέσει τον βρόχο συμβάντων Tkinter και να ακούει συμβάντα μέχρι να κλείσει το παράθυρο.

root.mainloop()

Βάλτε όλο τον κωδικό μαζί. Τώρα το παιχνίδι με πλακίδια μνήμης είναι έτοιμο για αναπαραγωγή.

Έξοδος του παιχνιδιού Memory Tile

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

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

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

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

Παιχνίδια που μπορείτε να δημιουργήσετε χρησιμοποιώντας Python

Η Python προσφέρει μια ποικιλία λειτουργικών μονάδων για την κατασκευή παιχνιδιών. Για να δημιουργήσετε απλά παιχνίδια με λέξεις ή επιλογές, όπως Hangman, Tic-Tac-Toe ή Rock Paper Scissors, μπορείτε να χρησιμοποιήσετε τις ενότητες Tkinter και Random. Για να αναπτύξετε παιχνίδια που χρειάζονται περισσότερα γραφικά, μπορείτε να χρησιμοποιήσετε το Pygame.

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