0

シーンにランダムにスプライトを追加するゲームを作成しています。ランダム性は重み付けされており、提供されたパラメーターに基づいて重みを変更して、他のスプライトよりも多く追加するスプライトを変更できます。

現在、ゲームはラウンドベースです。そのため、ラウンド 1 では、スプライトの重みをユーザーに多く表示する必要があります。これを重みで設定し、他のスプライトの重みを低く設定して、最初の段階で簡単にできるようにします。

2 番目のラウンドでは、ウェイトを上げて、シーンに不要なスプライトをさらに混ぜて少し難しくしたいと思います。

問題は、ユーザーにできるだけ多くのラウンドを実行してもらいたいので、これをハードコーディングしたくないことです。では、必要なことを行うためにハードコーディングされていない場合、どうすればこれを作成できますか?

これが理にかなっていることを願っています

編集:

基本的に何が起こるかというと、スプライトが他の 3 つのスプライトよりもシーンに追加される確率を制御する wiehgt メソッドがあります。

updateWeights(int itemNumber, double weight);

これは、スプライト itemNumber を指定してから使用したい重みを指定して、各スプライトの重みを更新するために使用する方法です。

私がやりたいことは、ユーザーが要件に基づいてゲームを進めるにつれて、重みを異なる重みに変更することでゲームが徐々に難しくなることです。問題は、他のスプライトよりもシーンに表示する必要があるスプライトであり、常に他のスプライトよりも高くする必要があります (これが、ランダムジェネレーターを使用したくない理由です)。私が何を意味するか分かりますか?誰かがこれに対するより簡単なロジックを見つけたら、遠慮なく提案してください。

4

1 に答える 1

0

重みを決定するためのラウンド数の関数を見つけます。

たとえば、バランスweight(n) = 1/(1 + e^(-n + b))を変えることができる を試してみてください。bこれは常に 0 から 1 の間の数値を返します。

于 2012-07-17T03:21:07.687 に答える