from AIBase import * __builtins__['simbase'] = AIBase() __builtins__['ostream'] = Notify.out() __builtins__['run'] = simbase.run __builtins__['taskMgr'] = simbase.taskMgr __builtins__['jobMgr'] = simbase.jobMgr __builtins__['eventMgr'] = simbase.eventMgr __builtins__['messenger'] = simbase.messenger __builtins__['bboard'] = simbase.bboard __builtins__['config'] = simbase.config __builtins__['directNotify'] = directNotify from direct.showbase import Loader simbase.loader = Loader.Loader(simbase) __builtins__['loader'] = simbase.loader directNotify.setDconfigLevels() def inspect(anObject): from direct.tkpanels import Inspector Inspector.inspect(anObject) __builtins__['inspect'] = inspect taskMgr.finalInit()
g * 1 * -0.1 + \ h * 1 * 10 + \ i * 0.05 * 20 + \ j * 0.2 * 50 + \ k * 1 * 20 def evaluate_fortify(map_layout, player_status, enemy_status): # 0.0001 # armies feature is constant # return armies_feature(map_layout, player_status, enemy_status) * 0.6 + \ return continent_safety_feature(map_layout, player_status, enemy_status) * -0.3 + \ continent_threat_feature(map_layout, player_status, enemy_status) * 1 + \ enemy_expected_reinforcements_feature(map_layout, player_status, enemy_status) * -0.3 + \ more_than_one_army_feature(map_layout, player_status, enemy_status) * 0.1 + \ distance_to_frontier_feature(map_layout, player_status, enemy_status) * 50 if __name__ == "__main__": import AIBase b = AIBase.AIBase() print b.game_id time.sleep(5) b._refresh_state() map_layout = b.map_layout player_status = b.get_player_status() enemy_status = b.get_enemy_status() # from utils import wrapper # wrapped = wrapper(evaluate, b.map_layout, b.player_status, b.get_enemy_status()) # import timeit # print "Evaluate (s): " + str(timeit.Timer(wrapped).timeit(number=100)/100)
import AIBase bot = AIBase.AIBase() bot.run()
"""instantiate global ShowBase object""" from AIBase import * # guard against AI files being imported on the client assert game.process != 'client' __builtins__["simbase"] = AIBase() # Make some global aliases for convenience __builtins__["ostream"] = Notify.out() __builtins__["run"] = simbase.run __builtins__["taskMgr"] = simbase.taskMgr __builtins__["jobMgr"] = simbase.jobMgr __builtins__["eventMgr"] = simbase.eventMgr __builtins__["messenger"] = simbase.messenger __builtins__["bboard"] = simbase.bboard __builtins__["config"] = simbase.config __builtins__["directNotify"] = directNotify # we don't use ToontownLoader because it just adds progress bar # functionality to Loader from direct.showbase import Loader simbase.loader = Loader.Loader(simbase) __builtins__["loader"] = simbase.loader # Set direct notify categories now that we have config directNotify.setDconfigLevels()