1、 I 软件工程设计 专 业: 班 级: 姓 名: 学 号: 指导老师: II 目录 第一章第一章 需求分析需求分析 1 1 1.1 总体分析 1 1.2 初始化 1 1.3 主循环控制模块 1 1.4 玩家下子 1 1.5 盘面分析填写棋型表 2 1.6 对方下子 2 1.7 胜负判断 2 第二章第二章 功能描述功能描述 3 3 2.1 功能模块图 3 2.2 功能说明 3 第三章第三章 系统设计系统设计 4 4 3.1 流程图 4 3.2 流程图说明 5 第四章第四章 运行结果运行结果 6 6 第五章第五章 总结总结 7 7 附录一附录一 源代码源代码 8 8 软件工程设计 1 五子棋游戏
2、第一章 需求分析 1.1 总体分析 软件需求分析是软件开发周期的第一个阶段, 也是关系到软件开发成败的关键一 步。对于任何一个软件而言,需求分析工作都是至关重要的一步。只有通过软件需求 分析,才能把软件的功能和性能由总体的概念性描述转化为具体的规格说明,进而建 立软件开发的基础。实践表明,需求分析工作进行得好坏,在很大程度上决定了软件 开发的成败。 软件需求分析的任务是: 让用户和开发者共同明确将要开发的是一个什么样的软 件。具体而言,就是通过对问题及其环境的理解、分析和综合,建立逻辑模型,完成 新软件的逻辑方案设计。 基于本游戏,首先得为整个棋盘建立一张表格用以记录棋子信息,我们使用一个 1
3、5*15 的二维数组 Table1515(15*15 是五子棋棋盘的大小),数组的每一个元素 对应棋盘上的一个交叉点,用0表示空位、1代表己方的子、2代表对方 的子;这张表也是今后分析的基础。在此之后还要为两个玩家双方各建立一张棋型表 Computer15154和 Player15154,用来存放棋型数据。 1.2 初始化 首先,建立盘面数组 Table1515、对战双方的棋型表 Computer15154 和 Player15154并将它们清零以备使用;然后初始化显示器、键盘、鼠等输入 输出设备并在屏幕上画出棋盘(棋盘可以不显示) 。 1.3 主循环控制模块 控制下棋顺序,当轮到某方下子时,
4、负责将程序转到相应的模块中去,主要担当 一个调度者的角色。 1.4 玩家下子 当轮到玩家下时,您通过键盘或鼠标在棋盘上落子,程序会根据该点的位置,在 Table1515数组的相应地方记录2,以表明该子是玩家下的。 软件工程设计 2 1.5 盘面分析填写棋型表 您在下五子棋时,一定会先根据棋盘上的情况,找出当前最重要的一些点位,如 “活三”、“冲四”等;然后再在其中选择落子点。先来分析己方的棋型,我们从棋 盘左上角出发,向右逐行搜索,当遇到一个空白点时,以它为中心向左挨个查找,如 果遇到己方的子则记录然后继续,如果遇到对方的子、空白点或边界就停止查找。左 边完成后再向右进行同样的操作;最后把左右两边的记录合并起来,得到的数据就是 该点横向上的棋型,然后把棋型的编号填入到 Computerxyn中就行了(x、y 代表坐标,n=0、1、2、3 分别代表横、竖、左斜、右