I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Battlefield2, World of Tanks, The Sims4 e Freedom Force sono solo alcuni delle migliaia di fantastici giochi sviluppati con Python.

Tkinter, l'interfaccia Python standard per il toolkit GUI Tk, è un potente modulo che rende la creazione di interfacce utente grafiche facile e divertente. Usa questo modulo per sviluppare un gioco di colori strabiliante. Inoltre, impara come utilizzare il modulo lungo il percorso.

Qual è il gioco dei colori?

Nel gioco dei colori, il programma visualizza il nome di un colore sullo schermo ma con un colore del carattere diverso. Ad esempio, visualizza la parola Giallo utilizzando un carattere di colore rosso e il giocatore deve digitare il colore del testo.

Questa discrepanza di informazioni insieme al timer crea una moltitudine di confusione e crea un'esperienza di gioco divertente.

Il Tkinter e il modulo casuale

instagram viewer

Per costruire il gioco dei colori, utilizzerai il tkinter modulo e il casuale modulo. Tkinter è un modulo GUI multipiattaforma, semplice e intuitivo che puoi utilizzare per creare rapidamente interfacce utente grafiche.

Ha alcuni strumenti utili come i widget di etichette e voci e gestori di layout come pack, grid e place. Le funzioni fornite sono piuttosto semplici e rendono facile per i programmatori principianti progettare app senza troppi sforzi. Per installare tkinter nel tuo sistema, esegui il seguente comando nel terminale:

pip installa tkinter

Il modulo random è una libreria integrata che consente di generare scelte casuali. Utilizzando questo modulo, puoi sviluppare giochi di cricket a mano, giochi di indovinare i numeri, magici giochi a otto palle, generatori di password casuali, e molti altri.

Come costruire un gioco di colori usando Python

Il codice sorgente del Color Game è disponibile in a Deposito GitHub ed è gratuito per l'uso sotto la licenza MIT.

Inizia importando il tkinter e il modulo random. Memorizza il nome dei colori come un elenco di stringhe e inizializza il file punto variabile a 0 e tempo rimanente a 60.

da tkinter importare *
importare casuale

colori = ['Rosso', 'Verde', 'Blu', 'Nero', 'Rosa', 'Bianco', 'Viola', 'Giallo', 'Marrone']
punteggio = 0
tempo_rimanente = 60

Definire una funzione denominata inizioGioco() che prende evento come argomento di input. La funzione esegue due attività. Innanzitutto, controlla se il file tempo rimanente equivale a 60. Se sì, chiama ed esegue il file conto alla rovescia() funzione. In secondo luogo, chiama il colore successivo() funzione che mescola e visualizza in modo casuale il colore e il punteggio quando il gioco è in corso.

defbeginGame(evento):
Se tempo_rimanente == 60:
conto alla rovescia()
successivoColore()

Definire una funzione denominata successivoColore() e fare riferimento alle variabili a livello globale. Se il tempo rimanente è maggiore di 0, impostare lo stato attivo sul campo di immissione utilizzando il focus_set() metodo sull'etichetta della voce (memorizzata in variable e) definito nella seconda metà del codice.

Usa il Ottenere() metodo per recuperare il testo corrente della voce come stringa e trasformarlo in minuscolo per evitare la mancata corrispondenza tra maiuscole e minuscole. Se questo è uguale al colore visualizzato sullo schermo, incrementa il punteggio di uno. Usa il eliminare() funzione dallo 0 all'ultimo indice sul widget di immissione per cancellare il contenuto.

defsuccessivoColore():
globale punto
globale tempo rimanente
Se tempo_rimanente > 0:
e.focus_set()
Se e.get().lower() == colori[1].inferiore():
punteggio += 1
e.delete(0, FINE)

Usa il mescola() funzione per riordinare gli elementi nell'elenco e visualizzare l'etichetta del colore con il testo come primo colore nell'elenco e il colore del carattere come secondo colore nell'elenco. Usa il config() funzione attiva scoreLabel (che chiede di premere Invio) per visualizzare il punteggio mentre il gioco è in sessione.

 random.shuffle (colori)
