import pygame import prefs class Cell: def __init__(self, x, y,waga, blocking_movement=False, interactableItem=False, texture=None): self.X = x self.Y = y self.waga = waga self.rect = pygame.Rect(x * prefs.CELL_SIZE, y * prefs.CELL_SIZE, prefs.CELL_SIZE, prefs.CELL_SIZE) self.blocking_movement = blocking_movement self.interactableItem = interactableItem if texture: self.prepareTexture(texture) else: self.texture = texture def blit_text(self,tekst, x, y, rozmiar_czcionki,window): font = pygame.font.Font('freesansbold.ttf', rozmiar_czcionki) text = font.render(str(tekst), True, (0, 255, 0), (0, 0, 128)) textRect = text.get_rect() textRect.center = (x,y) window.blit(text, textRect) def prepareTexture(self, texture): preparedTexture = pygame.image.load(texture).convert_alpha() preparedTexture = pygame.transform.scale(preparedTexture, (prefs.CELL_SIZE, prefs.CELL_SIZE)) self.texture = preparedTexture def update(self,window): if(self.texture): window.blit(self.texture, self.rect) else: pygame.draw.rect(window, prefs.COLORS[(self.X*prefs.GRID_SIZE+self.Y)%len(prefs.COLORS)], self.rect) pygame.draw.line(window, (0, 0, 0), (self.rect.left, self.rect.top), (self.rect.right, self.rect.top)) pygame.draw.line(window, (0, 0, 0), (self.rect.left, self.rect.top), (self.rect.left, self.rect.bottom))