baskin-lib
Version:
baskin robbins 31 web game library
41 lines (40 loc) • 1.82 kB
TypeScript
import { defaultLoseRate } from "./modifier";
/**
*
* @param loseVec Lose rate of available choices. Act as a minimization objective.
* - ex. [.1, .2, .7] : lose rate .1 after calling 1 number,
* lose rate .2 after calling 2 number,
* lose rate .7 after calling 3 number.
* Thus, AI will call 3 numbers.
* @param options Optional settings
* @param options.absTol Arithematic error tolerance on comparison.
* @returns Optimal choose rate for each choice.
*/
export declare function getChooseProb(loseVec: number[], { absTol }?: {
absTol?: number;
}): number[];
export declare function getLookupMat(loseMat: number[][], maxCall: number, currentNum: number): number[][];
export declare function getLookupMatRev(loseMat: number[][], maxCall: number, currentNum: number, numEnd: number): number[][];
/**
*
* @param loseMat
* @param maxCall
* @param currentNum
* @param options
* @param options.vecModifier Apply modifier to lose rate vector. For setting kill target, improving player win rate, etc.
* @returns (Modified) Lose rate vector regarding `loseMat`.
*/
export declare function getLoseVec(loseMat: number[][], maxCall: number, currentNum: number, { vecModifier }?: {
vecModifier?: typeof defaultLoseRate | undefined;
}): number[];
export declare function getLoseVecRev(loseMat: number[][], maxCall: number, currentNum: number, numEnd: number, { vecModifier }?: {
vecModifier?: typeof defaultLoseRate | undefined;
}): number[];
/**
*
* @param numPlayer Number of players
* @param maxCount Maximam number of numbers player can call on his turn.
* @param numEnd Final number of the game.
* @returns ((`numEnd` + 1) x (`numPlayer`)) lose probability matrix.
*/
export declare function getFullLoseProbMat(numPlayer: number, maxCall: number, numEnd: number): number[][];