/** * @author zengxin * @updateTime 2023/02/07 * @tip 10-4 翻翻翻 * @description * 初始默认值:①棋子 10 颗 * 参数范围:①棋子颗数[3,15] */ export interface GameData10_4 { player: 1 | 2; desk: number[]; typeSet?: number; } declare enum FlipCount { ONE = 1, THREE = 3 } declare enum ChessDirection { OBVERSE = 1, REVERSE = 0 } export interface GameData10_4Action { flipCount: FlipCount; flipIndexArr: number[]; } export default class Example10_4 { isObverse(direction: ChessDirection): boolean; isReverse(direction: ChessDirection): boolean; isWin(desk: number[]): boolean; /** * 通过桌面和翻棋子的个数来获取所有操作 actions */ getActionsByDeskAndFlipCount(desk: number[], flipCount: FlipCount): GameData10_4Action[]; /** * 通过桌面来获取所有的操作 actions */ getActionsByDesk(desk: number[]): { desk: number[]; actions: GameData10_4Action[]; }; getRiddle(chessCount: number): GameData10_4; /** * 判断题目是否合法 * @return 1: 合法 -1: 不合法 */ checkRiddle(dataDesk: GameData10_4): number; /** * 判断操作是否合法 */ checkAction(dataDesk: GameData10_4, dataAction: GameData10_4Action): number; /** * 执行操作:-1不合法不可执行 0未结束 1先手获胜 2后手获胜 */ doAction(dataDesk: GameData10_4, dataAction: GameData10_4Action): { flagResult: number; dataResult: GameData10_4; }; /** * 检查桌面状态 */ checkDesk(dataDesk: GameData10_4): number; getActionAuto(dataDesk: GameData10_4): { best: GameData10_4Action; nobest: GameData10_4Action; }; /** * 获取 action 之后的桌面 */ getDeskAfterAction(originalDesk: number[], action: number[]): number[]; } export {};