1、【摘要】【摘要】本论文主要阐述以面向对象的程序开发语言 VC+为开发工具,设计一个五 子棋游戏。本系统是个小型游戏,可以单机使用,也可以网络两个人游戏,也可以 和电脑进行游戏。论文首先介绍了开发背景及开发语言的介绍。然后介绍设计该游 戏的框架结构,然后介绍了程序的设计过程,以及程序的相关算法。 关键词关键词: :游戏, 系统 ,图片, VISUAL C+ 目 录 1 引 言 1 1.1 五子棋介绍 1 1.2 开发背景 1 1.3 开发环境及运行环境 1 1.3.1 开发环境 1 1.3.2 运行环境 1 2 软件架构 2 2.1 棋盘类 2 2.2 游戏模式类 3 3 棋盘类CTable 4
2、 3.1 主要成员变量说明 4 3.1.1 网络连接标志 4 3.1.2 棋盘等待标志 4 3.1.3 网络套接字 4 3.1.4 棋盘数据 4 3.1.5 游戏模式指针 5 3.2 主要成员函数说明 5 3.2.1 套接字的回调处理 5 3.2.2 清空棋盘 5 3.2.3 绘制棋子 5 3.2.4 左键消息 6 3.2.5 绘制棋盘 6 3.2.6 对方落子完毕 6 3.2.7 设置游戏模式 6 3.2.8 胜负的判断 7 4 游戏模式类 8 4.1 主要成员变量说明 9 4.1.1 棋盘指针 9 4.1.2 落子步骤 9 4.2 主要成员函数说明 9 4.2.1 悔棋操作 9 4.2.2
3、 初始化操作 9 4.2.3 接收来自对方的消息 10 4.2.4 发送落子消息 10 4.2.5 胜利后的处理 10 5 消息机制 11 5.1 消息机制的架构 11 5.2 各种消息说明 11 5.2.1 落子消息 12 5.2.2 悔棋消息 12 5.2.3 同意悔棋消息 13 5.2.4 拒绝悔棋消息 13 5.2.5 和棋消息 13 5.2.6 同意和棋消息 13 5.2.7 拒绝和棋消息 14 5.2.8 认输消息 14 5.2.9 聊天消息 14 5.2.10 对方信息消息 15 5.2.11 再次开局消息 15 5.2.12 同意再次开局消息 15 6 主要算法 16 6.1
4、判断胜负 16 6.2 人机对弈算法 18 6.2.1 获胜组合 19 6.2.2 落子后处理 19 6.2.5 防守策略 23 6.2.6 选取最佳落子 24 7 几点补充说明 25 8 心得体会 26 参考文献 27 致 谢 28 1 1 引言引言 1.11.1 五子棋介绍五子棋介绍 五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連 珠” ,英译为“Renju” ,英文称之为“Gobang”或“FIR” (Five in a Row 的缩写) , 亦有“连五子” 、 “五子连” 、 “串珠” 、 “五目” 、 “五目碰” 、 “五格”等多种称谓。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五 子棋既有现代休闲的明显特征“短、平、快” ,又有古典哲学的高深学问“阴阳易 理” ;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平 的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场” 的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 1.21.2 开发背景开发背景 当前网络上流传