文件名称:使用MFC做的一个五子棋游戏
文件大小:20.85MB
文件格式:RAR
更新时间:2015-03-26 11:13:13
MFC 五子棋 人机对战 联网对战
CGameCore类是游戏的核心,相当于CPU,所有操作都经由它处理,包含了电脑下棋的AI算法, CGoBangDlg类是游戏的平台,用于绘图,响应各种消息操作 CChess类是棋子类,定义棋子的信息 CPlayer类是玩家类,定义玩家的信息 CSetupDlg类是网络设置对话框类,当联机时用于设置网络 CConnect类是网络连接类,当联机时用于建立连接,发送和接收消息 人机对战算法简介: 电脑下棋的思路是给棋盘的每一个空棋位分别按电脑在此下子和用户在此下子,两种情况进行评分,得到两张分数表,对比,选出分数最高的棋位作为电脑下棋的位置 CGameCore类定义了一个三维数组int m_ScoreBoard[2][15][15]来记录两张分数表,用void CountScore(int x,int y,int type)函数对一个空棋位位评分,而它的实现依赖于int GetNum(int x,int y,int type,int i,int j)函数。 评分规则如下: 连五时,电脑和用户分数都为100000; 死四时,都为10; 冲四时,电脑为30000,用户为2000; 活四时,都为500000; 死三时,都为50; 冲三时,电脑为5000,用户为500; 活三时,电脑为25000,用户为1000; 连二时,电脑为2000,用户为250; 只有一(即附近都没棋)时,都为200; 风格设定为通过不断连三和连四来取胜,只有当对手下子成连五,活四,双活三时才优先阻挡
【文件预览】:
Gobang
----ipch()
--------gobang-a8adfbd8()
----Gobang()
--------config.ini(48B)
--------Gobang.vcxproj.user(143B)
--------resource.h(3KB)
--------SetupDlg.cpp(2KB)
--------Chess.cpp(106B)
--------stdafx.h(2KB)
--------Gobang.rc(13KB)
--------Gobang.vcxproj.filters(3KB)
--------targetver.h(234B)
--------GameCore.cpp(7KB)
--------Player.cpp(111B)
--------Gobang.vcxproj(6KB)
--------Debug()
--------stdafx.cpp(139B)
--------ReadMe.txt(3KB)
--------ConnectData.h(369B)
--------Gobang.h(442B)
--------Connect.cpp(1KB)
--------Chess.h(212B)
--------GobangDlg.h(2KB)
--------Gobang.aps(734KB)
--------SetupDlg.h(782B)
--------Release()
--------res()
--------GobangDlg.cpp(12KB)
--------Gobang.cpp(2KB)
--------GameCore.h(1KB)
--------Player.h(194B)
--------Connect.h(405B)
----Gobang.suo(14KB)
----Debug()
--------Gobang.pdb(4.51MB)
--------Gobang.exe(786KB)
----Gobang.sln(885B)