from aoe.exceptions import * from aoe.types import * from aoe.gameplay import * #import ipdb; breakpoint() # for testing # TODO need to go back through old tasks when new housing is added # TODO wherever we test against Age, it's probably wrong # TODO add building to production_available when finished # TODO need some warning, penalty, etc. if villager is assigned to task # without appropriate building (e.g., mining with no camp) # TODO building time assumes just 1 vil is working for now # Set up world game = Gameplay() # should work even before we do anything #game.print_status() game.queue_villager(5, Tasks.WOOD) # first number is time in seconds # should generate exception #game.assign_villager(40, Tasks.SHEEP, Tasks.WOOD) game.assign_villager(0, Tasks.IDLE, Tasks.SHEEP) game.assign_villager(2, Tasks.IDLE, Tasks.SHEEP, 2) # should generate exception #game.assign_villager(0, Tasks.IDLE, Tasks.SHEEP) # should generate exception #game.build(45, Buildings.STABLE, Tasks.WOOD, Tasks.IDLE) #game.build(45, Buildings.LUMBERCAMP, Tasks.WOOD, Tasks.IDLE) game.build(45, Buildings.LUMBERCAMP, Tasks.WOOD, Tasks.WOOD) game.queue_villager(45, Tasks.WOOD) game.queue_villager(45, Tasks.WOOD) game.build(100, Buildings.HOUSE, [Tasks.SHEEP, Tasks.WOOD], [Tasks.IDLE]*2) #game.assign_villager(Build.Stable(), "food", wait_until_finished=True) ''' game.queue_unit(s1, Scout) ''' # should generate exception #game.build(200, Buildings.FARM, [Tasks.SHEEP], [Tasks.WOOD]) game.build(200, Buildings.MILL, [Tasks.SHEEP], [Tasks.WOOD]) game.build(250, Buildings.FARM, [Tasks.SHEEP, Tasks.WOOD], [Tasks.IDLE]) # Evaluate game game.play_until(800) game.print_status() # should generate exception #game.assign_villager(0, Tasks.SHEEP, Tasks.WOOD)