36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
from project_constants import Terrain
|
|
|
|
|
|
# Assume_cost function assumes colour as an argument (colour that is already given to a tile) and depending
|
|
# on what it is returns value of Terrein Enum
|
|
# It is used in Tile.cost (giving the value to the tile)
|
|
|
|
def assume_cost(terrain_type, mine):
|
|
if mine is not None and mine.active:
|
|
return Terrain.MINE
|
|
if terrain_type == "CONCRETE":
|
|
return Terrain.CONCRETE
|
|
elif terrain_type == "GRASS":
|
|
return Terrain.GRASS
|
|
elif terrain_type == "MUD":
|
|
return Terrain.MUD
|
|
|
|
|
|
class Tile:
|
|
def __init__(self, position, terrain_type=None, mine=None):
|
|
self.position = position
|
|
self.terrain_type = terrain_type
|
|
self._cost = assume_cost(terrain_type, mine)
|
|
# mine is an instance of Mine class
|
|
self.mine = mine
|
|
|
|
@property
|
|
def cost(self):
|
|
self._cost = assume_cost(self.terrain_type, self.mine)
|
|
return self._cost
|
|
|
|
@cost.setter
|
|
def cost(self, new_value):
|
|
self._cost = new_value
|
|
|