label.config (fg=str (colori[1]), text=str (colori[0]))
scoreLabel.config (testo="Punto: " + str (punteggio))

Definire una funzione denominata conto alla rovescia() che fa riferimento alla variabile tempo rimanente e la decrementa di uno. Usa il config() funzione sul timeLabel per visualizzare il tempo rimanente sullo schermo e il Dopo() funzione da richiamare conto alla rovescia funzione dopo un ritardo di 1000 millisecondi o un secondo.

defconto alla rovescia():
globale tempo rimanente
Se tempo_rimanente > 0:
tempo_rimanente -= 1
timeLabel.config (testo="Tempo rimasto: " + str (tempo_rimanente))
timeLabel.after(1000, conto alla rovescia)

Inizializza l'istanza tkinter e visualizza la finestra root. Imposta il titolo, le dimensioni in pixel e il colore di sfondo della finestra.

radice = Tk()
radice.titolo("Gioco a colori con un tocco")
radice.geometria("750x450")
root.configure (sfondo='Arancia')

Usa il Etichetta widget per istruire il giocatore sulle istruzioni del gioco. Accetta la finestra principale in cui lo posizioneresti. Il testo deve visualizzare il tipo e la dimensione del carattere insieme al colore di sfondo dell'etichetta. Usa il pacchetto() funzione per organizzare il widget etichetta in blocchi prima di inserirli nel widget genitore.

Allo stesso modo, definire l'etichetta del punteggio per istruire l'utente a premere accedere per iniziare il gioco e un'etichetta temporale per visualizzare il tempo rimanente. Assicurati che tutte le etichette abbiano un colore di sfondo arancione, in modo che si fondano sullo sfondo. Definire un'etichetta vuota che conterrà i nomi dei colori nel file successivoColore() funzione.

istruzioni = Etichetta (radice, testo="Digita il colore della parola, non il testo ;)", carattere=('ariale', 24), bg="arancia")
istruzioni.pack()
scoreLabel = Etichetta (root, text="Premi Invio per iniziare", carattere=('ariale', 24), bg="arancia")
scoreLabel.pack()
timeLabel = Etichetta (root, text="Tempo rimanente: " + str (tempo_rimanente), font=('ariale', 24), bg="arancia")
timeLabel.pack()
label = Etichetta (root, font=('ariale', 90), bg="arancia")

Come accennato in precedenza, utilizza il widget di immissione per acquisire la risposta del giocatore. Un passaggio importante è associare il tasto Invio a un evento nella finestra di tkinter in modo che quando il giocatore lo preme, venga eseguita una particolare funzione.

Per raggiungere questo obiettivo, si passa il chiave e il inizioGioco() funzionano come parametri per il legamento() funzione. Inoltre, usa il pacchetto() E focus_set() metodi per organizzare e impostare lo stato attivo sull'etichetta di input dopo aver premuto il tasto Invio.

e = Voce (font=20)
root.bind('', inizioGioco)
e.pack()
e.focus_set()

IL ciclo principale() La funzione dice a Python di eseguire il ciclo di eventi tkinter e di ascoltare gli eventi (come la pressione di un pulsante) finché non chiudi la finestra.

root.mainloop()

Metti insieme tutto il codice e avrai a portata di mano il gioco dei colori con un tocco in più pronto per essere giocato.

Output del gioco a colori usando Python

Durante l'esecuzione del programma Color Game, sullo schermo viene visualizzata una finestra. Premendo Invio, inizia il conto alla rovescia e il giocatore deve iniziare a digitare il colore della parola. Per ogni risposta corretta, il punteggio aumenta di uno e, alla fine, visualizza il punteggio finale.

Sviluppare giochi utilizzando Python

Python è un linguaggio fantastico per lo sviluppo di giochi. Il linguaggio non solo è semplice da capire e da usare, ma consente anche agli sviluppatori di giochi di tutti i livelli di esperienza di creare mondi di gioco straordinari, interessanti e divertenti.

Inoltre, i creatori hanno una vasta gamma di opzioni quando si tratta di dare vita alle idee, grazie alle varie piattaforme di sviluppo di giochi disponibili sul mercato, come PyGame o Kivy.