⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chess.h

📁 包括用VC开发的五子棋程序 以及VRML语言写的虚拟地理环境程序
💻 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 + -