import pygame
import copy
from kierunki import Kierunek
from segment import Segment


class Wonsz(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.obrazek = pygame.image.load("head.png")
        self.obrocony = pygame.transform.rotate(self.obrazek, -90)
        self.rect = self.obrocony.get_rect(center=(12*32+16, 9*32+16))
        self.kierunek = Kierunek.PRAWO
        self.nowy_kierunek = Kierunek.PRAWO
        self.segmenty = []
        self.ostatnia_pozycja = self.rect

    def skrec(self, kierunek):
        mozliwa_zmiana = True
        if kierunek == Kierunek.GORA and self.kierunek == Kierunek.GORA:
            mozliwa_zmiana = False
        if kierunek == Kierunek.DOL and self.kierunek == Kierunek.DOL:
            mozliwa_zmiana = False
        if kierunek == Kierunek.LEWO and self.kierunek == Kierunek.LEWO:
            mozliwa_zmiana = False
        if kierunek == Kierunek.PRAWO and self.kierunek == Kierunek.PRAWO:
            mozliwa_zmiana = False
        if kierunek == Kierunek.GORA and self.kierunek == Kierunek.DOL:
            mozliwa_zmiana = False
        if kierunek == Kierunek.DOL and self.kierunek == Kierunek.GORA:
            mozliwa_zmiana = False
        if kierunek == Kierunek.LEWO and self.kierunek == Kierunek.PRAWO:
            mozliwa_zmiana = False
        if kierunek == Kierunek.PRAWO and self.kierunek == Kierunek.LEWO:
            mozliwa_zmiana = False
        if mozliwa_zmiana:
            self.nowy_kierunek = kierunek
    def rusz(self):
        self.kierunek = self.nowy_kierunek
        self.obrocony = pygame.transform.rotate(self.obrazek, self.kierunek.value*-90)
        self.ostatnia_pozycja = copy.deepcopy(self.rect)
        
        if self.kierunek == Kierunek.GORA:
            self.rect.move_ip(0,-32)
        if self.kierunek == Kierunek.PRAWO:
            self.rect.move_ip(32,0)
        if self.kierunek == Kierunek.LEWO:
            self.rect.move_ip(-32,0)
        if self.kierunek == Kierunek.DOL:
            self.rect.move_ip(0,32)