Exemplo n.º 1
0
def sort_players_by_buildings_in_clearing(
        players: list[Player],
        clearing: Clearing,
        descending: bool = True) -> list[Player]:
    return sorted(players,
                  key=lambda p: clearing.get_building_count_for_player(p),
                  reverse=descending)
Exemplo n.º 2
0
def get_defenseless_enemy_buildings_in_clearing(clearing: Clearing,
                                                acting_player: Player) -> int:
    defenseless_buildings = 0
    for player in clearing.get_all_other_players_in_location(acting_player):
        if player.is_defenseless(clearing):
            defenseless_buildings += clearing.get_building_count_for_player(
                player)
    return defenseless_buildings
 def halves_damage(self, battle_clearing: Clearing) -> bool:
     return (self.has_trait(TRAIT_FORTIFIED)
             and battle_clearing.get_building_count_for_player(self)
             == battle_clearing.get_piece_count_for_player(self))