import pygame
import random
import time
from kierunek import Kierunek
from wąz import Waz
from Jablko import Jablko
pygame.init()

SZEROKOSC_EKRANU = 800
WYSOKOSC_EKRANU = 608
SZYBKOSC = 200
ekran = pygame.display.set_mode([SZEROKOSC_EKRANU,WYSOKOSC_EKRANU])
zegar = pygame.time.Clock()


waz = Waz()
PORUSZ_WEZEM = pygame.USEREVENT + 1
pygame.time.set_timer(PORUSZ_WEZEM,SZYBKOSC)




#Stworzenie tła 
tlo = pygame.Surface((SZEROKOSC_EKRANU,WYSOKOSC_EKRANU))


for i in range(25):
    for j in range(19):
        obraz = pygame.image.load("images/backGround.png")
        maska = (random.randrange(0,20),random.randrange(0,20),random.randrange(0,20))

        obraz.fill(maska,special_flags=pygame.BLEND_ADD)
        tlo.blit(obraz,(i*32,j*32))
 



jablko = Jablko() 
Jablka = pygame.sprite.Group()
Jablka.add(Jablko)




gra_dziala = True
while gra_dziala:
    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_w:
                waz.zmien_kierunke(Kierunek.GORA)
            if zdarzenie.key == pygame.K_s:
                waz.zmien_kierunke(Kierunek.DOL)
            if zdarzenie.key == pygame.K_a:
                waz.zmien_kierunke(Kierunek.LEWO)
            if zdarzenie.key == pygame.K_d:
                waz.zmien_kierunke(Kierunek.PRAWO)
        
        elif zdarzenie.type == PORUSZ_WEZEM:
                waz.aktualizuj()




        elif zdarzenie.type == pygame.QUIT:
            gra_dziala = False
    


    kolizja_z_jablkiem = pygame.sprite.spritecollideany(waz,Jablka)
    if kolizja_z_jablkiem != None:
        kolizja_z_jablkiem.kill()
        waz.zjed_jabl()
        jablko = Jablko()
        Jablka.add(jablko)

    ekran.blit(tlo,(0,0))
    waz.rysuj_swegmenty(ekran)
    #if waz.sprawdz_kolizje:
        #gra_dziala = False
    ekran.blit(waz.obraz,waz.rect)






    for Jablko in Jablka:
        ekran.blit(Jablko.obraz,Jablko.rect) 

    pygame.display.flip()
    zegar.tick(30)
 
time.sleep(3)
pygame.quit()
