2个回答
2009-03-15
展开全部
VC++五子棋的设计与开发(开题报告+论文+程序)
摘要:五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
本五子棋软件包括单机版和网络版。以VC++程序设计语言为工具,既实现了人机对弈,又实现了网络之间的双人对弈。并提供了背景,播放音乐,“和棋”“悔棋”“认输”的功能,以及通过互联网的消息聊天等功能。
关键词:五子棋 VC++ 人机对弈 网络对弈
目 录
中文摘要(关键词) 3
Abstract(keywords) 3
前言 4
1 语言环境及设计思想概述 5
1.1开发环境 5
1.2 运行环境 5
1.3 设计思想 5
2 程序的主界面与相关的结果的运行 7
2.1人机对战 8
2.2网络对战 10
3 棋盘类——CTable 11
3.1 主要成员变量说明 11
3.1.1 网络连接标志——m_bConnected 11
3.1.2 棋盘等待标志——m_bWait与m_bOldWait 11
3.1.3 网络套接字——m_sock和m_conn 12
3.1.4 棋盘数据——m_data 12
3.1.5 游戏模式指针——m_pGame 12
3.2 主要成员函数说明 12
3.2.1 套接字的回调处理——Accept、Connect、Receive 12
3.2.2 清空棋盘——Clear 12
3.2.3 绘制棋子——Draw 13
3.2.4 左键消息——OnLButtonUp 13
3.2.5 绘制棋盘——OnPaint 13
3.2.6 对方落子完毕——Over 13
3.2.7 设置游戏模式——SetGameMode 13
3.2.8 胜负的判断——Win 14
4 游戏模式类——CGame 14
4.1 主要成员变量说明 15
4.1.1 棋盘指针——m_pTable 15
4.1.2 落子步骤——m_StepList 15
4.2 主要成员函数说明 15
4.2.1 悔棋操作——Back 15
4.2.2 初始化操作——Init 15
4.2.3 接收来自对方的消息——ReceiveMsg 16
4.2.4 发送落子消息——SendStep 16
4.2.5 胜利后的处理——Win 16
5 消息机制 16
5.1 消息机制的架构 16
5.2 各种消息说明 17
5.2.1 落子消息——MSG_PUTSTEP 17
5.2.2 悔棋消息——MSG_BACK 18
5.2.3 同意悔棋消息——MSG_AGREEBACK 18
5.2.4 拒绝悔棋消息——MSG_REFUSEBACK 18
5.2.5 和棋消息——MSG_DRAW 18
5.2.6 同意和棋消息——MSG_AGREEDRAW 19
5.2.7 拒绝和棋消息——MSG_REFUSEDRAW 19
5.2.8 认输消息——MSG_GIVEUP 19
5.2.9 聊天消息——MSG_CHAT 20
5.2.10 对方信息消息——MSG_INFORMATION 20
5.2.11 再次开局消息——MSG_PLAYAGAIN 20
5.2.12 同意再次开局消息——MSG_AGREEAGAIN 20
6 主要算法 20
6.1 判断胜负 20
6.2 人机对弈算法 22
6.2.1 获胜组合 23
6.2.2 落子后处理 23
6.2.3 查找棋盘空位 23
6.2.4 落子打分 24
6.2.5 防守策略 25
6.2.6 选取最佳落子 26
7 几点补充说明 27
8 心得体会 27
参考文献 28
致 谢 29
摘要:五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
本五子棋软件包括单机版和网络版。以VC++程序设计语言为工具,既实现了人机对弈,又实现了网络之间的双人对弈。并提供了背景,播放音乐,“和棋”“悔棋”“认输”的功能,以及通过互联网的消息聊天等功能。
关键词:五子棋 VC++ 人机对弈 网络对弈
目 录
中文摘要(关键词) 3
Abstract(keywords) 3
前言 4
1 语言环境及设计思想概述 5
1.1开发环境 5
1.2 运行环境 5
1.3 设计思想 5
2 程序的主界面与相关的结果的运行 7
2.1人机对战 8
2.2网络对战 10
3 棋盘类——CTable 11
3.1 主要成员变量说明 11
3.1.1 网络连接标志——m_bConnected 11
3.1.2 棋盘等待标志——m_bWait与m_bOldWait 11
3.1.3 网络套接字——m_sock和m_conn 12
3.1.4 棋盘数据——m_data 12
3.1.5 游戏模式指针——m_pGame 12
3.2 主要成员函数说明 12
3.2.1 套接字的回调处理——Accept、Connect、Receive 12
3.2.2 清空棋盘——Clear 12
3.2.3 绘制棋子——Draw 13
3.2.4 左键消息——OnLButtonUp 13
3.2.5 绘制棋盘——OnPaint 13
3.2.6 对方落子完毕——Over 13
3.2.7 设置游戏模式——SetGameMode 13
3.2.8 胜负的判断——Win 14
4 游戏模式类——CGame 14
4.1 主要成员变量说明 15
4.1.1 棋盘指针——m_pTable 15
4.1.2 落子步骤——m_StepList 15
4.2 主要成员函数说明 15
4.2.1 悔棋操作——Back 15
4.2.2 初始化操作——Init 15
4.2.3 接收来自对方的消息——ReceiveMsg 16
4.2.4 发送落子消息——SendStep 16
4.2.5 胜利后的处理——Win 16
5 消息机制 16
5.1 消息机制的架构 16
5.2 各种消息说明 17
5.2.1 落子消息——MSG_PUTSTEP 17
5.2.2 悔棋消息——MSG_BACK 18
5.2.3 同意悔棋消息——MSG_AGREEBACK 18
5.2.4 拒绝悔棋消息——MSG_REFUSEBACK 18
5.2.5 和棋消息——MSG_DRAW 18
5.2.6 同意和棋消息——MSG_AGREEDRAW 19
5.2.7 拒绝和棋消息——MSG_REFUSEDRAW 19
5.2.8 认输消息——MSG_GIVEUP 19
5.2.9 聊天消息——MSG_CHAT 20
5.2.10 对方信息消息——MSG_INFORMATION 20
5.2.11 再次开局消息——MSG_PLAYAGAIN 20
5.2.12 同意再次开局消息——MSG_AGREEAGAIN 20
6 主要算法 20
6.1 判断胜负 20
6.2 人机对弈算法 22
6.2.1 获胜组合 23
6.2.2 落子后处理 23
6.2.3 查找棋盘空位 23
6.2.4 落子打分 24
6.2.5 防守策略 25
6.2.6 选取最佳落子 26
7 几点补充说明 27
8 心得体会 27
参考文献 28
致 谢 29
参考资料: http://tabobo.cn/soft/20/124/2008/139468318333.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询