资源简介
用C++实现的五子棋人机对战,接口定义得相当清晰,用户可自己优化算法,来加强电脑的能力.
代码片段和文件信息
//*******************************************************************************
// COPYRIGHT NOTES
// ---------------
// This source code is a part of Renju which is an example of .
// You may use compile or redistribute it as part of your application
// for free.
// You cannot redistribute sources without the official agreement of the author.
// If distribution of you application which contents code below was occured place
// e-mail on it is to be appreciated.
// This code can be used WITHOUT ANY WARRANTIES on your own risk.
//
// Spring Wang
// ---------------
// 版权声明
// ---------------
// 本文件所含之代码是《人机博弈程序设计指南》的范例程序五子棋的一部分
// 您可以免费的使用 编译 或者作为您应用程序的一部分。
// 但,您不能在未经作者书面许可的情况下分发此源代码。
// 如果您的应用程序使用了这些代码,在您的应用程序界面上
// 放入 e-mail 是令人欣赏的做法。
// 此代码并不含有任何保证,使用者当自承风险。
//
// 王小春
//*******************************************************************************
// Eveluation.cpp: implementation of the CEveluation class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “renju.h“
#include “Eveluation.h“
#include “math.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
int PosValue[GRID_NUM][GRID_NUM]=
{
{000000000000000}
{011111111111110}
{012222222222210}
{012333333333210}
{012344444443210}
{012345555543210}
{012345666543210}
{012345676543210}
{012345666543210}
{012345555543210}
{012344444443210}
{012333333333210}
{012222222222210}
{011111111111110}
{000000000000000}
};
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CEveluation::CEveluation()
{
}
CEveluation::~CEveluation()
{
}
int count=0;
int CEveluation::Eveluate(BYTE position[][GRID_NUM] BOOL bIsBlackTurn)
{
int i j k;
BYTE nStoneType;
count++;
memset (TypeRecordTOBEANALSIS GRID_COUNT*4*4);
memset (TypeCount0 40*4);
for (i=0; i for (j=0; j {
if (position[i][j] != NOSTONE)
{
if (TypeRecord[i][j][0] == TOBEANALSIS)
AnalysisHorizon(position i j);
if (TypeRecord[i][j][1] == TOBEANALSIS)
AnalysisVertical(position i j);
if (TypeRecord[i][j][2] == TOBEANALSIS)
AnalysisLeft(position i j);
if (TypeRecord[i][j][3] == TOBEANALSIS)
AnalysisRight(position i j);
}
}
for (i=0; i for (j=0; j for (k=0; k<4; k++)
{
nStoneType = position[i][j];
if (nStoneType != NOSTONE)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1531 2002-06-09 02:22 renju\chess.clw
文件 5540 2002-05-20 07:26 renju\chess.dsp.bak
文件 1760 2002-06-09 06:03 renju\chess.plg
文件 4078 2008-09-25 14:21 renju\Debug\BuildLog.htm
文件 20294 2008-09-25 14:21 renju\Debug\Eveluation.obj
文件 15744 2008-09-25 14:21 renju\Debug\Eveluation.sbr
文件 12696 2008-09-25 14:21 renju\Debug\HistoryHeuristic.obj
文件 4541 2008-09-25 14:21 renju\Debug\HistoryHeuristic.sbr
文件 7760 2008-09-25 14:21 renju\Debug\MoveGenerator.obj
文件 4502 2008-09-25 14:21 renju\Debug\MoveGenerator.sbr
文件 18017 2008-09-25 14:21 renju\Debug\NegaScout_TT_HH.obj
文件 8451 2008-09-25 14:21 renju\Debug\NegaScout_TT_HH.sbr
文件 19660 2008-09-25 14:21 renju\Debug\NewGame.obj
文件 3559 2008-09-25 14:21 renju\Debug\NewGame.sbr
文件 98304 2008-09-25 14:21 renju\Debug\renju.exe
文件 16438 2008-09-25 14:21 renju\Debug\renju.obj
文件 3068 2008-09-25 14:21 renju\Debug\renju.res
文件 8554 2008-09-25 14:21 renju\Debug\renju.sbr
文件 43237 2008-09-25 14:21 renju\Debug\renjuDlg.obj
文件 12671 2008-09-25 14:21 renju\Debug\renjuDlg.sbr
文件 10613 2008-09-25 14:21 renju\Debug\SearchEngine.obj
文件 4801 2008-09-25 14:21 renju\Debug\SearchEngine.sbr
文件 281925 2008-09-25 14:21 renju\Debug\StdAfx.obj
文件 2122320 2008-09-25 14:21 renju\Debug\StdAfx.sbr
文件 13829 2008-09-25 14:21 renju\Debug\TranspositionTable.obj
文件 4724 2008-09-25 14:21 renju\Debug\TranspositionTable.sbr
文件 355328 2008-09-25 14:21 renju\Debug\vc70.idb
文件 1028096 2008-09-25 14:21 renju\Debug\vc70.pdb
文件 1611 2002-06-13 06:45 renju\define.h
文件 13883 2002-06-14 04:08 renju\Eveluation.cpp
............此处省略44个文件信息
相关资源
- C++网络对战版五子棋
- C++编写五子棋带AI,mfc,附教程
- 非均匀B样条函数的C++程序实现可实现
- 五子棋大作业C++实现
- 《Visual C++ MFC棋牌类游戏编程》的源代
- C++五子棋程序带禁手功能
- PC游戏编程-人机博弈王小春 编著
- 人工智能小游戏-基于alpha-beta剪枝算法
- 五子棋(C++Builder)
- 五子棋程序C++实现代码
- C++网络五子棋(源码)
- C++网络五子棋
- 五子棋程序的源代码
- C++中国象棋人机对弈的实现
- C++ 源码小游戏 超级玛丽,五子棋
- 五子棋MFC 五子棋MFC 五子棋MFC
- 网络五子棋全功能版
- MFC框架 网络版五子棋 包含游戏大厅
- 五子棋大作业源码 .zip
- MFC五子棋源码以及exe文件
- 使用C++开发的双人五子棋游戏()
- c语言五子棋easyx
- C++实现五子棋项目.zip
- C++五子棋课程设计报告
- C++五子棋课程设计程序完美运行
- 五子棋C++源代码 单机 联机 人机对战
- Visual C++ MFC棋牌类游戏编程五子棋,象
- C++ 五子棋代码的实现包括交换,禁手
- 五子棋在linux命令行模式下C语言实现
- C++实战源码-网络五子棋
评论
共有 条评论