コード例 #1
0
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='')
コード例 #2
0
ファイル: Soldier.py プロジェクト: yytlee/CSCI3180
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='')
コード例 #3
0
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="")