Menu
CoddyTech

Une grille de cellules

Leçon 19 sur 40 du cours Créez des jeux avec Pygame de Coddy.

Le serpent se déplace sur une grille. La fenêtre comporte 24 colonnes et 18 lignes de cellules, chacune mesurant 20 pixels de côté, et le serpent avance d'une cellule entière à la fois.

Travaille avec des cellules et convertis-les en pixels uniquement pour les dessiner. La cellule (col, row) commence au pixel (col * 20, row * 20). Dessiner chaque cellule avec 2 pixels de moins, en laissant 1 pixel de marge de chaque côté, crée un petit espace entre les cellules voisines et permet de distinguer les segments du serpent.

def draw_cell(cell, color):
    col, row = cell
    pygame.draw.rect(screen, color, (col * CELL + 1, row * CELL + 1, CELL - 2, CELL - 2))

col, row = cell décompose le tuple en deux variables. Garde les nombres dans des constantes comme CELL, COLS et ROWS : le code indique ce qu'elles représentent, et en modifier une change tout le jeu.

challenge icon

Défi

Facile
  1. Au-dessus de la boucle, écris draw_cell(cell, color), qui dessine une cellule à 1 pixel de chaque bord, comme ci-dessus.
  2. Définis head = (5, 9).
  3. Après le remplissage, dessine la tête avec draw_cell(head, (180, 255, 160)).

Essayez vous-même

import pygame

CELL = 20
COLS, ROWS = 24, 18

pygame.init()
screen = pygame.display.set_mode((COLS * CELL, ROWS * CELL))
pygame.display.set_caption("Snake")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    pygame.display.flip()
    clock.tick(10)

pygame.quit()
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Créez des jeux avec Pygame

Entraînez-vous par vous-même : Playground Pygame