Ein Raster aus Zellen
Lektion 19 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Snake bewegt sich auf einem Raster. Das Fenster ist 24 Zellen breit und 18 Zellen hoch, jede Zelle ist 20 Pixel groß, und die Schlange bewegt sich immer um eine ganze Zelle weiter.
Arbeite mit Zellen und wandle sie nur zum Zeichnen in Pixel um. Die Zelle (col, row) beginnt bei Pixel (col * 20, row * 20). Wenn du jede Zelle 2 Pixel kleiner zeichnest und auf jeder Seite 1 Pixel Abstand lässt, entsteht eine schmale Lücke zwischen den Nachbarzellen, sodass du die Segmente der Schlange sehen kannst.
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 entpackt das Tupel in zwei Variablen. Bewahre die Zahlen in Konstanten wie CELL, COLS und ROWS auf: Der Code erklärt ihre Bedeutung, und wenn du eine davon änderst, ändert sich das ganze Spiel.
Aufgabe
Einfach- Schreibe oberhalb der Schleife
draw_cell(cell, color), das eine Zelle wie oben beschrieben mit einem Abstand von 1 Pixel zu jeder Seite zeichnet. - Setze
head = (5, 9). - Zeichne nach dem Füllen den Kopf mit
draw_cell(head, (180, 255, 160)).
Probier es selbst
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()
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Spiele mit Pygame erstellen
3Raster und Listen
Ein Raster aus ZellenSchritt für SchrittÜbe selbstständig: Pygame-Playground