コード例 #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="")