资源简介
用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++控制台代码
- MFC五子棋游戏
- 无人机飞控+ps2遥控代码
- 五子棋C++(Qt版).zip
- 毕业设计C++五子棋源代码及毕业论文
- C++课程设计五子棋基于Qt4
- C++ 五子棋游戏 图形界面
- 井字棋人机和人人版C语言程序
- 基于C++的五子棋游戏设计
- 基于easyx的人机对战五子棋
- 基于MFC的单机版五子棋含PPT详细答辩
- c++五子棋程序
- C++可视化MFC课设_五子棋带报告
- VC++6.0 双人五子棋游戏
- VC++MFC小游戏开发教程+扫雷+五子棋+俄
- 五子棋人人和人机两种对弈模式
- 网络五子棋双人对弈系统
- MFC可视化五子棋游戏
- C++五子棋,实现人机对战、人人对战
- 浙江大学OOP大程 C++ 五子棋设计 MFC
- 五子棋C++源代码实现禁手
- 基于MFC五子棋包含网络对战
- 五子棋mfc,带ai,附教程
- 五子棋,MFC,VC6.0
- 小型网络游戏vc++——网络五子棋
- MFC 五子棋 VS2013
- MFC实现的五子棋程序,可人机对战
- 基于人工智能的五子棋人机对弈
评论
共有 条评论