import pygame as pg
import random as rnd
import time
from Jablko import Jablko
from Kierunek import Kierunek
from Waz import Waz

SZEROKOSC_EKRANU = 800
WYSOKOSC_EKRANU = 608

tlo = pg.Surface((SZEROKOSC_EKRANU, WYSOKOSC_EKRANU))

for i in range(25):
    for j in range(19):
        obraz = pg.image.load("images/background.png")
        maska = (rnd.randrange(0,20), rnd.randrange(0,20), rnd.randrange(0,20))
        obraz.fill(maska, special_flags=pg.BLEND_ADD)
        tlo.blit(obraz, (i*32,j*32))

pg.init()

ekran = pg.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
zegar = pg.time.Clock()

waz = Waz()
PORUSZ_WEZEM = pg.USEREVENT + 1
pg.time.set_timer(PORUSZ_WEZEM, 200)

jablko = Jablko()
jablka = pg.sprite.Group()
jablka.add(jablko)

gra_dziala = True
while gra_dziala:
    for zdarzenie in pg.event.get():
        if zdarzenie.type == pg.KEYDOWN:
            if zdarzenie.key == pg.K_ESCAPE:
                gra_dziala = False
            elif zdarzenie.key == pg.K_w:
                waz.zmien_kierunek(Kierunek.GORA)
            elif zdarzenie.key == pg.K_a:
                waz.zmien_kierunek(Kierunek.LEWO)
            elif zdarzenie.key == pg.K_d:
                waz.zmien_kierunek(Kierunek.PRAWO)
            elif zdarzenie.key == pg.K_s:
                waz.zmien_kierunek(Kierunek.DOL)
        elif zdarzenie.type == PORUSZ_WEZEM:
            waz.aktualizuj()
        elif zdarzenie.type == pg.QUIT:
            gra_dziala = False
    
    ekran.blit(tlo,(0,0))
    for jablko in jablka:
        ekran.blit(jablko.obraz, jablko.rect)
    ekran.blit(waz.obraz, waz.rect)
    pg.display.flip()
    zegar.tick(30)

time.sleep(3)
pg.quit()