在游戏场景中
当玩家打开一个箱子时,它会收到一个物品。该项目是根据战利品表随机生成的,并且每个项目被丢弃的概率是可配置的。
主要要求是 Web 服务是幂等的,并且战利品表可以在运行时进行配置。
该服务如何实施?
我的方法是将带有每个项目概率的战利品表注入到查询字符串中。玩家 ID 和箱子 ID 也可以用作生成随机物品的种子。
例如:
http://[URL]/api/OpenChest?loottable=Sword:10|Shield:10|HealthPotion:30&playerId=1&chestId=1
这样调用就不会产生任何副作用,并且 Web 服务器可以缓存响应,因为它总是会从特定箱子中为该玩家返回相同的物品。
这个对吗?这个服务是幂等的吗?还有其他方法可以实现吗?