Una cuadrícula de celdas
Lección 19 de 40 del curso Crea juegos con Pygame de Coddy.
Snake se mueve en una cuadrícula. La ventana tiene 24 columnas por 18 filas de celdas, cada una de 20 píxeles cuadrados, y la serpiente se mueve una celda completa a la vez.
Trabaja con celdas y conviértelas en píxeles solo para dibujar. La celda (col, row) empieza en el píxel (col * 20, row * 20). Dibujar cada celda 2 píxeles más pequeña, a 1 píxel de cada lado, deja un espacio fino entre las celdas vecinas para que puedas ver los segmentos de la serpiente.
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 desempaqueta la tupla en dos variables. Mantén los números en constantes como CELL, COLS y ROWS: el código indica qué significan, y cambiar una modifica todo el juego.
Desafío
Fácil- Encima del bucle, escribe
draw_cell(cell, color), que dibuja una celda a 1 píxel de cada borde, como antes. - Establece
head = (5, 9). - Después del relleno, dibuja la cabeza con
draw_cell(head, (180, 255, 160)).
Pruébalo tú mismo
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()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Crea juegos con Pygame
3Cuadrículas y listas
Una cuadrícula de celdasPaso a pasoPractica por tu cuenta: Playground de Pygame