ライバル馬の出走登録処理

基本情報

ライバル馬の出走登録が行われるのは

「調教師の最初のコメント表示直後」「競馬場に移動した時」「セーブデータからの再開時」「タイトル画面放置時のデモレース」
のいずれかのみ(たぶん)

 
また、登録が行われるのは週に1度だけで週送り時に登録リストは全てリセットされる。

 

実際の登録処理の流れ

その週のレースIDが大きい方から順番に1レースずつ以下の処理を行う。

(1)登録数の決定
(2)優先登録ライバル馬の登録(オープンのみ)
(3)ランダム登録ライバル馬の登録(オープン、オープン以外どちらでも共通)

 

(1)登録数の決定

  • G1の場合
    レースごとに設定されている(最小登録数~最大登録数)の乱数を取得して登録数とする。

    最小 最大
    阪神3歳牝馬S 13 16
    朝日杯3歳ステークス 11 16
    桜花賞 16 20
    オークス 16 20
    秋華賞 16 20
    NHKマイルカップ 16 20
    皐月賞 16 20
    日本ダービー 16 20
    菊花賞 16 20
    フェブラリーS 14 20
    高松宮杯 13 20
    安田記念 13 20
    マイルチャンピオンシップ 13 20
    スプリンターズS 13 20
    エリザベス女王杯 13 20
    天皇賞(春) 11 20
    天皇賞(秋) 13 20
    宝塚記念 11 16
    ジャパンカップ 15 16
    有馬記念 12 16
    凱旋門賞 15 15
    キングジョージ 8 13
    アーリントンミリオン 8 14

     

  • G1以外の場合
    レースの年齢クラスごとに設定されている登録数ランクによってライバル馬登録数を決定する。

    登録数ランク 距離条件
    3歳新馬 3 1700m
    3歳未勝利 3 1700m
    3歳500万下 2 2000m
    3歳オープン 0 2400m
    4歳未勝利 3 2000m
    4歳500万下 3 2000m
    4歳900万下 2 2400m
    4歳オープン 5 2400m
    4歳以上500万下 4 2200m(ダ2100m)
    4歳以上900万下 5 2200m(ダ2100m)
    4歳以上1600万下 5 2400m
    4歳以上オープン 5 なし
    5歳以上500万下 4 2200m(ダ2100m)
    5歳以上900万下 4 2200m(ダ2100m)
    5歳以上1600万下 4 2400m
    5歳以上オープン 4 2400m

     

上記の登録数ランクを基本として更に以下の補正を行う。

  • 3000m以上のレースなら登録数ランク-1

  • 距離条件以上の距離のレースなら登録数ランク-1

  • 新馬戦、かつ月の2週目のレースなら登録数ランク-1

  • 最後に登録数ランクが負数になっていれば0に変更

     
    その後(0~99)の乱数を取得し、補正後の登録数ランクから以下の確率でライバル馬登録数を決定する。

    登録数ランク 6頭 7頭 8頭 9頭 10頭 11頭 12頭 13頭 14頭 15頭 16頭 17頭 18頭 19頭 20頭
    0 9% 15% 19% 20% 17% 10% 6% 3% 1% 0% 0% 0% 0% 0% 0%
    1 4% 8% 13% 17% 17% 16% 13% 7% 3% 2% 0% 0% 0% 0% 0%
    2 3% 7% 10% 15% 15% 15% 14% 10% 5% 4% 2% 0% 0% 0% 0%
    3 2% 5% 8% 11% 13% 14% 14% 11% 10% 6% 4% 2% 0% 0% 0%
    4 0% 2% 5% 9% 11% 13% 13% 13% 11% 10% 7% 4% 2% 0% 0%
    5 0% 0% 3% 5% 9% 12% 12% 12% 12% 11% 10% 7% 4% 2% 1%

 

(2)優先登録ライバル馬の登録(オープンのみ)
全てのオープンのレースにはレースごとに固有の優先登録馬のリストが設定されており、まずこの中からライバル馬を登録する。
オープンのメンバーはほぼこの優先登録馬で占められると考えて差し支えない。

具体的には、優先登録ライバル馬リスト内全ての馬に対して1頭ずつ以下の処理を行って登録していく。

 

  • 登録済みフラグが1の馬なら登録をスキップ
  • 現在年齢がレースの年齢制限と合致していない馬なら登録をスキップ
     
    ライバル馬の年齢 = 最低年齢 + (固定値 + プレイ年数 + ライバル馬ID)を年齢周期で割った余り
    ※固定値は牧場作成時に(65~90)の乱数を取得することで決定(この値は繁殖牝馬の年齢を決める固定値とはまた別)
     
  • それ以外の馬なら以下の式で登録優先度を計算する 
     
    登録優先度 = 基本登録優先度 + 優先登録ボーナス + (0~63)の乱数
     
    基本登録優先度 = 4歳以上戦で4歳馬の場合のみ100、それ以外は120
    優先登録ボーナス = オープン1着か重賞2着以内の経験があるライバル馬なら64、それ以外は0
    (このボーナス値は牧場作成時または毎年8月1週に全てリセットされ、その後レースの着順結果画面を見るたびに更新される)

 

