Tieni sotto controllo le tue capacità cognitive costruendo questo gioco di tessere di memoria.
La tessera della memoria o il gioco di abbinamento è un modo eccellente e divertente per potenziare le capacità cognitive, migliorare la memoria e migliorare la concentrazione. Il gioco ha una serie di tessere che devi capovolgere una per una, memorizzare e selezionare quelle che corrispondono. Abbinando correttamente tutte le tessere, vinci la partita.
Quindi, come puoi sviluppare questo fantastico gioco usando Python?
I moduli Tkinter e Random
Puoi costruire il gioco delle tessere di memoria usando i moduli Tkinter e Random. Tkinter ti consente di creare applicazioni desktop. Offre una varietà di widget come pulsanti, etichette e caselle di testo che lo rendono più facile sviluppare applicazioni come i calendari, calcolatrici ed elenchi di cose da fare. Per installare Tkinter, apri il terminale ed esegui:
pip installa tkinter
Il modulo Random è un modulo Python integrato utilizzato per generare numeri pseudo-casuali. Usando questo,
puoi creare un generatore di password casuali, un'applicazione di simulazione del lancio di dadi o un mescolatore di elenchi. Inoltre, puoi anche sviluppare giochi interessanti come il cricket a mano e giochi di indovinare il numero.Come costruire il gioco delle tessere di memoria usando Python
Puoi trovare il codice sorgente per costruire il gioco delle tessere di memoria usando Python in questo Deposito GitHub.
Inizia importando Tkinter e il modulo Random. Inizializza la finestra principale e imposta il titolo e le dimensioni in pixel.
da tkinter importare *
importare casuale
da tkinter importare casella dei messaggi
radice = Tk()
radice.titolo("Gioco di tessere di memoria")
radice.geometria("760x550")
Definire due variabili globali e inizializzare la variabile vincente a zero. Dichiara un elenco di elementi che appariranno sui riquadri. Riordina l'elenco utilizzando i moduli casuali mescola() metodo. Definisci una cornice nella finestra radice e aggiungi un riempimento di 10 nella direzione verticale.
Inizializza una variabile count su 0 e dichiara rispettivamente un elenco di risposte e un dizionario.
globale vincitore, partite
vincitore = 0
partite = ["mela","mela","banana","banana", "arancia","arancia", "mirtillo","mirtillo","gelso","gelso", "uva","uva"]
random.shuffle (corrispondenze)
my_frame = Frame (radice)
my_frame.pack (pady=10)
contare = 0
lista_risposte = []
risposta_dict = {}
Definire una funzione, Ripristina(). Imposta il testo dell'etichetta su una stringa vuota usando il config() funzione. Definire un elenco di pulsanti, uno per ciascuna delle tessere. Scorri l'elenco e imposta il testo sul riquadro del pulsante su una stringa vuota, il colore di sfondo predefinito (SystemButtonFaccia), e lo stato alla normalità.
defRipristina():
mia_etichetta.config (testo="")
lista_pulsanti = [b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11]
per pulsante In elenco_pulsanti:
button.config (testo=" ", bg="SystemButtonFace", stato="normale")
Definire una funzione, vincita(). Imposta un messaggio vincente nel parametro di testo dell'etichetta utilizzando il config() funzione. Definire l'elenco dei pulsanti come in precedenza e scorrerlo per impostare il colore di sfondo del riquadro su verde chiaro.
defvincita():
mia_etichetta.config (testo="Congratulazioni! Hai vinto!")
lista_pulsanti = [b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11]
per pulsante In elenco_pulsanti:
pulsante.config (bg="#90EE90")
Definire una funzione, pulsante_clic() che prende il pulsante e il suo numero come parametri di input. Fare riferimento alle variabili globali, all'elenco e al dizionario. Se il testo del pulsante è uguale a uno spazio e il conteggio è inferiore a due, inserire e visualizzare il testo del pulsante. Aggiungi il numero del pulsante all'elenco delle risposte e il nome al dizionario delle risposte. Incrementa la variabile count di uno.
defpulsante_clic(b, numero):
globale contare, answer_list, answer_dict, vincitore
Se B["testo"] == ' 'E contare < 2:
B["testo"] = corrisponde a[numero]
answer_list.append (numero)
answer_dict[b] = corrisponde a[numero]
contare += 1
Se la lunghezza dell'elenco di risposte è due, significa che l'utente ha selezionato due riquadri. Se il testo del primo riquadro corrisponde all'altro, configura l'etichetta in modo da visualizzare che entrambi corrispondono correttamente. Trasforma lo stato del pulsante in disabilitato. Imposta il conteggio su zero e svuota l'elenco e il dizionario. Incrementa la variabile vincitore di uno e se diventa sei chiama la funzione win dichiarata in precedenza.
Se len (answer_list) == 2:
Se corrisponde a[answer_list[0]] == corrisponde[answer_list[1]]:
mia_etichetta.config (testo="È una partita!")
per chiave In risposta_dict:
chiave["stato"] = "Disabilitato"
contare = 0
lista_risposte = []
risposta_dict = {}
vincitore += 1
Se vincitore == 6:
vincita()
In caso contrario, reimpostare la variabile count e l'elenco. Visualizza una finestra di messaggio con il titolo e il contenuto che lo descrivono come una corrispondenza errata. Scorri l'elenco delle risposte e imposta il testo del riquadro su uno spazio. Reimposta l'etichetta e svuota il dizionario. Ciò garantisce che non vi sia testo visibile sul pulsante e sull'etichetta dopo che l'utente ha selezionato i riquadri errati.
altro:
contare = 0
lista_risposte = []
messagebox.showinfo("Sbagliato!", "Sbagliato")
per chiave In risposta_dict:
chiave["testo"] = " "
mia_etichetta.config (testo=" ")
risposta_dict = {}
Definisci 12 pulsanti. Imposta la finestra principale in cui vuoi posizionarli, il testo che dovrebbero visualizzare, lo stile del carattere che dovrebbero avere, la loro altezza e larghezza e il comando da eseguire quando si fa clic. Ricorda di utilizzare la funzione lambda per passare i dati al file pulsante_clic() funzione. Impostare il sollievo parametro a scanalatura per creare un effetto di profondità 3D attorno al pulsante.
b0 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b0, 0), rilievo="scanalatura")
b1 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b1, 1), rilievo="scanalatura")
b2 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b2, 2), rilievo="scanalatura")
b3 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b3, 3), rilievo="scanalatura")
b4 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b4, 4), rilievo="scanalatura")
b5 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b5, 5), rilievo="scanalatura")
b6 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b6, 6), rilievo="scanalatura")
b7 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b7, 7), rilievo="scanalatura")
b8 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b8, 8), rilievo="scanalatura")
b9 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b9, 9), rilievo="scanalatura")
b10 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b10, 10), rilievo="scanalatura")
b11 = Pulsante (my_frame, text=' ', carattere=("Helvetico", 20), altezza=4, larghezza=8, comando=lambda: pulsante_clic (b11, 11), rilievo="scanalatura")
Organizza i pulsanti in un formato tabulare composto da tre righe e quattro colonne utilizzando il gestore della griglia di Tkinter. Per farlo, chiama il griglia() metodo e passa la riga insieme al numero di colonna in cui desideri inserirla.
b0.griglia (riga=0, colonna=0)
b1.griglia (riga=0, colonna=1)
b2.griglia (riga=0, colonna=2)
b3.griglia (riga=0, colonna=3)
b4.griglia (riga=1, colonna=0)
b5.griglia (riga=1, colonna=1)
b6.griglia (riga=1, colonna=2)
b7.griglia (riga=1, colonna=3)
b8.griglia (riga=2, colonna=0)
b9.griglia (riga=2, colonna=1)
b10.griglia (riga=2, colonna=2)
b11.griglia (riga=2, colonna=3)
Definisci un'etichetta che mostri una stringa vuota e aggiungi un riempimento di 20 nella direzione verticale. Definire un menu di primo livello nella finestra principale e allegarlo ruotando il strappo parametro a Falso. Aggiungi una voce di sottomenu, Opzioni usando il add_cascade parametro.
Aggiungi due voci di menu insieme ai comandi che dovrebbero eseguire quando si fa clic nel sottomenu denominato Reimposta il gioco E Esci dal gioco. Aggiungi un separatore tra di loro per la demarcazione.
my_label = Etichetta (root, text="")
mia_etichetta.pack (pady=20)
my_menu = Menu (radice)
root.config (menu=mio_menu)
option_menu = Menu (my_menu, tearoff=Falso)
my_menu.add_cascade (etichetta="Opzioni", menu=menu_opzione)
option_menu.add_command (etichetta="Ripristina gioco", comando=reimposta)
option_menu.add_separator()
option_menu.add_command (etichetta="Esci dal gioco", comando=root.quit)
IL ciclo principale() La funzione dice a Python di eseguire il ciclo di eventi Tkinter e di ascoltare gli eventi finché non chiudi la finestra.
root.mainloop()
Metti insieme tutto il codice. Ora il gioco delle tessere di memoria è pronto per essere giocato.
Uscita del Memory Tile Game
Durante l'esecuzione del programma, vengono visualizzati 12 pulsanti con testo vuoto insieme al Opzioni menù. Al clic Reimposta il gioco, la finestra appare nello stesso modo.
Selezionando due tessere corrispondenti, i pulsanti appaiono disabilitati e l'etichetta indica che la scelta è corretta.
Selezionando due riquadri che non corrispondono, viene visualizzata una finestra di messaggio che indica che la selezione non è corretta. I pulsanti e l'etichetta tornano allo stato vuoto originale.
Dopo aver abbinato correttamente tutte le scelte, il programma trasforma tutte le tessere in verde e visualizza il messaggio vincente.
Giochi che puoi creare usando Python
Python offre una varietà di moduli per creare giochi. Per creare semplici giochi basati su parole o scelte come Hangman, Tic-Tac-Toe o Rock Paper Scissors puoi utilizzare i moduli Tkinter e Random. Per sviluppare giochi che richiedono più grafica, puoi usare Pygame.
Pygame è un insieme di moduli Python che funziona su tutte le piattaforme. Include computer grafica e librerie di suoni che rendono i giochi più interattivi. Alcuni dei giochi che puoi costruire usando Pygame includono il gioco Snake, il gioco di puzzle di memoria e il Sudoku.