A Explication du Code - Jeu du Serpent

Explication du Code - Jeu du Serpent

1. Importation des modules nécessaires

import pygame
import time
import random

Ces modules sont utilisés pour créer le jeu :

2. Initialisation de Pygame

pygame.init()

Initialise tous les modules nécessaires de Pygame.

3. Dimensions de l'écran

SCREEN_WIDTH, SCREEN_HEIGHT = 800, 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Snake Game")

Définit la taille de la fenêtre du jeu et son titre.

4. Définition des couleurs

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (213, 50, 80)
GREEN = (0, 255, 0)
BLUE = (50, 153, 213)

Les couleurs sont définies en utilisant des valeurs RGB (Rouge, Vert, Bleu).

5. Paramètres du serpent

snake_block = 10
snake_speed = 15

Définit la taille d'un segment du serpent et sa vitesse.

6. Horloge pour contrôler la vitesse

clock = pygame.time.Clock()

Utilisée pour limiter la vitesse d'exécution de la boucle principale.

7. Polices pour le texte

font_style = pygame.font.SysFont("bahnschrift", 25)
score_font = pygame.font.SysFont("comicsansms", 35)

Définit les polices pour afficher des messages et le score.

8. Fonction pour afficher un message

def message(msg, color, x, y):
    mesg = font_style.render(msg, True, color)
    screen.blit(mesg, [x, y])

Affiche un message à l'écran à une position donnée.

9. Fonction principale du jeu

def gameLoop():
    # Logique principale du jeu ici

Contient toute la logique du jeu, y compris les déplacements, les collisions et les interactions.

10. Boucle principale

while not game_over:
    # Gestion des événements et logique du jeu

La boucle principale continue tant que le jeu n'est pas terminé.

11. Gestion des collisions

if x1 >= SCREEN_WIDTH or x1 < 0 or y1 >= SCREEN_HEIGHT or y1 < 0:
    game_close = True

Vérifie si le serpent touche les bords de l'écran.

12. Dessin du serpent et de la nourriture

pygame.draw.rect(screen, GREEN, [foodx, foody, snake_block, snake_block])
pygame.draw.rect(screen, BLACK, [block[0], block[1], snake_block, snake_block])

Affiche la nourriture en vert et le serpent en noir.