import api
import math
# 判断玩家是否需要离场
def ShouldLeave():
context = api.get_context()
# 玩家和终点信息
me, exit = context.me, context.exit
# 计算到终点距离
distance = len(api.check.path(me, exit))
# 判断是否需要离场
ret = (me.energy <= distance + 1)
return ret
# 缓存计算数据,每回合一次
def cache():
context = api.get_context()
round = context.round
# 获取玩家的宝石收集情况
data = context.me.item_count.items()
# 忽略宝箱, 只统计宝石信息
data = {k:v for k, v in data if k != 'box'}
# 得到收集数量最少的宝石
least = min(data.values())
# 得到成套宝石中, 还缺少的宝石名称
ret = [k for k, v in data.items() if v == least]
context.set('cc', ret)
print(f'第{round}回合, 待收集的宝石: {ret}')