创建Bot以播放通过RESTful界面定义的游戏

时间:2013-02-07 23:16:43

标签: java rest artificial-intelligence bots restful-architecture

我想知道如何开始构建一个机器人来玩一个通过RESTful接口定义的棋盘游戏,该游戏具有以下方法:加入游戏,检索游戏状态,检查转弯,检索玩家状态,并采取行动。

我的问题是,我的机器人(用java编写)如何知道它何时轮到它?由于游戏是通过RESTful接口定义的,我的客户端是否应该一遍又一遍地调用“检查转向”REST方法,直到它成为我的机器人轮到玩?像每半秒一样?

我的客户如何优雅地了解游戏的当前状态?

谢谢!

1 个答案:

答案 0 :(得分:1)

万维网使用REST,因此它可以像Web一样扩展和处理冲突。

您的TURN(或任何相应的操作)可以是资源,客户可以经常poll使用e-tagIf-Modified标头state of TURN Resource此资源。这些标头使用非常少的带宽并且非常有效地工作。

除非对手修改If-Modified-Since,否则其他对手将等待(客户端应用)。

如果move(自对手-1移动以来的时间)为正,则表示资源状态随对手-2的move而改变,因此控制权将返回对手-1,反过来修改{{1}},以便控制可以转到对手-2,依此类推。

希望这澄清