その後

  • 暫定登録リストに登録済みの馬の数が(1)で決定済みの登録数に達していなければ、そのまま暫定登録リストに新規登録する
  • 登録数に達しているなら暫定登録リスト内の最小登録優先度の馬と今回の馬の登録優先度を比較し、今回の馬の方が値が高ければリスト内の最小登録優先度の馬と入れ替える(同値なら入れ替えなし)

 

以上の流れを優先登録馬リスト全ての馬に対して行ったら、暫定登録リストに登録されている馬の登録済みフラグを全て1とする。
4歳以上戦の4歳馬はここから入れ替わる可能性がまだあるが、そうなったとしてもこの登録済みフラグは解除されない。

 

(3)ランダム登録馬の登録

まず全2966頭のライバル馬を以下のように分類する。

ライバル馬ID ライバル馬の格
0~474 オープン級
475~1011  1600万級
1012~1868 900万級
1869~2824 500万級
2825~2836 未勝利級
2837~2965 海外馬

 

次に、レースの年齢クラスごとに決まっている以下の範囲のライバル馬全てに対してランダム登録判定を行う。

レースの年齢クラス オープン級 1600万級 900万級 500万級 未勝利級
3歳新馬(1、2週目)
3歳新馬(3、4週目) ×
3歳未勝利 × ×
4歳未勝利 × × ×
3歳500万下 × ×
4歳500万下 × × ×
4、5歳以上500万下 × × × ×
4歳900万下 × × ×
4、5歳以上900万下 × × × ×
1600万下 × × × ×
3歳オープン × ×
4歳オープン × × ×
4、5歳以上オープン × × × ×

 

具体的には1頭ずつ以下の処理を行って登録していく。

  • 登録済みフラグが1の馬なら登録をスキップ
  • 現在年齢がレースの年齢制限と合致していない馬なら登録をスキップ
  • 性別、父親(内国産)がレース条件と合致していなければ登録をスキップ
  • 現在クラスがレースのクラスよりも上なら登録をスキップ
    (このゲームではライバル馬にもクラス昇格の概念が存在しており、レースの着順結果画面を見るたびに更新されている。なおこのクラスはあくまでも格下挑戦をさせないための要素でしかなく、除外などの他処理で使われることはない)
     
    ・レース結果とクラスの変化

    レースの種類 1着 2着以下
    新馬戦 500万下クラス 変化なし
    未勝利戦 500万下クラス 未勝利クラス
    500万下 900万下クラス 変化なし
    900万下 1600万下クラス 変化なし
    1600万下 オープンクラス 変化なし
    オープン オープンクラス 変化なし
    重賞 オープンクラス(2着以内) 変化なし(3着以下)

    (補足)
    ・牧場作成時および毎年8月1週に全ライバル馬は新馬クラスにリセットされる。
    ・未勝利クラスになると新馬戦に登録されなくなる。

 

  • ここまでで登録スキップされていなければ、レースのコースとライバル馬の出走傾向タイプから以下の基本登録優先度を取得する。
    レースのコース ダート型 短距離型 バランス型 長距離型
    芝短距離(1000m~1400m) 24 56 40 0
    芝マイル(1500m~1600m) 32 56 48 0
    芝中距離(1700m~2000m) 32 32 56 48
    芝長距離(2200m~3600m) 32 0 48 56
    ダ短距離(1000m~1500m) 56 48 32 0
    ダ長距離(1600m~3600m) 56 32 48 40

 

この基本登録優先度にさらに以下の補正を行う。

  • 主戦騎手の今月のデフォルト滞在先がレースの開催地と不一致なら基本登録優先度半減(小数点以下切り捨て)
  • 3歳戦のみ基本登録優先度半減(小数点以下切り捨て)

 

最終的な登録優先度は以下の値となる。
登録優先度 = 基本登録優先度 + (0~63)の乱数

 
ここから

  • 暫定登録リストに登録済みの馬の数が(1)で決定済みの登録数に達していなければ、そのまま暫定登録リストに新規登録する
  • 登録数に達しているなら暫定登録リスト内の最小登録優先度の馬と今回の馬の登録優先度を比較し、今回の馬の方が値が高ければリスト内の最小登録優先度の馬と入れ替える(同値なら入れ替えなし)

 
以上の流れを前述の範囲のライバル馬全てに対して行ったら、暫定登録リストに登録されている馬の登録済みフラグを全て1としてランダム登録馬の登録が終了となる。

 

(1)~(3)までの処理終了後、暫定登録リストの中身を本登録リストに全てコピーして1レースのライバル馬登録処理が完了する。

 

 

ダビスタ97トップに戻る