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 self._health = 100 if total_health >= 100 else total_health def get_pos(self): return self._pos def set_pos(self, row, column): self._pos.set_pos(row, column) def move(self, row, column): self._pos.set_pos(row, column) 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(15, 21)) self._num_elixirs -= 1 def display_information(self): print("Health:", self._health) print("Position (row, column): (", self._pos.get_row(), " ", self._pos.get_column(), ")", sep='') print("Keys:", self._keys) print("Elixirs: %d" % self._num_elixirs) def display_symbol(self): print("S", end='')
class Soldier(): def __init__(self): self._health = 100 self._num_elixirs = 2 self._pos = Pos() self._keys = set() def get_health(self): return self._health def lose_health(self): self._health -= 10 return self._health <= 0 def recover(self, healing_power): ## Soldier's health cannot exceed capacity. total_health = healing_power + self._health self._health = 100 if total_health >= 100 else total_health def get_pos(self): return self._pos def set_pos(self, row, column): self._pos.set_pos(row, column) def move(self, row, column): self.set_pos(row, column) def get_keys(self): return self._keys def add_key(self, key): self._keys.add(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(15, 20)) self._num_elixirs -= 1 def display_information(self): print("Health: %d." % (self._health)) print("Position (row, column): (%d, %d)." % (self._pos.get_row(self), self._pos.get_column(self))) print('Keys: [', end='') print(*self._keys, sep=', ', end='].\n') print("Elixirs: %d." % (self._num_elixirs)) def display_symbol(self): print('S', end='')
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 self.health = 100 if total_health >= 100 else total_health def get_pos(self): return self.pos def set_pos(self, row, column): self.pos.set_pos(row, column) def move(self, row, column): self.set_pos(row, column) 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): print("Health: {}.".format(self.health)) print("Position (row, column): ({}, {}).".format(self.pos.get_row(), self.pos.get_column())) print("Keys: " + str(sorted(set(self.keys))) + ".") print("Elixirs: {}.".format(self.num_elixirs)) def display_symbol(self): print("S", end="")