Menu
CoddyTech

Schritt für Schritt

Teil des Abschnitts Projekte der Pygame-Journey von Coddy. Lektion 2 von 31.

Die Schlange bewegt sich immer. Halte die Richtung, in die sie sich bewegt, als Richtung fest: wie viele Zellen in jedem Schritt zur Spalte und zur Zeile hinzugefügt werden sollen.

  • (1, 0) bedeutet rechts, (-1, 0) bedeutet links.
  • (0, 1) bedeutet nach unten, (0, -1) bedeutet nach oben.
direction = (1, 0)

while running:
    # Ereignisse
    head = (head[0] + direction[0], head[1] + direction[1])

Ein Tupel kann nicht verändert werden, deshalb entsteht bei jedem Schritt ein neues. Die Uhr läuft mit clock.tick(10): zehn Frames pro Sekunde, also bewegt sich die Schlange zehn Zellen pro Sekunde.

challenge icon

Aufgabe

Einfach
  1. Lege vor der Schleife direction = (1, 0) fest.
  2. Bewege den Kopf in der Schleife nach den Ereignissen einen Schritt in direction.

Die Schlange verlässt vorerst das Fenster. Die 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()
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Projekte

Übe selbstständig: Pygame-Playground