var names = ["pygame"]
Z minula máte na obrazovce raketu, která se otáčí. Vaším úkolem je vytvořit hru s bludištěm, které má hráč za úkol proletět pokud možno bez kolizí.
Použijte vzorový kód níže na téhle stránce. Očekávám, že z něj zkopírujete části do programu, který jste za uplynulé týdny napsali. Na některé podrobnosti by jinak bylo těžké přijít -- jak se vytváří Sprite, jak ho umístit a jak ho vykreslit na obrazovku.
Spouštění tady na webu zatím nefunguje, musíte si nainstalovat python atd. přímo na počítač.
Odevzdat můžete do gitu, když vám to půjde, anebo klasicky přes Teams.
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
clock = pygame.time.Clock()
running = True
player = pygame.sprite.Sprite()
player.image = pygame.image.load("raketa.png").convert_alpha()
player.rect = player.image.get_rect()
player.speed = pygame.Vector2((0, 0))
player.position = pygame.Vector2((30, 30))
wall = pygame.sprite.Sprite()
wall.image = pygame.Surface((10, 20))
wall.image.fill("red")
wall.rect = wall.image.get_rect().move((500, 100))
everything = pygame.sprite.Group([player, wall])
while running:
dt = clock.tick(60) / 1000
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
player.speed.x += 25.0 * dt * (keys[pygame.K_d] - keys[pygame.K_a])
player.speed.y += 25.0 * dt * (keys[pygame.K_w] - keys[pygame.K_s])
player.position += player.speed * dt
player.rect.topleft = player.position # tím se pozice zaokrouhlí na celé pixely
screen.fill("white")
everything.draw(screen)
pygame.display.flip()