?? 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 + -