closest_item (最近的物品)
- closest_item(items)
将物品按寻路算法测得的距离排序,返回离我最近的物品实例。入参 items 为一个列表, 其中的每个元素是一个物品
Item
的实例。如果某个物品无法到达,则会被认定为无穷远。实际案例
>>> import api >>> # 获取地图信息 >>> api.get_context().maze [['WALL', 'WALL', 'WALL', 'WALL', 'WALL'], ['WALL', 'ROAD', 'ROAD', 'ROAD', 'WALL'], ['WALL', 'ROAD', 'ROAD', 'ROAD', 'WALL'], ['WALL', 'ROAD', 'ROAD', 'ROAD', 'WALL'], ['WALL', 'ROAD', 'WALL', 'ROAD', 'WALL']]
>>> # 获取当前回合自己(企鹅)的信息 >>> api.get_context().me Player( id=0, row=1, col=1, direction='D', energy=100.0, score=0.0, finished=False, item_count={'pink_gem': 0}, order=0 )
>>> # 获取地图中的物品信息 >>> api.get_context().items { 'pink_gem': [Item(row=2, col=2), Item(row=3, col=2)], 'red_gem': [], 'yellow_gem': [], 'purple_gem': [], 'blue_gem': [], 'box': [] }
>>> # 获取名称为 "pink_gem" 的物品信息 >>> context.items["pink_gem"] [Item(row=2, col=2), Item(row=3, col=2)]
>>> # 获取 "pink_gem" 物品中距离你最近的物品 >>> api.check.closest_item(context.items["pink_gem"]) Item(row=2, col=2)
>>> # 如果没有物品,返回 None >>> api.check.closest_item([]) None