五子棋游戏的设计与实现
开题报告
班级(学号) 姓名
指导教师
一、综述
(本课题研究的意义、研究的现状及已有成果)
毕业设计不仅是一个人大学四年以来学习的总结,同时也是我自己综合运用所学解决实际问题的一次锻炼。五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。它作为一个棋类竞技运动,在民间十分流行。它不仅能增强人的思维能力,提高智力,而且富含哲理,有助于修身养性。正因为这样五子棋越来越受到大众的喜爱,在20xx年,国家体育总局批准中国棋院试办全国性五子棋比赛。20xx年8月2-4日,中国棋院举办了首届全国五子棋个人邀请赛,此后每年举办一次。20xx年2月,国家体育总局对五子棋正式立项,作为围棋下的一个二级项目。全国各地相继成立了新的五子棋俱乐部。20xx年11月,首届全国智力运动会将五子棋作为正式比赛项目。更为可喜的是随着近几年来计算机和互联网技术的发展网络上也出现了不少五子棋游戏软件,更加地满足了人们对五子棋的喜爱和五子棋的传播。
二、研究内容
(研究方向,研究内容、系统功能)
本人这次所做的是一个五子棋游戏的设计与实现。现在的五子棋游戏软件基本上可以分为两类:一类是网络五子棋游戏软件,另一类是单机版五子棋游戏软件。为了满足人群的需求,本人设计了这款单机版的五子棋游戏软件,可以供人们闲暇时间随时随地地进行娱乐提高自己的五子棋水平,实用性强。本系统在Windows环境下完成一个简易五子棋游戏的设计。游戏的行棋顺序:黑先、白后,从天元开始相互顺序落子。当棋盘上有三个子时(两黑一白),如果此时白方觉得开局不利于自已可以提出交换,黑方无条件接受!也可以不交换,主动权在白方!然后继续下棋,任一方先在棋盘上形成横向、竖向、斜向的连续的相同颜色的五个(含五个以上)棋子的一方为胜。该系统所实现的功能主要有三大功能:游戏选项、游戏设置、帮助。
三、实现方法及预期目标
(包括实施的初步方案、重点、难点及环境)
利用开发工具eclipse的JAVA编辑环境实现一个五子棋游戏,在windows平台上可以运行显示出来。本五子棋游戏主要解决人机博弈中机器的“思考”问题,针对对方的每一步棋,要求机器在尽量短的时间找出一部相对比较合理的对策,最大限度地置对方于死地。该系统重点、难点有六大模块:搜索核心、局面估值、着法生成、初始化、界面绘制、控制模块。其中对于这六个模块,前三个模块构成整个博弈程序的大脑,决定了程序的棋力高低。
搜索核心:该模块主要是搜索当前局面的最佳应对着法,包含一个搜索引擎,该引擎调用各种搜索函数实现搜索功能,使用最基本的极大极小值搜索算法。
局面估值:该模块负责盘面价值的评估。
着法生成:生成当前局面下,搜索引擎进行递归搜索时所要计算的着法(即哪几步是要进行计算的)。
初始化:初始化模块的主要功能有:
(1) 初始化各个公共数据变量
(2) 数据预处理和预计算
界面绘制:界面绘制模块负责棋盘,棋子的绘制以及显示一些相关信息。
控制模块:负责游戏流程的控制,以及胜负判断。
硬件:PC机
软件:1、Windows操作系统;
Windows操作系统是一款由美国微软公司开发的窗口化操作系统。采用了GUI图形化操作模式,比起从前的指令操作系统如DOS更为人性化。Windows操作系统是目前世界上使用最广泛的操作系统。所以该游戏能够在大部分的电脑上运行,适合大部分人娱乐、学习。
2、集成开发环境:Eclipse或其他;
Eclipse简介:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
3、开发语言:java或其他;
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。鉴于目前出现的五子棋游戏多数是用C/C++开发的,本人决定用Java作为主要语言开发这个游戏。
四、对进度的具体安排
第 1-2 周 调研、构思初步设计方案、工具环境选择、准备开题报告
第 3 周 工具软件下载、安装,周末前提交开题报告最终稿
第 4 周 做进一步的需求分析,搭建开发环境,熟悉开发工具,构思总体设计的 框架,准备前期的开 题报告和任务书检查
第 5 周 梳理设计中的关键步骤并给出主要技术难点初步的解决思路,准备系统 的详细设计
第 6 周 系统详细设计阶段,编码开始
第 7 周 编码
第 8 周 子模块编码与单元调试
第 9-10 周 子模块编码及单元调试,准备学校安排的中期检查
第 11 周 详细设计阶段,完成各子模块的编码
第 12 周 完成系统的详细设计和调试,对各子模块在单元调试的基础上进行总体 调试
第 13 周 撰写毕设论文,周末前提交毕设论文初稿,对系统做完善性修改
第 14 周 指导教师审阅论文、验收成果,根据指导教师意见修改论文并对系统做 最终的完善性修改。周末前提交论文最终稿(包括电子版)和软件成果 第 15 周 评阅教师审阅论文、验收成果,答辩准备开始
第 16 周 准备答辩及答辩
五、参考文献
[1] 朱福喜. Java语言基础教程[M]. 北京:清华大学出版社,20xx年4月
[2] (美)卡拉诺(Carranu). 数据抽象和问题求解:Java [M].北京:清华大学出版社, 20xx年5月
[3] (美)哈伯. Java 5游戏编程[M]. 北京:机械工业出版社,20xx年1月
[4] 贾蓉生等. Java 典型应用彻查1000例[M]. 北京:科学出版社,20xx年7月
[5] 聂庆亮. Java应用开发指南[M]. 北京:清华大学出版社,20xx年1月
指导教师:(签署意见并签字) 年 月
督导教师:(签署意见并签字) 年 月
领导小组审查意见:
审查人签字: 年 月
日 日 日
第二篇:五子棋的设计与开发开题报告
学校代码:
学 号:
HENAN INSTITUTE OF ENGINEERING
毕业设计(论文)
题 目 五子棋游戏的
_______设计与开发_______
学生姓名
专业班级
学 号
系 (部) 计算机科学与工程系
指导教师(职称)
完成时间 20## 年 5月 20 日
河南工程学院毕业设计(论文)原创性声明
本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。
论文作者签名:
年 月 日
开题报告
课题类型:(1)A—工程设计;B—技术开发;C—软件工程;D—理论研究;
(2)X——真实课题;Y——模拟课题;Z—虚拟课题