3

クリケットマネージャーのゲームを作成する必要があります(フットボールマネージャーのように)。

簡単に言えば、各ユーザーチームと戦術に基づいてゲームの結果を決定する必要があります。私の考えは、結果をボールごとに決定することでした。

したがって、ボウラーの属性(強度、スタミナ、スキルなど)に応じて、ボール(いくつかのプロパティ:速度など)がバットマンに送信されます。ボールがヒットすると、ボールを野手の1人に向けて送ります(9人いると仮定して、1から9までの乱数を生成し、その野手を渡します)。再び野手スキルに基づいて、それはボールをキャッチするかどうかになります。

私が見逃しているのは、ボールがキャッチされる前にバッツマンが行うランの数です。ボールの方向を微調整したい。また、プレイヤーの入場順序がゲームの結果にどのように影響するかはわかりません。

良い一致のワークフローを定義するのを手伝ってもらえますか?(私はクリケットにあまり精通しておらず、チュートリアルを読んだり、ゲームを見たり、プレイしたことはありません)。

ありがとうございました。

アップデート:

また、ボールには必要な決定データのほとんどが格納されると考えています。例:

玉。ボウラー=プレーヤー(ボールを投げたボウラー)

玉。バッツマン=プレーヤー(それを打つかもしれないバッツマン)

玉。OverId =このボールがプレイされた場所

玉。Hittable = 4(この数値は、おそらくボウラーの強さ+その他から生成されます。また、ボウラーとバッツマンに依存する可能性があります。

玉。ラン=2ボールを打ったバッツマンが行ったランの数

ball.Isボールがすり減ったとき、または新しいボールのときはいつでも使用されます。IsOutside=ボールがフィールドの外に送られた場合はtrue

=====バッツマンがこのボールを打つことができるかどうかを計算するために使用されます

玉。ThrowHeight

玉。ThrowSpeed

玉。ThrowEffect

玉。ThrowNumberOfBounces

玉。BattedHeight

玉。BattedSpeed

玉。FieldlerDirection = 3(3番目のフィールドラーに向かって)、ランダム

玉。FieldlerDirectionOffset = 2(3番目のフィールドラーの2メートルの範囲内。0は、野手が空中から直接キャッチする可能性があることです)、ランダム

また、ボウラーが切り株を撃つかどうかも考慮する必要があります。これは別のワークフローになります。

Update2:

競争は20/20クリケットです。

4

2 に答える 2

3

これは興味深い問題ですが、これの有用性はわかりません。シュミレーションしてる?

いずれにせよ、私があなたの立場であれば、プレーヤーに対応するすべての関連データがあると仮定して、各ボールに対して次のことを行ったでしょう。

これを 4 つの段階に分けて、それぞれの結果を次のように定義します。

を。ストラテジー

b. 力

c. ランダム性

d. 前の段階の状態。

  1. 守備位置を定義します。ボウリングチームの戦略によると、私は強い野手を重要な位置に配置します。これは、戦略とランダム性を組み合わせることで実現できます。

  2. ボールを定義します。これは、ボウラーのスキル (スピナー/ファスト ボウラー/スイング ボウラー)、試合の状況 (イニング終了時のヨーカーなど)、いくつかのランダムな要因、およびいくつかのルール (1 オーバーにつき 1 人のバウンサーなど) に依存します (こちらを参照)。この段階の結果は、打者の近くで完全に定義されたボールの位置/速度/方向 (基本的には軌道) です。

  3. ストロークを定義します。これは、打者の強さ、試合の状況、ある程度のランダム性、そして最も重要なこととして、ステージ 2 のボールの定義 ([こちら] を参照) に依存します3。これにより、次の軌道/速度が定義されます。

  4. フィールディングを定義します。これは、質問に関して最も重要です。これは、ステージ 1 のフィールド配置、野手の強さ、そして最も重要なのはステージ 3 からのボール軌道の定義に依存します。これらの要因に応じて、キャッチ、または 0,1,2,4,6 ランになる可能性があります。 . いくつかの明白な実装は、ボールの位置が 2 人の野手をほぼ二等分しており、近くに他の野手がいない場合、およびボールの速度が境界に到達するのに十分な速度である場合、4 ランである可能性があります。ここでは、ステージ 4 でボール軌道の物理学を適切に実装する必要があります。これだけでなく、軌道が地面に触れず、近くにプレーヤーがいる場合、ボールがすでに触れている場合、これはキャッチとして定義できます。プレイヤーの近くに到達する前に地面、

最後に、ボールはボウラーに戻ってくるはずです。

ではごきげんよう。

于 2012-07-02T12:51:50.483 に答える
1

一般的に、クリケットの物理的なシミュレーションは良い考えではないと思います。私があなただったら、もっと抽象的なレベルで問題に取り組みます。

ボウリング:

  1. スピード、長さ、ライン。これは、戦術とボウラーの一貫性に依存します。
  2. スイングまたはスピン。これは、ボウリングのテクニック、ピッチ、天候によって異なります。
  3. ミス:ノーボールまたはワイド。これもボウラーの一貫性に依存します。

どのタイプの投球が行われたか (ヨーカー、バウンサー、フル トス、グーグリーなど) がわかったら、打者の視点から同様のゲームをプレイできます。彼は前足と後ろ足のどちらでプレーするのが好きですか? 等々。

クリケットの分析ですでに確立されている概念を使用して、プレーヤーと環境の属性から結果を直接計算する必要があります。

おまけとして、DL を使用して、アルゴリズムが現実的であることを検証できます。

于 2012-07-02T13:25:23.293 に答える