import pygame
import Element 
import random

SZEROKOSC_EKRANU = 800
WYSOKOSC_EKRANU = 600

obraz_tla = pygame.image.load('images/background.png')
obraz_bazy_postaci = pygame.image.load('images/base.png')

pygame.init()

ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
zegar = pygame.time.Clock()
moja_czionka = pygame.font.SysFont('Impact',30)


nakrycie_glowy = Element.NakrycieGlowy()
bron = Element.Ubranie()
oko = Element.Bron()
cialo = Element.Oczy()



def wypisz_tekst(ekran,tekst,pozycja):
    napis = moja_czionka.render(tekst,False,(255,255,255))
    ekran.blit(napis,pozycja)


def losuj_wyglad():
    nakrycie_glowy.wybrany = random.randint(0,2)
    oko.wybrany = random.randint(0,2)
    cialo.wybrany = random.randint(0,2)
    bron.wybrany = random.randint(0,2)


gra_dziala = True
zapisywanie = False
while gra_dziala:
    #obsługa zdarzeń
    for zdarzenie in pygame.event.get():
        if zdarzenie.type == pygame.KEYDOWN:
            if zdarzenie.key == pygame.K_ESCAPE:
                gra_dziala = False
            if zdarzenie.key == pygame.K_q:
                nakrycie_glowy.wybierzNastepny()
            if zdarzenie.key == pygame.K_w:
                cialo.wybierzNastepny()
            if zdarzenie.key == pygame.K_e:
                bron.wybierzNastepny()
            if zdarzenie.key == pygame.K_r:
                oko.wybierzNastepny()
            if zdarzenie.key == pygame.K_s:
                zapisywanie = True
            if zdarzenie.key == pygame.K_1:
                losuj_wyglad()
        elif zdarzenie.type == pygame.QUIT:
            gra_dziala = False

    #rysowanie tła
    ekran.blit(obraz_tla, (0, 0))
    #rysowanie bazy postaci
    ekran.blit(obraz_bazy_postaci, (270, 130))
    ekran.blit(cialo.wybranyObraz(),(270,130))
    ekran.blit(oko.wybranyObraz(),(270,130))
    ekran.blit(nakrycie_glowy.wybranyObraz(),(270,130))
    ekran.blit(bron.wybranyObraz(),(270,130))

    #zapisywanie
    if zapisywanie:
        pygame.image.save(ekran,'postac.png')
        zapisywanie = False
    #wypisanie informacj
    wypisz_tekst(ekran,f'[q]Głowa:{nakrycie_glowy.wybrany}',(100,100))
    wypisz_tekst(ekran,f'[w]Oczy:{cialo.wybrany}',(100,140))
    wypisz_tekst(ekran,f'[e]Ciało:{bron.wybrany}',(100,180))
    wypisz_tekst(ekran,f'[r]Broń:{oko.wybrany}',(100,220))
    wypisz_tekst(ekran,f'[s]Zapisz Obraz',(100,300))
    wypisz_tekst(ekran,f'[1]Losuj',(100,260))




    #czyszczenie ekranu
    pygame.display.flip()
    #ustalenie stałego fps na 30
    zegar.tick(30)


pygame.quit()

