实时对局选你的对手
加入
9cd2307
23 行 · 982 Bytes 原始文件 永久链接 历史
1"""A bot's own process, in Kaggle's own interface: main.py defines agent(obs, config) (or, as Kaggle allows, its last
2function is the agent) and returns the game's action. The observation and configuration arrive as JSON and are handed
3over as kaggle_environments Structs, so obs.planets and obs["planets"] both work, as on Kaggle.
4 python3 -I referee/kaggle_child.py <main.py>
5"""
6import os, sys
7
8sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'kit'))
9import inspect, random # noqa: E402
10from host import load, serve # noqa: E402
11from kaggle_environments.utils import structify # noqa: E402
12
13random.seed(0) # a bot's own randomness is seeded, so a check gives the same score every time
14agent = load(sys.argv[1], 'agent')
15takes = len(inspect.signature(agent).parameters)
16
17
18def handle(msg):
19 obs, config = structify(msg['obs']), structify(msg['config'])
20 return agent(obs, config) if takes > 1 else agent(obs)
21
22
23serve(handle)