• 大小: 369KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: c++五子棋  

资源简介

用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个文件信息

评论

共有 条评论