示例#1
0
 def test_use_weapon_cards(self):
     rifle = Cards.RifleCard(Cards.Suit.CLUBS, 5)
     pistol = Cards.PistolCard(Cards.Suit.HEARTS, 8)
     player_names = [
         'Samuel', 'Gustav', 'Maria', 'Andrea', 'Tomas', 'Mona', 'Lennart'
     ]
     game_object = Game(player_names)
     game_object.active_player.add_cards([pistol, rifle])
     self.assertIsNone(game_object.active_player.weapon)
     game_object.use_card(rifle)
     self.assertEqual(game_object.active_player.weapon, rifle)
     game_object.use_card(pistol)
     self.assertEqual(game_object.active_player.weapon, pistol)
示例#2
0
    def test_get_possible_targets(self):
        pistol = Cards.PistolCard(Cards.Suit.DIAMONDS, 5)
        player_names = [
            'Samuel', 'Gustav', 'Maria', 'Andrea', 'Tomas', 'Mona', 'Lennart'
        ]
        game_object = Game.start_game(player_names)
        game_object.active_player = game_object.players[3]
        found_targets = game_object.get_possible_targets()
        self.assertEqual(found_targets,
                         [game_object.players[2], game_object.players[4]])

        game_object.active_player = game_object.players[5]
        game_object.active_player.add_cards([pistol])
        game_object.use_card(pistol)
        found_targets = game_object.get_possible_targets()

        self.assertEqual(found_targets, [
            game_object.players[3], game_object.players[4],
            game_object.players[6], game_object.players[0]
        ])
示例#3
0
 def create_deck(self):
     """
     Create all the different cards an place in deck
     :return:
     """
     deck = []
     for s in Suit:
         for i in range(2, 9):
             deck.append(Cards.PangCard(i, s))
             deck.append(Cards.MissCard(i, s))
         for i in range(2, 9, 3):
             deck.append(Cards.PistolCard(i, s))
             deck.append(Cards.StageCoachCard(i, s))
             deck.append(Cards.BeerCard(i, s))
             deck.append(Cards.PanicCard(i, s))
         for i in range(3, 9, 2):
             deck.append(Cards.RifleCard(i, s))
             deck.append(Cards.ScopeCard(i, s))
             deck.append(Cards.BarrelCard(i, s))
             deck.append(Cards.HorseCard(i, s))
         for i in range(2, 9, 3):
             deck.append(Cards.WellsFargoCard(i, s))
     return deck