WMICraft/logic/field.py
XsedoX deabeeac43 mozna zgetowac tile po row i column do tego jest funkcja get_tile w grid;
step_onto -> put_on(zmiana nazwy), dziala poprawnie(maly bug byl);funkcja put_on_tile(row, column, obj) sluzy polozeniu danego obiektu na danym tilu, przyklad uzycia zakomentowany w game.py(wywolujcie po spawnerze, bo nadpisze pozycje xd); dorobilem wlasny exception, gdy tile jest zajety w pliku exceptions.py - moze sie przyda ten plik
2022-04-08 17:15:01 +02:00

29 lines
850 B
Python

import pygame
from logic.exceptions import FieldNotWalkable
class Field(pygame.sprite.Sprite):
def __init__(self, texture_path, converted_texture, img, rect, row=0, column=0):
super().__init__()
self.texture_path = texture_path
self.converted_texture = converted_texture
self.image = img
self.row = row
self.column = column
self.rect = rect
self.busy = False
self.busy_detection()
def busy_detection(self):
if self.texture_path == 'water.png' or self.texture_path == 'grass_with_tree.jpg':
self.busy = True
def put_on(self, obj): # ustawia objekt na srodku pola
if not self.busy:
obj.rect = obj.rect.clamp(self.rect)
self.busy = True
obj.update()
else:
raise FieldNotWalkable