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")
def setUp(self): self.board = Board() self.human = Human() self.player = Player("Green", self.human) self.human.player = self.player
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())
def setUp(self): self.board = Board() self.human = Human() self.player = Player(PlayerColor.Green, self.human) self.human.player = self.player
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())
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())