Deal with farms and varying gather rates

This commit is contained in:
Nate Bowman
2026-07-26 23:15:46 -04:00
parent 4a014aeb50
commit 013468d34e
4 changed files with 382 additions and 58 deletions

View File

@@ -11,6 +11,8 @@ from aoe.gameplay import *
# 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
@@ -39,6 +41,9 @@ game.build(45, Buildings.LUMBERCAMP, Tasks.WOOD, Tasks.WOOD)
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)
@@ -46,11 +51,13 @@ game.build(100, Buildings.HOUSE, [Tasks.SHEEP, Tasks.WOOD], [Tasks.IDLE]*2)
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])
game.build(250, Buildings.FARM, [Tasks.SHEEP, Tasks.WOOD], [Tasks.IDLE]*2)
# Evaluate game
game.play_until(800)