如何在battlesnake中迁移到api 1?

2024-10-03 19:30:43 发布

您现在位置:Python中文网/ 问答频道 /正文

Battlesnake说我的Battlesnake使用的是0版的Battlesnake API。 它说这个版本现在已被弃用,将来将不受支持。参考页面告诉我实现HTTP调用来玩游戏

以下是python的原始代码:

    @cherrypy.expose
    @cherrypy.tools.json_out()
    def index(self):
        return {
    "apiversion": "1",
    "author": "your-username",
    "color": "#888888",
    "head": "default",
    "tail": "default"
    } 
    @cherrypy.expose
    @cherrypy.tools.json_in()
    def start(self):
        data = cherrypy.request.json
        print("START")
        return "ok"
    @cherrypy.expose
    @cherrypy.tools.json_in()
    @cherrypy.tools.json_out()
    def move(self):
        data = cherrypy.request.json
        possible_moves = ["up", "down", "left", "right"]
        move = random.choice(possible_moves)
        print(f"MOVE: {move}")
        return {"move": move}
    @cherrypy.expose
    @cherrypy.tools.json_in()
    def end(self):
        data = cherrypy.request.json
        print("END")
        return "ok"

指示上说:

步骤1:实现根端点 旧的POST/ping端点现在已弃用,可以从您的Battlesnake中删除。相反,Battlesnakes必须实现一个新的GET/endpoint,该GET/endpoint将返回关于Battlesnake的元数据。这就是snakes的定制方式,它们将在这里标识支持的API版本。
{ “apiversion”:“1”, “作者”:“我的用户名”, “颜色”:“#8888888”, “头”:“默认值”, “尾部”:“默认值” } 步骤2:更新/启动端点 API版本1的游戏引擎将忽略POST/start端点中的任何自定义数据。您可以删除当前为响应/start请求而发送的任何有效负载。

我无法理解如何进行更改:(


Tags: inself版本apijsondatamovereturn