JAVA课程设计 五子棋
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
攀枝花学院课程业设计
五子棋
学生姓名:
学号:
所在院(系):数学院计算机学院专业:信息与计算科学指导教师:讲师
二〇一四年六月
攀枝花学院教务处制
攀枝花学院本科学生课程设计任务书
注:任务书由指导教师填写。
摘要
五子棋作为一类棋类竞技运动,现在很流行,很多人把它作为一类开发智力的一种游戏,锻炼人的思维。这次课题主要是完成人机对战,在对战中电脑根据人的思维做出相应的反应,电脑对战中通过深度的搜索,使得自身有更大的胜算,估值计算也是一种方法,可以提高电脑的智能度。分析模块中影响智能的因素也不少,通过节点比较与节点连接后的结果做出估计提高智能,了解递归算法、电脑学习等对此有很大帮助。算法是程序的灵魂,一旦算法正确那么程序将很好。不同的人工智能将会有不同的帮助,多去了解将更能提高智能程度。五子棋是我国的一门文化,这将使得它更受世界人们的欢迎。有助我国文化发展。
关键词五子棋,智能,算法,模块,人机对战
目录
1 需求分析 (1)
1.1需求来源 (1)
1.2设计目的 (1)
2 功能需求分析 (1)
2.1功能需求 (1)
3 设计与实现 (2)
3.1设计思想 (2)
3.2系统模块结构 (2)
3.3流程图 (2)
4 概要设计 (4)
4.1抽象数据类型定义 (4)
4.2程序包含模块 (4)
4.3模块间关系 (4)
4.4系统功能实现 (4)
5 模块设计 (5)
5.1主界面模块 (5)
5.2选择模块 (5)
5.3判断模块、 (5)
5.4显示模块 (5)
参考文献 (9)
1 需求分析
1.1需求来源
计算机在我们的生活中有越来越重要的角色,我们也越来越离不开计算机,计算机带给我们许多便利,学习好计算机知识已经是必不可少的一项技能了。特别是电子商务、电子邮件等,人工智能现在的热点方向,人们感叹计算机的高效是也感叹自己的聪明,人工智能现在是很好的以方面。
1.2设计目的
该软件为用户提供一个在Windows系统上运行的五子棋游戏小系统。应达到的目的是:建立人机对战的模块,可以机器思考如何应对。已达到提高智力的效果设计出五子棋的游戏界面,创建对象可以在地图中站位,在每一步后计算机会自己运算自己的下一步,任何一方不可以越界,当一方达到五子是判断谁是胜利者,在过程中尽量使得游戏智能程度更高。
2 功能需求分析
2.1功能需求
现在研究五子棋的算法已经很多了,比较经典的有递归、二叉树等,这也是很基础的,不同算法要求也不同,要求的能力也不同,每一种算法都是使得程序清晰明白,当五子相连就算胜利。故我们要理解中间过程。
每个代码实现功能也是不同的,有的是判断,有的是理解,有的是更好知道程序,程序在执行时我们可以知道哪里出错。哪里会有问题,修改便利。、在错误中学习,加强自己的基础知识与算法的能力。
3 设计与实现
3.1设计思想
对五子棋进行模块合理需求分析后,在思考整体布局,首先是如何进行设计与开发的思维,在此基础上用图表画出大体的框架图,在进行合理的模块划分,并用框架图画出,在分模块实现。
总体思维:首先是整体的框架地图,在然后是游戏上的功能键设置,功能选项设计,在游戏开始后棋手与电脑的对战,在胜利的时候做出判断(即五子相连时可以有结束提示);关键是电脑部分要尽量智能,保证游戏价值。
3.2系统模块结构
系统模块结构:大概分为界面模块、功能模块、判断模块、主要也就是判断模块,在棋手或者电脑达到五子时给出正确的结果,及在开始前就要有功能选择,保证在功能选择部分设计。大体模块如下图。
3.3流程图
4 概要设计
4.1抽象数据类型定义
(1)对界面设计,可以选择界面的大小。
public ChessFrame() {
界面的窗口设计}
(2)主要的框架设计和参数
public JMenu makeMenu(Object parent, Object items[], Object target){ }
(3)判断分析
public boolean judgeSuccess(int x,int y,boolean isodd){
是否五子相连
}
4.2程序包含模块
界面模块public ChessFrame()
{}界面窗口的大小选择,显示界面。
地图范围模块
public void MapSize(int w,int h){
限制游戏者的游戏范围}
结束模块
public boolean judgeSuccess(int x,int y,boolean isodd){
是否五子相连}
4.3模块间关系
4.4系统功能实现
要实现五子棋游戏关键是地图设计与功能设计,选择地图与谁先开始是一个关键,先要进行选择,进行后,要判断谁先达到五子,保证谁胜利。
5 模块设计
5.1主界面模块
该模块主要是进行显示地图大小,限制地图的长与宽,保证游戏者的棋子不会超过范围,可以正常的进行游戏。
5.2选择模块
主要进行选择功能,选择地图的大小,游戏者谁先进行游戏。
5.3判断模块、
主要是判断谁先达到五子,判定达到五子的为胜利,在判断的过程中每一步都进行判断,一直到谁最先到五子相连,后一步都不可以。
5.4显示模块
就是界面显示的一部分,用于显示结果。