C# で現在の Random シードを取得するにはどうすればよいでしょうか? 質問する

C# で現在の Random シードを取得するにはどうすればよいでしょうか? 質問する

私のゲームでは、ランダムな値を使用して、プレイヤーがチェストから得る報酬を選択します。問題は、クイック保存とクイックロードが可能であるため、プレイヤーが望むものを手に入れるまで、再ロードしてランダム化を繰り返すことができるということです。オブジェクトの現在のシード値を取得しRandom、ロード時に同じポイントに戻ってランダム化を悪用できないようにする方法はありますか?

ベストアンサー1

これは不可能です。

Random代わりに、バイナリ シリアル化を使用してインスタンスをシリアル化できます。
Randomであり[Serializable]、シードと内部状態は保持されます。

ただし、ランダム シードを保存すると、プレイヤーは将来を予測できるようになり、戦闘中に保存できるようにする場合に非常に役立ちます。

また、ユーザーは引き続き保存し、チェストを開いてロードし、乱数を生成するアクションを実行して、チェストから別のアイテムを取得できることにも注意してください。

おすすめ記事