/** * 他家モデル: 巡目別テンパイ確率・牌種別危険度・平均失点テーブル * 設計ノート Section 4.3 に基づく統計ベースのテーブル */ import type { TileId } from "../core/tile.js"; import type { HandArray } from "../core/hand.js"; /** * 副露なし他家の巡目別テンパイ確率(統計値ベース) * index = 巡目 (1-18) */ export declare const TENPAI_PROB_BY_TURN: number[]; /** * リーチ宣言巡目別の平均失点テーブル(裏ドラ期待含む) * 早いリーチ → 高打点傾向、遅いリーチ → 低打点傾向 * index = リーチ宣言巡目 (1-18) */ export declare const AVG_DEAL_IN_LOSS: number[]; /** * 牌種別危険度(対リーチ) * * @param tile 打牌候補 * @param riichiPlayerDiscards リーチ者の捨て牌(null=情報なし) * @param visibleTiles 場に見えている牌(手牌+河+ドラ表示牌等) * @returns 放銃確率 (0.0 - 1.0) */ export declare function tileDanger(tile: TileId, riichiPlayerDiscards: TileId[] | null, visibleTiles: HandArray): number; /** * 巡目に基づく他家テンパイ確率を返す(他家3人の合計ではなく1人分) */ export declare function getTenpaiProb(turn: number): number; /** * リーチ宣言巡目に基づく平均失点を返す */ export declare function getAvgDealInLoss(riichiTurn: number): number;