Exemplo n.º 1
0
    def score(self):
        score = 0

        score += score_mapping(self.pastures, [1, 2, 3, 4], [-1, 1, 2, 3, 4])
        score += score_mapping(self.fields, [1, 3, 4, 5], [-1, 1, 2, 3, 4])

        score += score_mapping(self.grain, [1, 4, 6, 8], [-1, 1, 2, 3, 4])
        score += score_mapping(self.veg, [1, 2, 3, 4], [-1, 1, 2, 3, 4])

        score += score_mapping(self.sheep, [1, 4, 6, 8], [-1, 1, 2, 3, 4])
        score += score_mapping(self.boar, [1, 3, 5, 7], [-1, 1, 2, 3, 4])
        score += score_mapping(self.cattle, [1, 2, 4, 6], [-1, 1, 2, 3, 4])

        score += max(self.fenced_stables, 4)
        score -= len(self.empty_spaces)

        score += 3 * self.people

        multiplier = {'wood': 0, 'clay': 1, 'stone': 2}[self.house_type]
        score += multiplier * self.rooms

        score += sum([occ.victory_points(self) for occ in self.occupations])
        score += sum([imp.victory_points(self) for imp in self.minor_improvements])
        score += sum([imp.victory_points(self) for imp in self.major_improvements])

        return score
Exemplo n.º 2
0
 def victory_points(self, player):
     n_pasture_spaces = len(set(self.pasture_spaces))
     return score_mapping(n_pasture_spaces, [6, 7, 8, 10], [0, 1, 2, 3, 4])
Exemplo n.º 3
0
 def check_and_apply(self, player):
     wood = score_mapping(player.game.rounds_remaining, [1, 3, 6, 9],
                          [0, 1, 2, 3, 4])
     player.add_resources(wood=wood)
Exemplo n.º 4
0
 def victory_points(self, player):
     imps = len(player.major_improvements) + len(player.minor_improvements)
     return score_mapping(imps, [5, 6, 7, 8, 9, 10], [0, 2, 3, 4, 5, 7, 9])
Exemplo n.º 5
0
 def victory_points(self, player):
     return score_mapping(player.reed, [1, 3, 5], [2, 3, 4, 5])
Exemplo n.º 6
0
 def victory_points(self, player):
     return score_mapping(player.clay, [3, 5, 7], [2, 3, 4, 5])
Exemplo n.º 7
0
 def trigger(self, player, **kwargs):
     food = score_mapping(player.sheep, [1, 4, 7], [0, 1, 2, 3])
     player.add_resources(food=food)