Battlefield2, World of Tanks, The Sims4 et Freedom Force ne sont que quelques-uns des milliers de jeux étonnants qui ont été développés avec Python.


TkinterTkinter, l’interface Python standard de la boîte à outils Tk GUI, est un module puissant qui rend la création d’interfaces utilisateur graphiques facile et amusante. Utilisez ce module pour développer un jeu de couleurs qui vous fera tourner la tête. Apprenez également à utiliser le module en cours de route.


Qu’est-ce que le Color Game ?

Dans le jeu des couleurs, le programme affiche le nom d’une couleur à l’écran mais dans une couleur de police différente. Par exemple, il affiche le mot Jaune en utilisant une police de couleur rouge et le joueur doit taper la couleur du texte.

Ce décalage d’informations ainsi que le minuteur créent une multitude de confusions et créent une expérience de jeu divertissante.

Le module Tkinter et Random

Pour construire le Color Game, vous utiliserez le module tkinter et le module aléatoire module. Tkinter est un module GUI multiplateforme, simple et convivial que vous pouvez utiliser pour créer rapidement des interfaces graphiques.

Il dispose de quelques outils utiles tels que les widgets d’étiquette et d’entrée et les gestionnaires de mise en page tels que pack, grid et place. Les fonctions fournies sont assez simples, ce qui permet aux programmeurs débutants de concevoir des applications sans trop d’efforts. Pour installer tkinter dans votre système, exécutez la commande suivante dans le terminal :

 pip install tkinter 

Le module aléatoire est une bibliothèque intégrée qui vous permet de générer des choix aléatoires. Grâce à ce module, vous pouvez développer des jeux de cricket, des jeux de devinettes, des jeux de boule magique, des générateurs de mots de passe aléatoires, et bien d’autres encore.

Comment créer un jeu de couleur en utilisant Python

Le code source du jeu de couleurs est disponible dans un dépôt GitHub et est libre d’utilisation sous la licence MIT.

Commencez par importer le tkinter et le module random. Stockez le nom des couleurs comme une liste de chaînes de caractères et initialisez le module score variable à 0 et temps_restant à 60.

 from tkinter import *
import random

colours = ['Red', 'Green', 'Blue', 'Black', 'Pink', 'White', 'Purple', 'Yellow', 'Brown']
score = 0
time_remaining = 60

Définir une fonction nommée beginGame() qui prend événement comme argument d’entrée. La fonction exécute deux tâches. Premièrement, elle vérifie si le temps_restant est égal à 60. Si oui, il appelle et exécute la fonction compte à rebours() fonction. Ensuite, il appelle la fonction nextcolor() fonction qui mélange aléatoirement et affiche la couleur et le score lorsque le jeu est en cours.

 def beginGame(event):
    if time_remaining == 60:
        countdown()
    nextColour()

Définissez une fonction nommée nextColour() et faites référence aux variables de manière globale. Si le temps restant est supérieur à 0, mettez le focus sur le champ de saisie en utilisant la fonction focus_set() sur l’étiquette d’entrée (stockée dans la variable e) définis dans la dernière moitié du code.

Utilisez l’option get() pour récupérer le texte actuel de l’entrée sous forme de chaîne de caractères et le transformer en minuscules pour éviter les erreurs de casse. Si cela correspond à la couleur affichée à l’écran, incrémentez le score de un. Utilisez la méthode delete() de l’indice 0 au dernier indice du widget d’entrée pour effacer le contenu.

 def nextColour():
    global score
    global time_remaining
    if time_remaining > 0:
        e.focus_set()
        if e.get().lower() == colours[1].lower():
            score += 1
        e.delete(0, END)

Utiliser la fonction shuffle() pour réorganiser les éléments de la liste et afficher l’étiquette de couleur avec le texte comme première couleur de la liste et la couleur de la police comme deuxième couleur de la liste. Utilisez la fonction config() fonction sur scoreLabel (qui demande d’appuyer sur la touche Entrée) pour afficher le score pendant que la partie est en cours.

         random.shuffle(colours)
        label.config(fg=str(colours[1]), text=str(colours[0]))
        scoreLabel.config(text="Score: " + str(score))

