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

📄 five.h

📁 EVC 环境下的五子棋, 用模块器5.0可以跑一下!
💻 H
字号:
/**
 *
 * 文件名: Five.h
 * 描述:   五子棋游戏类申明
 * 作者:   魏罡
 * 时间:   2005.3.27 - 2005.10.15
 *
 * file name:   Five.h
 * description: 
 * author:      WEI-Gang
 * time:        2005.3.27 - 2005.10.15
 *
 */

#include "Struct.h"
#include "KeyChessman.h"
#include "Shift.h"
#include "Tree.h"

#ifndef GOBANG_GAME_CLASS_CFIVE
#define GOBANG_GAME_CLASS_CFIVE "This program is programed by WEI-Gang "


class CFive{
	//五子棋游戏主类,用于进行一个游戏。包括游戏的初始化,行棋,自动获取下一步棋等操作。
	//The main class for gobang. Used to play a game.
public:
	CFive();
	int  Play(int x,int y);//行棋,正常返回0,得胜返回1,黑子禁手返回-1,和棋返回4。
	void AutoPlay(int &x,int &y);//自动获取下一着棋
	char GetMap(int x,int y){return map[x][y];}//获取棋盘x,y处状态
	void Clear();//清除所有行棋(初始化棋盘)
	void Back();//悔棋
	void EndGame(){times = -100;}//强行结束游戏
	int  GetTimes(){return times;}//获取当前第几手行棋
	~CFive();
//	int GetV(int x,int y){return bd[x][y].val;}
protected:
	int  FirstPlay(int x,int y);//第一手行棋
	int  SecondPlay(int x,int y);//第二手行棋
	int  ThirdPlay(int x,int y);//第三手行棋
	int  OtherPlay(int x,int y);//一二三手后的行棋

	void FirstAutoPlay(int &x,int &y);//自动获取第一手行棋
	void SecondAutoPlay(int &x,int &y);//自动获取第二手行棋
	void ThirdAutoPlay(int &x,int &y);//自动获取第三手行棋
	void OtherAutoPlay(int &x,int &y);//自动获取一二三手后的行棋

	int  BDPlay(int x,int y,char col);//内部棋盘行棋

	void ChangeValue(int x,int y,char col,int v);//col色棋子(x,y)处落子后,权值变更,v为增减开关
	int  FindBlank(int &x,int &y,int dx,int dy,char col);//寻找col颜色(x,y)处dx,dy方向的空白,成功返回1,失败返回0
	int  CountValue(int result,char col);//根据传入结果和棋子颜色,计算出增加的权值
	int  Count(int x,int y,char col);//计算col颜色(x,y)处落子后连子情况,返回值:长连11,五10,活四9,四四8,四三7,三三6,四4,活三3,其他0
	int  Count(int x,int y,int dx,int dy,char col);//计算col颜色(x,y)处落子后dx,dy方向连子情况,返回值:长连6,五5,双四4,活四3,四2,活三1,其他0
protected:
	int times;//行棋次数
	CTree * tree;//经验数:用于记录以前游戏结果
	CShift * shift;//转换类:用于转换用户棋盘与内部棋盘间的坐标
	CKeyChessman keychessmans;//关键棋子类,用于存放下一手行棋时的关键棋子。
	char map[15][15];//用户棋盘
	board bd[15][15];//内部棋盘
	int tempx,tempy;//记录第二手的棋子位置

};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -