1、 软件综合实习报告 题目:五子棋人机博弈游戏 目录 一 系统需求分析与总体设计 1. 需求分析 问题描述 数据流程图 2. 总体设计 开发背景 开发语言 开发平台和运行平台 总体功能设计 二 详细设计与系统实现 1. 类和类的方法设计 类的设计 类的方法设计 2. 算法描述 三 系统测试 1. 功能测试 2. 性能测试 四 总结 1. 系统仍存在的不足 2. 结论和体会 一 系统需求分析与总体设计 1. 需求分析 问题描述 题目:五子棋人机博弈游戏 题目要求:实现五子棋游戏的人机博弈。要求:友好的人机图形化界面、方便的操作方 式;自动判断输、赢或平;可选择黑白;可悔棋;可以基于人工智能方面的知
2、识进行设 计,如:启发式搜索、搜索函数的设置、_算法、知识的表示及知识库,推理机等。 五子棋简介:五子棋是起源于中国古代的传统黑白棋种之一。顾名思义,只要连成五子 即可获得胜利。 听上去好像很简单, 但是不用技巧好似很难获胜的, 这其中就有 “活三” , “冲三”等等专业名词,这些我会在后续的程序中进行介绍。五子棋不仅能增强思维能 力, 提高智力, 而且富含哲理, 有助于修身养性。 五子棋既有现代休闲的明显特征 “短、 平、快” ,又有古典哲学的高深学问“阴阳易理” ;它既有简单易学的特性,为人民群众 所喜闻乐见。 通过问题的描述,初步分析可得出此软件应具有以下的功能: 1. 友好的界面,方面
3、的操作方式可以快速开始游戏,功能明确而且界面明朗 2. 自动判断输赢计算机可以根据棋子的状态判断胜负情况 3. 可选择黑白可以先手下棋和后手下棋 4. 可悔棋具有悔棋功能 5. 计算机 AI计算机需要具有一定的 AI,需要 AI 攻守兼备 数据流程图 数据流动很少,主要是在算法内部进行计算,实际进行交互的数 据是没有的。 要求开始游戏 落子,33 禁手 棋子坐标 玩家落子 取最佳位置并落子(若不分胜负) 再来一盘 胜负已分 玩家 计算 机AI: 即算 法 判断 谁是 先手 输赢 判断 是否 再来 一盘 2. 总体设计 开发背景 软件工程综合实习,因为我对算法很有兴趣,就决定通过这个程序学习一下
4、。 语言选择 使用 C#平台在设计人机界面时更人性化,画图工具也更为简洁易用。 开发环境及运行环境 开发环境: 操作系统名称 Microsoft Windows 7 旗舰版 版本 6.1.7600 版本 7600 处理器 AMD Turion(tm) X2 Dual-Core Mobile RM-72,2100 Mhz, 物理内存(RAM) 3.00 GB 开发平台:Microsoft Visual Studio 2008 专业版 - 简体中文 Microsoft Visual C# 2008 运行平台: Intel Pentium 2 及以上处理器,32M 以上内存,4G 以上硬盘 Microsoft Windows 9X/NT 操作系统 800*600 或以上的屏幕分辨率 Net.framework2.0 及以上版本 具体功能设计 主要函数: 1. 画棋子 2. 画棋盘 3. 先手判断 4. 胜负判断 5. 计算机 AI 算