Définissez une fonction nommée compte à rebours() qui fait référence à la variable du temps restant et la décrémente de un. Utilisez la fonction config() sur la fonction timeLabel pour afficher le temps restant à l’écran et l’icône après() fonction vers le callback compte à rebours après un délai de 1000 millisecondes ou une seconde.

 def countdown():
    global time_remaining
    if time_remaining > 0:
        time_remaining -= 1
        timeLabel.config(text="Time left: " + str(time_remaining))
        timeLabel.after(1000, countdown)

Initialiser l’instance tkinter et afficher la fenêtre racine. Définir le titre, les dimensions en pixels, et la couleur de fond de la fenêtre.

 root = Tk()
root.title("Color Game With a Twist")
root.geometry("750x450")
root.configure(background='Orange')

Utiliser la fonction Étiquette widget permettant d’informer le joueur sur les instructions du jeu. Il accepte la fenêtre parent dans laquelle vous le placez. Le texte doit afficher le type et la taille de la police ainsi que la couleur de fond de l’étiquette. Utilisez l’option pack() pour organiser le widget d’étiquette en blocs avant de les placer dans le widget parent.

De même, définissez l’étiquette de score pour indiquer à l’utilisateur d’appuyer sur Entrer pour commencer le jeu ainsi qu’une étiquette de temps pour afficher le temps restant. Assurez-vous que toutes les étiquettes ont une couleur de fond orange, afin qu’elles se fondent dans l’arrière-plan. Définissez une étiquette vide qui contiendra les noms des couleurs dans le fichier nextColour() fonction.

 instructions = Label(root, text="Type the colour of the word not the text ;)", font=('Arial', 24), bg="orange")
instructions.pack()
scoreLabel = Label(root, text="Press Enter to begin", font=('Arial', 24), bg="orange")
scoreLabel.pack()
timeLabel = Label(root, text="Time remaining: " + str(time_remaining), font=('Arial', 24), bg="orange")
timeLabel.pack()
label = Label(root, font=('Arial', 90), bg="orange")

Comme mentionné précédemment, utilisez le widget d’entrée pour capturer la réponse du joueur. Une étape importante consiste à lier la touche Entrée à un événement dans la fenêtre tkinter de sorte que lorsque le joueur appuie sur cette touche, une fonction particulière s’exécute.

Pour réaliser ceci, vous passez la fonction <Return&gt ; et la beginGame() comme paramètres de la fonction bind() . En outre, utilisez la fonction pack() et focus_set() Méthodes permettant d’organiser et de définir le focus sur l’étiquette de saisie lorsque vous appuyez sur la touche Entrée.

 e = Entry(font=20)
root.bind('<Return>', beginGame)
e.pack()
e.focus_set()

Le site mainloop() indique à Python d’exécuter la boucle d’événements de tkinter et d’écouter les événements (comme les pressions sur les boutons) jusqu’à ce que vous fermiez la fenêtre.

 root.mainloop() 

Mettez tout le code ensemble, et vous avez le jeu de la couleur avec un twist prêt à jouer au bout de vos doigts.

Sortie du jeu de couleurs en utilisant Python

En exécutant le programme Color Game, une fenêtre apparaît à l’écran. En appuyant sur Entrée, le compte à rebours commence, et le joueur doit commencer à taper la couleur du mot. Pour chaque bonne réponse, le score augmente d’une unité, et à la fin, le score final est affiché.

Color Games With a Twist Sortie

Développer des jeux en utilisant Python

Python est un langage fantastique pour le développement de jeux. Ce langage est non seulement simple à comprendre et à utiliser, mais il permet également aux développeurs de jeux de tous niveaux d’expérience de créer des mondes de jeu étonnants, intéressants et divertissants.

En outre, les créateurs disposent d’un large éventail d’options pour donner vie à leurs idées, grâce aux différentes plateformes de développement de jeux disponibles sur le marché, telles que PyGame ou Kivy.