import pygame
pygame.init()


# Rozmiar okna gry
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TUPLE = (SCREEN_WIDTH, SCREEN_HEIGHT)

# Ustawienie rozmiaru okna w pygame
surface_okna = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Pierwsza Gra")

# surface -> rejestruje tylko wygląd obiektów
# rect -> rejetruje położenie obiektów
def load_image(sciezka: str, pozycja):
    obraz = pygame.image.load(sciezka)
    surface = obraz.convert()

    przezroczysty_kolor = (0,0,0)
    surface.set_colorkey(przezroczysty_kolor)

    rect = surface.get_rect(center=pozycja)
    return [obraz, surface, rect]

def print_image(dane_gracza):
    obraz, surface, rect = dane_gracza
    surface_okna.blit(surface, rect)

pozycja_gracza = [SCREEN_WIDTH // 2, SCREEN_HEIGHT //2]
gracz = load_image(pozycja=pozycja_gracza, sciezka="player.png")

# Tworzymy zegar
zegar = pygame.time.Clock()


# zmienna, która określa, czy gra trwa
status_gry = True

# główna pętla gry
while status_gry:

    # Odczytujemy zdarzenia zarejestrowane przez pygame
    # zwracane jako lista
    zdarzenia = pygame.event.get()
    for zdarzenie in zdarzenia:
        print(zdarzenie)

        if zdarzenie.type == pygame.QUIT:
            status_gry = False
        
        if zdarzenie.type == pygame.KEYDOWN:
            if zdarzenie.key == 1073741906:
                pozycja_gracza[1] -= 1
                gracz = load_image(sciezka="player.png", pozycja=pozycja_gracza)

    #Odświeżenie ekranu
    print_image(gracz)
    pygame.display.update()
    zegar.tick(60)
    pass

# Zamykanie aplikacji
pygame.quit()
quit()