Schritt für Schritt
Lektion 20 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Die Schlange bewegt sich ständig. Halte die Richtung, in die sie sich bewegt, in einer Richtung fest: wie viele Zellen in jedem Schritt zur Spalte und zur Zeile hinzugefügt werden sollen.
(1, 0)ist rechts,(-1, 0)ist links.(0, 1)ist unten,(0, -1)ist oben.
direction = (1, 0)
while running:
# Ereignisse
head = (head[0] + direction[0], head[1] + direction[1])Ein Tupel kann nicht geändert werden, daher wird bei jedem Schritt ein neues erstellt. Die Uhr läuft mit clock.tick(10): zehn Bilder pro Sekunde, also bewegt sich die Schlange zehn Zellen pro Sekunde.
Aufgabe
Einfach- Setze vor der Schleife
direction = (1, 0). - Bewege im Schleifendurchlauf nach den Ereignissen den Kopf einen Schritt in
direction.
Die Schlange verlässt vorerst das Fenster. Wände kommen später.
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()
def draw_cell(cell, color):
col, row = cell
pygame.draw.rect(screen, color, (col * CELL + 1, row * CELL + 1, CELL - 2, CELL - 2))
head = (5, 9)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
draw_cell(head, (180, 255, 160))
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