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.
Défi
Facile- Au-dessus de la boucle, écris
draw_cell(cell, color), qui dessine une cellule à 1 pixel de chaque bord, comme ci-dessus. - Définis
head = (5, 9). - 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()
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
3Grilles et listes
Une grille de cellulesPas à pasEntraînez-vous par vous-même : Playground Pygame