📄 chess.h
字号:
#ifndef STUDENT
#define STUDENT
#include <afxtempl.h>
class Step
{
public:
Step():x(0),y(0),side(0),deep(0)
{
}
int x; //x,y表示在数组中的位置
int y;
int side; //表示下子方
int deep;
};
class GameStatus
{
public:
GameStatus()//:deep(0),score(0),is_machine(false)
{
}
int deep;
int score;
bool is_machine;
Step st; //当前走步
int fivearray[15][15];
};
class Chess
{
public:
Chess();
~Chess();
public:
int LeftRight(int i,int j,int side); //从左到右相同棋子数
int UpDown(int i,int j,int side); //从上到下相同棋子数
int LUptoDown(int i,int j,int side); //从左上到右下相同的棋子数
int RUptoDown(int i,int j,int side); //从右上到左下相同的棋子数
int LeftToRight_Status(int i,int j,int array[][15]); //搜索从左到右棋子的状态
int UpToDown_Status(int i,int j,int array[][15]); //搜索从上到下棋子的状态
int LeftUpToRightDown_Status(int i,int j,int array[][15]); //搜索从左上到右下棋子的状态
int LeftDownToRightUp_Status(int i,int j,int array[][15]); //搜索从左下到右上棋子的状态
int SearchValue(int array[][15],Step& st,bool machine); //返回当前状态的分数
void GetCurrentScore(GameStatus& board_situation); //返回当前棋盘的分数
int SearchMaxValue(Step& st,int array[][15]); //返回对仅当前棋盘分析得出的最好走步
int DeepSearch(GameStatus ts,Step& st,bool machine,int value); //递归搜索最好的走步
void ComputerGo();
void Input(int i,int j); //人方下子
void Output(); //输出棋盘
void Regret(); //进行悔棋操作
bool Judge(); //裁判函数
void ComputerGoFirst();
void PersonGo(int& i,int& j);
public:
int FiveArray[15][15]; //棋盘存储数组
CList<Step,Step&>StepList; //存储所走棋步
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -