ゲームのシナリオで
プレイヤーがチェストを開くと、アイテムを受け取ります。アイテムは戦利品テーブルに基づいてランダムに生成され、各アイテムがドロップされる確率は設定可能です。
主な要件は、Web サービスがべき等であり、ルート テーブルが実行時に構成可能であることです。
このサービスはどのように実装できますか?
私のアプローチは、各アイテムの確率を含む戦利品テーブルをクエリ文字列に挿入することでした。また、プレイヤー ID とチェスト ID をシードとして使用して、ランダムなアイテムを生成することもできます。
例えば:
http://[URL]/api/OpenChest?loottable=ソード:10|シールド:10|ヘルスポーション:30&playerId=1&chestId=1
この方法では、呼び出しに副作用がなく、Web サーバーは応答をキャッシュできます。これは、特定のチェストからそのプレーヤーに同じアイテムが常に返されるためです。
これは正しいです?このサービスはべき等ですか?これを実装する他の方法はありますか?