-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathRun_Enemy.py
29 lines (23 loc) · 1014 Bytes
/
Run_Enemy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
import json
def load_enemy_runner(enemy_path, outdir="out"):
param_group = os.path.basename(os.path.dirname(enemy_path))
enemy_name, _ = os.path.splitext(os.path.basename(enemy_path))
# dum
emodule = getattr(getattr(getattr(__import__(f"{outdir}.enemies.{param_group}.{enemy_name}"), "enemies"), param_group), enemy_name)
param_path = os.path.join(outdir, "enemies", param_group, f"{enemy_name}.json")
with open(param_path, "r") as fn:
parameters = json.load(fn)
return emodule.Runner, parameters
def run_enemy(runner_class, parameters, iterations=50):
runner = runner_class(parameters)
for _ in range(iterations):
# runner._m.reset_logs()
runner.updateAttack()
# runner._m.print_logs()
runner._m.action_cycle_check()
if __name__ == "__main__":
path = "out/enemies/AGITO_ABS/HBS_0020301_03_Volk.py"
runner_class, parameters = load_enemy_runner(path)
print(runner_class)
run_enemy(runner_class, parameters)