< Zpět na seznam úloh

H3 Had

Abyste program mohli spustit, musíte mít nainstalovaný modul Pygame: v příkazové řádce spusťte python3 -m pip install pygame. Tahle úloha nemá validaci. Hotová je, když vám bude připadat, že funguje správně.

Hráč ovládá hada, který se pohybuje bez zastavení ve čtvercové mřížce. Na hrací ploše se objevuje potrava, kterou had může sbírat a tím vyroste.

Dokumentaci modulu Pygame najdete na oficiálním webu.


Následuje ukázkový kód, který si můžete taky stáhnout.

import pygame

pygame.init()
surface = pygame.display.set_mode((500, 500))
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (0, 255, 0)
clock = pygame.time.Clock()

size = 10
snake = [[5, 25]]
direction = [1, 0]
food = [20, 25]
while True:
    dt = clock.tick(4) / 1000
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()

    keys = pygame.key.get_pressed()
    if keys[pygame.K_UP]:
        direction = [0, -1]
    if keys[pygame.K_DOWN]:
        direction = [0, 1]
    if keys[pygame.K_LEFT]:
        direction = [-1, 0]
    if keys[pygame.K_RIGHT]:
        direction = [1, 0]

    for i, _ in enumerate(snake):
        snake[i][0] += direction[0]
        snake[i][1] += direction[1]

    surface.fill(black)
    x, y = food
    pygame.draw.rect(surface, red, pygame.Rect(size*x, size*y, size, size))
    for x, y in snake:
        pygame.draw.rect(surface, green, pygame.Rect(size*x, size*y, size, size))
    pygame.display.update()