Skip to content

レース結果・的中判定

概要

レース結果を取得し、予想買い目との照合で的中/不的中を自動判定する。

的中判定ロジック

買い目判定条件
単勝 (win)1着馬番が予想と一致
複勝 (place)予想馬番が1〜3着に含まれる
馬連 (quinella)1-2着の組み合わせが一致(順不同)
ワイド (wide)選択2頭が共に1〜3着に含まれる
馬単 (exacta)1-2着の順番まで一致
三連複 (trio)1-3着の組み合わせが一致(順不同)
三連単 (trifecta)1-3着の順番まで一致

主要関数

関数説明
fetchRaceResult(url)レース結果ページを取得・パース
checkHit(bet, order)買い目の的中を判定
judgeBet(bet, result)的中判定+払戻金額計算
judgeAllBets(bets, result)全買い目を一括判定

払戻金額計算

typescript
// PayoutInfoのpayoutは100円あたりの払戻額
payout = Math.floor((payoutInfo.payout / 100) * bet.amount)
profit = payout - bet.amount

JudgmentResult

typescript
interface JudgmentResult {
  bet: Bet
  isHit: boolean
  payout: number   // 払戻金額(0 = ハズレ)
  profit: number   // 損益
}