1、 第 1 页 共 29 页 1 1 引言引言 1.11.1 五子棋介绍五子棋介绍 五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連 珠” ,英译为“Renju” ,英文称之为“Gobang”或“FIR” (Five in a Row 的缩写) , 亦有“连五子” 、 “五子连” 、 “串珠” 、 “五目” 、 “五目碰” 、 “五格”等多种称谓。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五 子棋既有现代休闲的明显特征“短、平、快” ,又有古典哲学的高深学问“阴阳易 理” ;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平 的国际性比
2、赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场” 的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 1.21.2 开发背景开发背景 当前网络上流传的五子棋游戏功能并不尽善尽美, 其中最主要的问题就是人机 对战和网络对战不能够一起实现,所以我决定开发 1一个既能够人机对战,又能够 进行网络对战的五子棋系统。 1.31.3 开发环境及运行环境开发环境及运行环境 1.3.1 开发环境 Intel Pentium 4 2.0GHz,512M 内存,80G 硬盘 Microsoft Windows 2000 Professional Microsoft Visual C+
3、 6.0 Microsoft Developer Network for Visual Studio.NET 2003 Visual Assist X 10.1.1301.0 1.3.2 运行环境 Intel Pentium 2 及以上处理器,32M 以上内存,4G 以上硬盘 Microsoft Windows 9X/NT 操作系统 800*600 或以上的屏幕分辨率 第 2 页 共 29 页 2 2 软件架构软件架构 软件的总体架构如图 2.1: 图 2.1 软件架构 考虑到整个的下棋过程(无论对方是电脑抑或其他网络玩家)可以分为:己方 落子、等待对方落子、对方落子、设置己方棋盘数据这一系列
4、过程,因此一人游戏 类、二人游戏类和棋盘类之间的关系参考了 AbstractFactory(抽象工厂)模式,以 实现对两个不同模块进行一般化的控制。 2 2.12.1 棋盘类棋盘类 整个架构的核心部分,类名为 CTable。封装了棋盘的各种可能用到的功能 3, 如保存棋盘数据、初始化、判断胜负等。用户操作主界面,主界面与 CTable 进行 交互来完成对游戏的操作。 2.22.2 游戏模游戏模式类式类 用来管理人机对弈/网络对弈两种游戏模式,类名为 CGame。CGame 是一个抽 一人游戏类 二人游戏类 棋盘类 主界面 用户 游戏类指针 第 3 页 共 29 页 象类,经由它派生出一人游戏类 COneGame 和网络游戏类 CTwoGame,如图 2.2: 图 2.2 CGame 类派生关系 这样,CTable 类就可以通过一个 CGame 类的指针 4,在游戏初始化的时候根 据具体游戏模式的要求实例化 COneGame 或CTwoGame 类的对象;然后利用多态 性 5,使用 CGame 类