コード例 #1
0
ファイル: Game.py プロジェクト: supas072/python-proj
def main():
    game = Game()
    game.addPlayer(Player("Red", StupidBot()))
    game.addPlayer(Player("Blue", StupidBot()))
    game.addPlayer(Player("Yellow", Human()))
    shuffle(game.players)
    game.printPlayers()
    round = 1
    try:
        while not game.finished():
            input("Press the return key to proceed to the next round....")
            game.processRound(round)
            round += 1
        for player in game.players:
            print("\nPlayer %s final score: %d" %
                  (player.getColor(), player.finalScore()))
    except KeyboardInterrupt:
        print("bye")
コード例 #2
0
 def setUp(self):
     self.board = Board()
     self.human = Human()
     self.player = Player("Green", self.human)
     self.human.player = self.player
コード例 #3
0
class HumanStrategyTest(unittest.TestCase):

    def setUp(self):
        self.board = Board()
        self.human = Human()
        self.player = Player("Green", self.human)
        self.human.player = self.player

    def testStrategyClassShouldBeImplemented(self):
        player = Player("Green", Strategy())
        with self.assertRaisesRegex(StrategyNotImplemented, "The placePersons\(\) method should be implemented"):
            player.placePersons(Board())

#    Hunting grounds
    def testHumanInputH3(self):
        self.human.processPlacePersonsInput("f", 3,self.player.getAbr(), self.board)
        self.assertEqual(3, self.board.personsOnGrounds(self.human.player.getAbr()))

    def testHumanInputH5(self):
        self.human.processPlacePersonsInput("f", 5, self.player.getAbr(), self.board)
        self.assertEqual(5, self.board.personsOnGrounds(self.human.player.getAbr()))

#    Forest
    def testHumanInputF3(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 3, self.player.getAbr(), self.board)
        self.assertEqual(3, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertEqual(3, 7 - self.board.freeForestSlots())
        
    def testHumanInputF5(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 5, self.player.getAbr(), self.board)
        self.assertEqual(5, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertEqual(5, 7 - self.board.freeForestSlots())

    def testHumanInputBuilding2(self):
        self.assertEqual(4, len(self.board.availableHuts()))
        self.human.processPlacePersonsInput("h", 2, self.player.getAbr(), self.board)
        self.assertEqual(3, len(self.board.availableHuts()))
        
    def testHumanInputfarm(self):
        self.assertFalse(self.board.farmOccupied())
        self.human.processPlacePersonsInput("a", 1, self.player.getAbr(), self.board)
        self.assertEqual(1, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertTrue(self.board.farmOccupied())
コード例 #4
0
 def setUp(self):
     self.board = Board()
     self.human = Human()
     self.player = Player(PlayerColor.Green, self.human)
     self.human.player = self.player
コード例 #5
0
class HumanStrategyTest(unittest.TestCase):

    def setUp(self):
        self.board = Board()
        self.human = Human()
        self.player = Player(PlayerColor.Green, self.human)
        self.human.player = self.player

    def testStrategyClassShouldBeImplemented(self):
        player = Player(PlayerColor.Green, Strategy())
        with self.assertRaisesRegex(StrategyNotImplemented, "The placePersons\(\) method should be implemented"):
            player.placePersons(Board())

#    Hunting grounds
    def testHumanInputH3(self):
        self.human.processPlacePersonsInput("f", 3,self.player, self.board)
        self.assertEqual(3, self.board.personsOnGrounds(self.human.player))

    def testHumanInputH5(self):
        self.human.processPlacePersonsInput("f", 5, self.player, self.board)
        self.assertEqual(5, self.board.personsOnGrounds(self.human.player))

#    Forest
    def testHumanInputF3(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 3, self.player, self.board)
        self.assertEqual(3, self.board.personsOnGrounds(self.human.player))
        self.assertEqual(3, 7 - self.board.freeForestSlots())
        
    def testHumanInputF5(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 5, self.player, self.board)
        self.assertEqual(5, self.board.personsOnGrounds(self.human.player))
        self.assertEqual(5, 7 - self.board.freeForestSlots())

    def testHumanInputBuilding2(self):
        self.assertEqual(4, len(self.board.availableHuts()))
        self.human.processPlacePersonsInput("h", 2, self.player, self.board)
        self.assertEqual(3, len(self.board.availableHuts()))
        
    def testHumanInputfarm(self):
        self.assertFalse(self.board.farmOccupied())
        self.human.processPlacePersonsInput("a", 1, self.player, self.board)
        self.assertEqual(1, self.board.personsOnGrounds(self.human.player))
        self.assertTrue(self.board.farmOccupied())
        
    def testHumanToolToUse(self):
        toolbox = Toolbox()
        oneTimeTools = []
        self.assertEqual(0, self.human.toolsToUse(3, 2, toolbox, oneTimeTools))
        toolbox.upgrade()
        self.assertEqual(0, self.human.toolsToUse(3, 7, toolbox, oneTimeTools))
        toolbox.upgrade()
        self.assertEqual(0, self.human.toolsToUse(3, 9, toolbox, oneTimeTools))
        
    def testUseTools(self):
        toolbox = Toolbox()
        toolbox.upgrade()
        toolbox.upgrade()
        toolbox.upgrade()
        toolbox.upgrade()
        
        self.assertEquals([2,1,1], toolbox.getUnused())
        toolsToUse = [1]
        self.human.useTools(toolbox, toolsToUse)
        self.assertEquals([2,1], toolbox.getUnused())
コード例 #6
0
 def setUp(self):
     self.board = Board()
     self.human = Human()
     self.player = Player("Green", self.human)
     self.human.player = self.player
コード例 #7
0
class HumanStrategyTest(unittest.TestCase):
    def setUp(self):
        self.board = Board()
        self.human = Human()
        self.player = Player("Green", self.human)
        self.human.player = self.player

    def testStrategyClassShouldBeImplemented(self):
        player = Player("Green", Strategy())
        with self.assertRaisesRegex(
                StrategyNotImplemented,
                "The placePersons\(\) method should be implemented"):
            player.placePersons(Board())

#    Hunting grounds

    def testHumanInputH3(self):
        self.human.processPlacePersonsInput("f", 3, self.player.getAbr(),
                                            self.board)
        self.assertEqual(
            3, self.board.personsOnGrounds(self.human.player.getAbr()))

    def testHumanInputH5(self):
        self.human.processPlacePersonsInput("f", 5, self.player.getAbr(),
                                            self.board)
        self.assertEqual(
            5, self.board.personsOnGrounds(self.human.player.getAbr()))


#    Forest

    def testHumanInputF3(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 3, self.player.getAbr(),
                                            self.board)
        self.assertEqual(
            3, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertEqual(3, 7 - self.board.freeForestSlots())

    def testHumanInputF5(self):
        self.assertEqual(0, 7 - self.board.freeForestSlots())
        self.human.processPlacePersonsInput("w", 5, self.player.getAbr(),
                                            self.board)
        self.assertEqual(
            5, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertEqual(5, 7 - self.board.freeForestSlots())

    def testHumanInputBuilding2(self):
        self.assertEqual(4, len(self.board.availableHuts()))
        self.human.processPlacePersonsInput("h", 2, self.player.getAbr(),
                                            self.board)
        self.assertEqual(3, len(self.board.availableHuts()))

    def testHumanInputfarm(self):
        self.assertFalse(self.board.farmOccupied())
        self.human.processPlacePersonsInput("a", 1, self.player.getAbr(),
                                            self.board)
        self.assertEqual(
            1, self.board.personsOnGrounds(self.human.player.getAbr()))
        self.assertTrue(self.board.farmOccupied())