コード例 #1
0
 def json_to_trait(cls, json_trait):
     """
     Converts a JSON Trait or SpeciesCard into a TraitCard
     :param json_trait: a JSON Trait or SpeciesCard as specified by the data definitions at
                        http://www.ccs.neu.edu/home/matthias/4500-s16/5.html and
                        http://www.ccs.neu.edu/home/matthias/4500-s16/8.html, respectively.
     :return: a TraitCard object
     """
     if isinstance(json_trait, basestring):
         [food, trait] = [False, json_trait]
     else:
         [food, trait] = json_trait
     trait_card = TraitCard(trait, food)
     trait_card.validate_attributes()
     return trait_card
コード例 #2
0
 def json_to_trait(cls, json_trait):
     if isinstance(json_trait, basestring):
         trait = json_trait
         food = None
     elif isinstance(json_trait, list) and len(json_trait) == CARD_LENGTH:
         [food, trait] = json_trait
         assert (CARN_FOOD_MIN <= food <= CARN_FOOD_MAX if trait
                 == CARNIVORE else HERB_FOOD_MIN <= food <= HERB_FOOD_MAX)
     else:
         raise AssertionError
     assert (trait in TRAITS_LIST)
     return TraitCard(trait, food)
コード例 #3
0
    def setUp(self):
        self.jt_1 = CARNIVORE
        self.jt_2 = FATTISSUE
        self.jt_3 = BURROWING
        self.jt_4 = CLIMBING

        self.jSpecies_1 = [[FOOD, 2], [BODY, 2], [POPULATION, 2],
                           [TRAITS, [self.jt_1]]]
        self.jSpecies_2 = [[FOOD, 2], [BODY, 3], [POPULATION, 3],
                           [TRAITS, [self.jt_2]], [FATFOOD, 0]]
        self.jSpecies_3 = [[FOOD, 2], [BODY, 3], [POPULATION, 4],
                           [TRAITS, [self.jt_3, self.jt_4]]]
        self.jSpecies_4 = [[FOOD, 2], [BODY, 2], [POPULATION, 2],
                           [TRAITS, [self.jt_3, self.jt_4]]]

        self.jPlayer_1 = [[ID, 1], [SPECIES, [self.jSpecies_1]], [BAG, 2]]
        self.jPlayer_2 = [[ID, 2], [SPECIES, [self.jSpecies_2]], [BAG, 1]]
        self.jPlayer_3 = [[ID, 3],
                          [SPECIES, [self.jSpecies_3, self.jSpecies_4]],
                          [BAG, 3]]
        self.jPlayer_4 = [[ID, 2], [SPECIES, []], [BAG, 1]]

        self.json_feeding = [
            self.jPlayer_1, 10, [self.jPlayer_2, self.jPlayer_3]
        ]
        self.json_feed_1 = False
        self.json_feed_2 = self.jSpecies_3
        self.json_feed_3 = [self.jSpecies_2, 3]
        self.json_feed_4 = [self.jSpecies_1, self.jPlayer_2, self.jSpecies_2]

        self.t_1 = TraitCard(CARNIVORE)
        self.t_2 = TraitCard(FATTISSUE)
        self.t_3 = TraitCard(BURROWING)
        self.t_4 = TraitCard(CLIMBING)

        self.species_1 = Species(2, 2, 2, [self.t_1])
        self.species_2 = Species(3, 2, 3, [self.t_2], 0)
        self.species_3 = Species(4, 2, 3, [self.t_3, self.t_4])
        self.species_4 = Species(2, 2, 2, [self.t_3, self.t_4])

        self.player_1 = PlayerState(name=1,
                                    food_bag=2,
                                    species=[self.species_1])
        self.player_2 = PlayerState(name=2,
                                    food_bag=1,
                                    species=[self.species_2])
        self.player_3 = PlayerState(name=3,
                                    food_bag=3,
                                    species=[self.species_3, self.species_4])
        self.player_4 = PlayerState(name=2, food_bag=1, species=[])

        self.feeding = [self.player_1, 10, [self.player_2, self.player_3]]
        self.feed_1 = False
        self.feed_2 = self.species_3
        self.feed_3 = [self.species_2, 3]
        self.feed_4 = [self.species_1, self.player_2, self.species_2]

        self.jSpecies_card1 = [2, WARNINGCALL]
        self.jSpecies_card2 = [5, CARNIVORE]
        self.jSpecies_card3 = [-3, BURROWING]
        self.jSpecies_card4 = [3, AMBUSH]
        self.jSpecies_card5 = [0, SCAVENGER]

        self.species_card1 = TraitCard(WARNINGCALL, 2)
        self.species_card2 = TraitCard(CARNIVORE, 5)
        self.species_card3 = TraitCard(BURROWING, -3)
        self.species_card4 = TraitCard(AMBUSH, 3)
        self.species_card5 = TraitCard(SCAVENGER, 0)

        self.jList_of_players = [
            self.jPlayer_1, self.jPlayer_4, self.jPlayer_3
        ]
        self.jDeck = [
            self.jSpecies_card1, self.jSpecies_card2, self.jSpecies_card3,
            self.jSpecies_card4, self.jSpecies_card5
        ]
        self.jDealer = [self.jList_of_players, 12, self.jDeck]

        self.list_of_players = [self.player_1, self.player_4, self.player_3]
        self.deck = [
            self.species_card1, self.species_card2, self.species_card3,
            self.species_card4, self.species_card5
        ]

        self.dealer1 = Dealer(self.list_of_players, 12, self.deck)