コード例 #1
0
ファイル: Map.py プロジェクト: Soapony/csci3180
 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)
コード例 #2
0
ファイル: Soldier.py プロジェクト: Soapony/csci3180
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="")
コード例 #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._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='')
コード例 #4
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='')
コード例 #5
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="")