interface DeskItem { index: number; line: number[][]; isTake: boolean; } export interface GameData2_11 { player: 1 | 2; desk: DeskItem[]; typeSet?: number; } declare enum TakeCount { ONE = 1, TWO = 2 } export interface GameData2_11Action { takeCount: TakeCount; indexArr: number[]; } export default class Example2_11 { gapMap: Map; /** * 通过棋子数量生成桌面 count: [3, 12] */ generateDeskByCount(count: number): { index: number; line: number[][]; isTake: boolean; }[]; isWin(desk: DeskItem[]): boolean; /** * 通过桌面和拿棋子的个数来获取所有操作 actions */ getActionsByDeskAndTakeCount(desk: DeskItem[], takeCount: TakeCount): GameData2_11Action[]; /** * 通过桌面来获取所有的操作 actions */ getActionsByDesk(desk: DeskItem[]): { desk: DeskItem[]; actions: GameData2_11Action[]; }; /** * 获取 action 之后的桌面 */ getDeskAfterAction(originalDesk: DeskItem[], action: number[]): DeskItem[]; getRiddle(chessCount: number): GameData2_11; /** * 判断题目是否合法 * @return 1: 合法 -1: 不合法 */ checkRiddle(dataDesk: GameData2_11): number; /** * 判断操作是否合法 * 1: 合法 * -1: 不合法 */ checkAction(dataDesk: GameData2_11, dataAction: GameData2_11Action): number; /** * 执行操作:-1不合法不可执行 0未结束 1先手获胜 2后手获胜 */ doAction(dataDesk: GameData2_11, dataAction: GameData2_11Action): { flagResult: number; dataResult: GameData2_11; }; /** * 检查桌面状态 */ checkDesk(dataDesk: GameData2_11): number; getActionAuto(dataDesk: GameData2_11): { best: GameData2_11Action; nobest: GameData2_11Action; }; } export {};