Dans ce tutoriel, nous allons créer un petit jeu avec Pygame, une bibliothèque Python dédiée à la création de jeux vidéo. Le jeu sera simple : un joueur contrôle un carré qui doit éviter des obstacles qui tombent du haut de l'écran.
Avant de commencer, assurez-vous d'avoir installé Python et Pygame sur votre machine.
Téléchargez et installez Python depuis le site officiel : https://www.python.org/.
Pour installer Pygame, ouvrez un terminal ou une invite de commande et exécutez la commande suivante :
pip install pygame
Créez un fichier nommé jeu.py dans votre éditeur de texte ou IDE préféré.
Ajoutez le code suivant pour initialiser Pygame et créer une fenêtre de jeu :
import pygame
import random
# Initialisation de Pygame
pygame.init()
# Dimensions de la fenêtre
LARGEUR = 800
HAUTEUR = 600
# Couleurs
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
ROUGE = (255, 0, 0)
VERT = (0, 255, 0)
# Création de la fenêtre
fenetre = pygame.display.set_mode((LARGEUR, HAUTEUR))
pygame.display.set_caption("Évitez les obstacles !")
# Horloge pour contrôler la vitesse du jeu
horloge = pygame.time.Clock()
Ajoutez un carré contrôlé par le joueur :
# Classe Joueur
class Joueur:
def __init__(self):
self.x = LARGEUR // 2
self.y = HAUTEUR - 50
self.taille = 50
self.vitesse = 5
def dessiner(self):
pygame.draw.rect(fenetre, VERT, (self.x, self.y, self.taille, self.taille))
def deplacer(self, touches):
if touches[pygame.K_LEFT] and self.x > 0:
self.x -= self.vitesse
if touches[pygame.K_RIGHT] and self.x < LARGEUR - self.taille:
self.x += self.vitesse
Ajoutez des obstacles qui tombent du haut de l'écran :
# Classe Obstacle
class Obstacle:
def __init__(self):
self.x = random.randint(0, LARGEUR - 50)
self.y = -50
self.taille = 50
self.vitesse = 5
def dessiner(self):
pygame.draw.rect(fenetre, ROUGE, (self.x, self.y, self.taille, self.taille))
def deplacer(self):
self.y += self.vitesse
Ajoutez la boucle principale pour gérer les événements, mettre à jour les positions et dessiner les éléments :
# Fonction principale
def jeu():
joueur = Joueur()
obstacles = [Obstacle()]
score = 0
jeu_en_cours = True
while jeu_en_cours:
fenetre.fill(NOIR)
# Gestion des événements
for event in pygame.event.get():
if event.type == pygame.QUIT:
jeu_en_cours = False
# Déplacement du joueur
touches = pygame.key.get_pressed()
joueur.deplacer(touches)
# Gestion des obstacles
for obstacle in obstacles:
obstacle.deplacer()
obstacle.dessiner()
# Vérification de collision
if (
joueur.x < obstacle.x + obstacle.taille
and joueur.x + joueur.taille > obstacle.x
and joueur.y < obstacle.y + obstacle.taille
and joueur.y + joueur.taille > obstacle.y
):
print("Collision !")
jeu_en_cours = False
# Supprimer les obstacles hors écran et ajouter de nouveaux
if obstacle.y > HAUTEUR:
obstacles.remove(obstacle)
obstacles.append(Obstacle())
score += 1
# Dessiner le joueur
joueur.dessiner()
# Afficher le score
font = pygame.font.Font(None, 36)
texte_score = font.render(f"Score : {score}", True, BLANC)
fenetre.blit(texte_score, (10, 10))
# Mettre à jour l'écran
pygame.display.flip()
horloge.tick(30)
pygame.quit()
# Lancer le jeu
if __name__ == "__main__":
jeu()
Exécutez le fichier jeu.py avec la commande suivante dans votre terminal :
python jeu.py
Amusez-vous bien avec Pygame !