def add_object(self, a_object): pos = Pos() if type(a_object) is list: for i in a_object: pos = i.get_pos() self.__cells[pos.get_row() - 1][pos.get_col() - 1].set_occupied_object(i) else: pos = a_object.get_pos() if pos is not None: self.__cells[pos.get_row() - 1][pos.get_col() - 1].set_occupied_object(a_object)
class Soldier(): def __init__(self): self._health = 100 self.__num_elixirs = 2 self.__pos = Pos() self.__keys = [] def get_health(self): return self._health def lose_health(self): self._health -= 10 return self._health <= 0 def recover(self, healing_power): total_health = healing_power + self._health if (total_health >= 100): self._health = 100 else: self._health = total_health def get_pos(self): return self.__pos def set_pos(self, row, col): self.__pos.set_pos(row, col) def move(self, row, col): self.set_pos(row, col) def get_keys(self): return self.__keys def add_key(self, key): self.__keys.append(key) def get_num_elixirs(self): return self.__num_elixirs def add_elixir(self): self.__num_elixirs += 1 def use_elixir(self): self.recover(random.randint(0, 5) + 15) self.__num_elixirs -= 1 def display_information(self): str_key = [str(x) for x in self.__keys] print("Health: ", self._health, ".") print("Position (row, column): (", self.__pos.get_row(), ", ", self.__pos.get_col(), ").") print("Keys: [" + ", ".join(str_key) + "].") print("Elixirs: ", self.__num_elixirs, ".") def display_symbol(self): print("S", end="")