コード例 #1
0
 def trigger(self, player, pasture):
     use = player.game.get_choices(
         player, YesNoChoice("Basket: exchange 2 wood for 3 food?"))
     if use:
         player.change_state("Basket effect.",
                             cost=dict(wood=2),
                             change=dict(food=3))
コード例 #2
0
 def trigger(self, player, action):
     desc = "MushroomCollector; leave 1 wood to receive 2 food?"
     use = player.game.get_choice(player, YesNoChoice(desc))
     if use:
         player.change_state("MushroomCollector effect.",
                             cost=dict(wood=1),
                             change=dict(food=2))
コード例 #3
0
 def trigger(self, player, action):
     if player.food >= 1:
         desc = "CattleFeeder: Buy 1 cattle for 1 food?"
         choice = player.game.get_choice(player, YesNoChoice(desc))
         if choice:
             player.add_animals(cattle=1)
             player.add_resources(food=-1)
コード例 #4
0
 def trigger(self, player, **kwargs):
     desc = "AssistantTiller: Plow a field?"
     plow_field = player.game.get_choice(player, YesNoChoice(desc))
     if plow_field:
         space_to_plow = player.game.get_choices(
             player, SpaceChoice("Space to plow."))
         player.plow_fields(space_to_plow)
コード例 #5
0
 def trigger(self, player, **kwargs):
     if player.house_type == 'stone':
         desc = "Groom: Build a stable for 1 wood?"
         build_stable = player.game.get_choice(player, YesNoChoice(desc))
         if build_stable:
             stable_loc = player.game.get_choices(
                 player, SpaceChoice("Stable location."))
             player.build_stables(stable_loc, 1)
コード例 #6
0
 def trigger(self, player, **kwargs):
     if player.wood >= 1:
         desc = ("PaperMaker (before): Pay 1 wood to receive 1 food "
                 "for each of your people?")
         use = player.game.get_choice(player, YesNoChoice(desc))
         if use:
             player.change_state("PaperMaker effect.",
                                 cost=dict(wood=1),
                                 change=dict(food=len(player.occupations)))
コード例 #7
0
 def trigger(self, player, **kwargs):
     if player.house_type == 'stone' and player.food >= 1:
         desc = "PlowDriver: Pay 1 food to plow a field?"
         use = player.game.get_choice(player, YesNoChoice(desc))
         if use:
             player.change_state("Plowdriver effect.", cost=dict(food=1))
             space_to_plow = player.game.get_choices(
                 player, SpaceChoice("Space to plow."))
             player.plow_fields(space_to_plow)
コード例 #8
0
    def check_and_apply(self, player):
        use = player.game.get_choices(
            player,
            YesNoChoice("RoofBallaster: pay 1 food total to receive "
                        "1 stone for each room you have?"))

        if use:
            player.change_state(cost=dict(food=1),
                                change=dict(stone=player.rooms))
コード例 #9
0
 def trigger(self, player, **kwargs):
     if player.wood >= 1:
         desc = ("Harpooner: Pay 1 wood to receive 1 food "
                 "for each of your people, and 1 reed?")
         use = player.game.get_choice(player, YesNoChoice(desc))
         if use:
             player.change_state("Harpooner effect.",
                                 cost=dict(wood=1),
                                 change=dict(food=player.people, reed=1))
コード例 #10
0
 def trigger(self, player, **kwargs):
     if self._fields_remaining > 0:
         use = player.game.get_choices(
             player, YesNoChoice("MoldboardPlow: plow an extra field?"))
         if use:
             self._fields_remaining -= 1
             space_to_plow = player.game.get_choices(
                 player, SpaceChoice("Space to plow."))
             player.plow_fields(space_to_plow)
コード例 #11
0
 def trigger(self, player, **kwargs):
     if player != self.player:
         self.player.add_resources(food=1, veg=1)
         if self.player.food >= 2:
             desc = "Lutenist: Buy 1 vegetable for 2 food?"
             use = self.player.game.get_choice(self.player,
                                               YesNoChoice(desc))
             if use:
                 self.player.change_state(cost=dict(food=2),
                                          change=dict(veg=1))
コード例 #12
0
    def trigger(self, player, action):
        animal = {
            'SheepMarket': 'sheep',
            'BoarMarket': 'boar',
            'CattleMarket': 'cattle'
        }[action.__class__.__name__]

        if player.food >= 1:
            desc = "AnimalDealer: Buy 1 additional {} for 1 food?".format(
                animal)
            choice = player.game.get_choice(player, YesNoChoice(desc))
            if choice:
                player.add_animals(**{animal: 1})
                player.add_resources(food=-1)
コード例 #13
0
 def trigger(self, player, **kwargs):
     desc = "BrushwoodCollector: 1 wood in place of all reed?"
     choice = player.game.get_choice(player, YesNoChoice(desc))