70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
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
|
|
# TODO need efficiency penalties on, e.g., "stale" lumber camp
|
|
|
|
|
|
|
|
# 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_research(45, Research.LOOM)
|
|
|
|
game.queue_villager(45, Tasks.WOOD)
|
|
game.queue_villager(45, Tasks.WOOD)
|
|
|
|
game.play_until(46)
|
|
game.print_status()
|
|
|
|
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)
|
|
'''
|
|
|
|
game.assign_villager(130, Tasks.IDLE, Tasks.WOOD, 2)
|
|
|
|
# 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]*2)
|
|
|
|
# Evaluate game
|
|
game.play_until(800)
|
|
game.print_status()
|
|
|
|
# should generate exception
|
|
#game.assign_villager(0, Tasks.SHEEP, Tasks.WOOD)
|