-1

攻撃ターンが 20 のターン ベースのゲームがあり、プレイヤーの攻撃速度によって攻撃の頻度が決まるとします。ある人の攻撃速度が 5 で、別の人の攻撃速度がスピード8? (これらはテスト値であり、使用する値はさまざまです。20 回の攻撃ターンが上限になりますが、各プレイヤーは自分のスキル ポイントを 10 の値まで使用して、自分の攻撃速度に投資することができます)

私は約 2 年間 C でプログラミングしており、現在 Obj-C で遊んでいて、最初のインディ ゲームを作成しています。アドバイスや知識があれば非常に役立ちます。

4

3 に答える 3

0

この数学の問題は、いつ誰の番かを教えてくれます -

例: 11 回の攻撃があります。あなたは 8 回攻撃し、敵は 3 回攻撃します。均等に分散され、一貫して反復可能な攻撃シーケンスを決定します。

この場合: 1. プレイヤー 1 の攻撃 2. プレイヤー 1 の攻撃 3. プレイヤー 2 の攻撃 4. プレイヤー 1 の攻撃 5. プレイヤー 1 の攻撃 6. プレイヤー 1 の攻撃 7. プレイヤー 2 の攻撃 8. プレイヤー 1 の攻撃 9. プレイヤー 1 の攻撃 10 . プレーヤー 1 の攻撃 11. プレーヤー 2 の攻撃 (これらの 11 の手順を必要なだけ繰り返します)

20 の壁にぶつかるまでは、最初は除算で解決するのが最善だと思っていたので、

除算によって攻撃シーケンスを作成し、それを配列として保存し、人のターンを決定する必要があるたびに配列にインデックスを付ける代わりに、プログラムで再現でき、より適切に機能する減算 bc を選択します。

これを行うための私のコードは次のとおりです。

于 2013-08-26T01:45:40.443 に答える
0

問題を正しく理解している場合:

最初に攻撃するのは でmin(a,b)abは最初の「攻撃速度」である 5 と 8 です。次に、両方の最小値を引き、結果が 0 以下の場合は、攻撃者の元の値を再度追加します。最初の攻撃の後、a=5もう一度、しかし今b=8-5=3. 次に、b の番です。

a = 5 - 8 = -3
b = 3 - 8 = -5

どちらも 0 より小さいので、5 と 8 を再度追加します。

a = 2
b = 3

攻撃:

a = -3 -> a = 2
b = -2 -> b = 6

したがって、a は別のヒットを記録することができます。などなど、引き分けになるまで、いずれかの方法でそれに遭遇することになります。「同点」の結果を返すか、最後の攻撃者または最後の防御者に「勝つ」ようにさせることができます。両方のプレイヤーが同じ「攻撃」値を持っている場合はどうなるでしょうか。

于 2013-08-22T20:08:34.600 に答える