示例#1
0
class TestSettlement(unittest.TestCase):
    def setUp(self):
        self.dg=DummyGame()
        self.p1=HumanPlayer(self.dg)
        self.settlement = Settlement(population=1500, owner=self.p1, map=DummyMap())
    def test_population(self):
        self.assertEqual(1500, self.settlement.population, "Population initialized incorrectly")
        self.settlement.build("farm")
        self.assertEqual(1600, self.settlement.population, "Building a farm doesn't increase population")
    def test_recruitment(self):
        self.assertFalse(self.settlement.do_recruit(DummyUnit, self.p1, DummyTile(), 10000), "It's possible to recruit a unit too expensive")
        self.assertTrue(self.settlement.do_recruit(DummyUnit, self.p1, DummyTile(), 500), "Recruitment doesn't work")
        self.assertEqual(500, self.p1.treasury, "Recruitment doesn't affect owner's treasury")
    def tearDown(self):
        pass
示例#2
0
def game():
    hero = make_a_hero()
    hero.get_equipment(sword)
    hero.get_equipment(ruby_stone)
    hero.get_equipment(sapphire_stone)
    hero.get_gold(300)
    norman = Characters.Warrior("Norman", 10, 10)
    print("There is Norman the warrior on your way")
    fight_decision = input("Do you fight? (Yes/No) ")
    town = Settlement.Settlement("Champignon Settlement")
    if fight_decision == "Yes":
        town.fight(hero, norman)
    town.main_square(hero)

    pass
示例#3
0
 def build_item(self, object_to_build_on):
     """
     The Game_Engine uses this method in order to instantiate the object that the build() method has determined as
     the valid object to instantiate after previous checks, check_location() and player_inventory() methods, have
     returned a True boolean value.
     Args:
         object_to_build_on (object): An object argument that is passed to this method to determine which object that
         the build() method, that invoked this method, is attempting to instantiate.
     Returns:
          None
     """
     if object_to_build_on is None:
         self.game_state.current_player.inventory.add_dev_card(Development_Card.Development_Card())
         return True
     elif type(object_to_build_on) is Vertex.Vertex and object_to_build_on.settlement is None:
         if object_to_build_on.city is None:
             self.game_state.add_invalid_vertices_to_build(object_to_build_on)
             object_to_build_on.settlement = Settlement.Settlement(object_to_build_on)
             object_to_build_on.settlement.owner = self.game_state.current_player
             self.game_state.current_player.inventory.add_settlement(object_to_build_on.settlement)
             return True
         else:
             return False
     elif type(object_to_build_on) is Vertex.Vertex and object_to_build_on.settlement.owner ==\
             self.game_state.current_player:
         object_to_build_on.settlement = None
         object_to_build_on.city = City.City(object_to_build_on)
         object_to_build_on.city.owner = self.game_state.current_player
         self.game_state.current_player.inventory.add_city(object_to_build_on.city)
         # TODO: uniformize this output
         return 'city'
     elif type(object_to_build_on) is Edge.Edge and self.game_state.not_on_opp_sett(object_to_build_on):
         object_to_build_on.road = Road.Road(object_to_build_on)
         object_to_build_on.road.owner = self.game_state.current_player
         self.game_state.current_player.inventory.add_road(object_to_build_on.road)
         return True
示例#4
0
 def setUp(self):
     self.dg=DummyGame()
     self.p1=HumanPlayer(self.dg)
     self.settlement = Settlement(population=1500, owner=self.p1, map=DummyMap())
示例#5
0
Test to make sure everything builds.
'''

# test board structures
edge = Edge.Edge()
vertex = Vertex.Vertex()
tile = Tile.Tile()
print('board structures built')

# test Board
board = Board.Board()
print('board builds')

# test Structures
road = Road.Road(edge)
settlement = Settlement.Settlement(vertex)
city = City.City(vertex)
print('structures build')

# test players
player1 = Player.Player(None, 'red', 'red')
player2 = Player.Player(None, 'blue', 'blue')
player1.inventory.brick += 10000
player1.inventory.grain += 10000
player1.inventory.lumber += 10000
player1.inventory.ore += 10000
player1.inventory.wool += 10000
players = [player1, player2]
print('players build')

# test game state