资源简介
用c++开发的带AI的五子棋源程序
五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个人机对下的五子棋程序,采用了博弈树的方法,应用了剪枝和最大最小树原理进行搜索发现最好的下子位置。介绍五子棋程序的数据结构、评分规则、胜负判断方法和搜索算法过程。
代码片段和文件信息
// AboutDlg.cpp : implementation file
//
#include “stdafx.h“
#include
#include
#include
#include “resource.h“
#include “HelperAPI.h“
#include “Globalvar.h“
#include “AboutDlg.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog
CAboutDlg::CAboutDlg(CWnd* pParent /*=NULL*/)
: CDialog(::g_bChinese ? IDD_ABOUTDLG1 : IDD_ABOUTDLG pParent)
{
//{{AFX_DATA_INIT(CAboutDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg message handlers
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
HICON hIcon = AfxGetApp()->LoadIcon(IDR_MAINframe);
SetIcon(hIcon TRUE); // Set big icon
SetIcon(hIcon FALSE); // Set small icon
CString str;
// fill memory info
MEMORYSTATUS MemStat;
MemStat.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&MemStat);
// Total Physical mem
str.Format(“%lu KB“ MemStat.dwTotalPhys / 1024L);
SetDlgItemText(IDC_PHYSICAL_MEM str);
// Free Physical mem
str.Format(“%lu KB“ MemStat.dwAvailPhys / 1024L);
SetDlgItemText(IDC_AVAIL_MEM str);
// Free Virtual mem
str.Format(“%lu KB“ MemStat.dwAvailVirtual / 1024L);
SetDlgItemText(IDC_AVAIL_VIRTUAL_MEM str);
// fill CPU info
SYSTEM_INFO SysInfo;
GetSystemInfo(&SysInfo);
switch (SysInfo.dwProcessorType)
{
case PROCESSOR_INTEL_486:
str = “Intel 80486“;
break;
case PROCESSOR_INTEL_PENTIUM:
str = “Intel Pentium“;
break;
default:
str = ““;
break;
}
SetDlgItemText(IDC_CPU str);
// fill OS info
OSVERSIONINFO OsInfo;
OsInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (GetVersionEx(&OsInfo))
{
// platform
switch (OsInfo.dwPlatformId)
{
case VER_PLATFORM_WIN32_WINDOWS:
str = “Windows 95“;
break;
case VER_PLATFORM_WIN32_NT:
str = “Windows NT“;
break;
default:
str = ““;
break;
}
SetDlgItemText(IDC_OS str);
// version and language
char szVer[512];
GetWindowsVersion((LPSTR)szVer);
str.Format(“%ld.%ld %s“ OsInfo.dwMajorVersion
OsInfo.dwMinorVersion szVer);
SetDlgItemText(IDC_VERSION str);
}
// fill disk information
char szWindowsPath[_MAX_PATH];
GetWindowsDirectory(szWindowsPath _MAX_PATH);
ULARGE_INTEGER TotalNumberOfBytes TotalNumberOfFreeBytes;
GetDiskFreeSpaceEx((LPSTR)szWindowsPath
NULL
&TotalNumberOfBytes
&TotalNumber
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2005-03-11 08:05 五子棋源代码\
目录 0 2004-11-14 14:50 五子棋源代码\www.cnzz.cn\
文件 279552 1999-06-26 07:42 五子棋源代码\www.cnzz.cn\Pente.ncb
文件 535 1998-04-17 00:46 五子棋源代码\www.cnzz.cn\Pente.dsw
文件 1494 1998-04-24 12:26 五子棋源代码\www.cnzz.cn\Pente.h
文件 2129 1998-05-29 00:03 五子棋源代码\www.cnzz.cn\Pente.cpp
文件 987 1998-04-17 00:19 五子棋源代码\www.cnzz.cn\StdAfx.h
文件 203 1998-04-17 00:19 五子棋源代码\www.cnzz.cn\StdAfx.cpp
文件 7468 1998-05-28 22:41 五子棋源代码\www.cnzz.cn\resource.h
文件 23430 1998-05-28 22:41 五子棋源代码\www.cnzz.cn\Pente.rc
文件 2877 1998-05-27 19:17 五子棋源代码\www.cnzz.cn\PenteDlg.h
文件 1497 1998-05-27 17:33 五子棋源代码\www.cnzz.cn\SetupDlg.h
文件 1220 1998-04-24 22:05 五子棋源代码\www.cnzz.cn\AboutDlg.h
文件 2126 1998-04-18 23:39 五子棋源代码\www.cnzz.cn\BestDlg.cpp
文件 1706 1998-04-18 23:39 五子棋源代码\www.cnzz.cn\BestDlg.h
文件 201 1998-05-27 17:21 五子棋源代码\www.cnzz.cn\HelperAPI.h
文件 24002 1998-05-28 23:41 五子棋源代码\www.cnzz.cn\Dib.cpp
文件 2794 1998-05-27 12:23 五子棋源代码\www.cnzz.cn\Dib.h
文件 543 1998-05-28 23:45 五子棋源代码\www.cnzz.cn\GlobalVar.h
文件 556 1998-05-28 23:44 五子棋源代码\www.cnzz.cn\GlobalVar0.h
文件 1192 1998-05-28 12:00 五子棋源代码\www.cnzz.cn\HelperAPI.cpp
文件 2934 1998-05-27 17:33 五子棋源代码\www.cnzz.cn\SetupDlg.cpp
文件 3454 1998-05-28 22:53 五子棋源代码\www.cnzz.cn\AboutDlg.cpp
文件 2344 1998-04-18 23:39 五子棋源代码\www.cnzz.cn\RecordDlg.cpp
文件 1417 1998-04-18 23:39 五子棋源代码\www.cnzz.cn\RecordDlg.h
目录 0 1999-08-01 19:40 五子棋源代码\www.cnzz.cn\res\
文件 397 1998-04-17 00:19 五子棋源代码\www.cnzz.cn\res\Pente.rc2
文件 1078 1998-04-18 23:41 五子棋源代码\www.cnzz.cn\res\Pente.ico
文件 326 1998-04-24 12:14 五子棋源代码\www.cnzz.cn\res\HandWhite.cur
文件 123928 1998-04-23 23:13 五子棋源代码\www.cnzz.cn\res\Board.BMP
文件 1782 1998-04-18 22:05 五子棋源代码\www.cnzz.cn\res\MASK.BMP
............此处省略22个文件信息
- 上一篇:学分管理源代码
- 下一篇:基于C++的图书馆管理系统
评论
共有 条评论