資源簡介
用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++的圖書館管理系統
評論
共有 條評論