当前位置:文档之家› 斗地主 JAVA课程设计

斗地主 JAVA课程设计

斗地主  JAVA课程设计
斗地主  JAVA课程设计

JAVA课程设计 五子棋

攀枝花学院课程业设计 五子棋 学生姓名: 学号: 所在院(系):数学院计算机学院专业:信息与计算科学指导教师:讲师 二〇一四年六月 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书 注:任务书由指导教师填写。

摘要 五子棋作为一类棋类竞技运动,现在很流行,很多人把它作为一类开发智力的一种游戏,锻炼人的思维。这次课题主要是完成人机对战,在对战中电脑根据人的思维做出相应的反应,电脑对战中通过深度的搜索,使得自身有更大的胜算,估值计算也是一种方法,可以提高电脑的智能度。分析模块中影响智能的因素也不少,通过节点比较与节点连接后的结果做出估计提高智能,了解递归算法、电脑学习等对此有很大帮助。算法是程序的灵魂,一旦算法正确那么程序将很好。不同的人工智能将会有不同的帮助,多去了解将更能提高智能程度。五子棋是我国的一门文化,这将使得它更受世界人们的欢迎。有助我国文化发展。 关键词五子棋,智能,算法,模块,人机对战

目录 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功能需求 现在研究五子棋的算法已经很多了,比较经典的有递归、二叉树等,这也是很基础的,不同算法要求也不同,要求的能力也不同,每一种算法都是使得程序清晰明白,当五子相连就算胜利。故我们要理解中间过程。 每个代码实现功能也是不同的,有的是判断,有的是理解,有的是更好知道程序,程序在执行时我们可以知道哪里出错。哪里会有问题,修改便利。、在错误中学习,加强自己的基础知识与算法的能力。

五子棋java设计文档

安阳工学院 JA V A课程综合项目报告 项目题目:五子棋 专业班级:12网工专升本 学生姓名:阮营营 学生学号:201203060042 指导教师姓名:许研 2012年12月 安阳工学院计算机学院制

目录 一、系统目标 (2) 二、系统设计思路 (2) 三、系统详细设计 (2) 四、系统实现 (9) 五、系统设计总结 (12) 六、参考文献 (12)

一、系统目标 1、主要是介绍开发五子棋的整个过程,体现流程设计与类设计的基本方法,示范了数组的使用,使用了分支结构与循环结构的流程控制 2、通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应软件、开发系统软件等各项工作。 3、通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。 二、系统设计思路 1、获取棋盘设计一个11╳11围棋棋盘,由两玩家交替进行对战,并可以实现以下功能。五子棋的规则为: 2、下棋方法两人分别执黑白两色棋子。轮流在棋盘上选择一个无子的交叉点落子,无子的交叉点又被称为空点。 3、输赢判断每次下完一颗棋子,就通过程序从横、竖、斜各个方向扫描棋盘,如果在某个方向中,有同种颜色的棋子达到五连子,则此颜色的玩家为赢。如果没有相同颜色的棋子达到五连子,则继续游戏。 三、系统详细设计 3.1程序流程图

3.2创建棋盘类,绘制棋盘的样式 main方法创建了ChessFrame类的一个实例对象,并启动屏幕显示显示该实例对象。 public static void main(String argc[]) { myframe f = new myframe(); } 构造五子棋的主窗体: class myframe extends Frame implements WindowListener { mypanel panel; myframe() { setLayout(null); panel = new mypanel(); add(panel); panel.setBounds(0, 23, 360, 360);

五子棋-Java课程设计

《面向对象程序设计》 课程设计报告 实验时间:2010年10月26日 实验班级:********************** 实验报告总份(片)数: 1 份(片) 实验指导老师:***** ******* 设计小组 湖南省吉首市吉首大学 课程设计报告 简单的游戏——五子棋 小组成员(姓名、学号): **(组长)** ** ** ** ** 一、实验分工

二、开发环境(实验编译以及测试环境) 硬件环境: CPU:Intel 奔腾双核E5200 主频2.5GHz 内存:2G 软件环境: 操作系统:Windows 7 编程环境JDK7.0 开发工具:Eclipse SDK 三、使用环境(用户运行环境) 硬件环境: CPU主频在500MHZ以上,内存在128M以上 软件环境: JAVA运行环境+ Windows XP或Windows 2000 以上操作系统 目录 第一章总体设计.............................................................................................................................. 1 1.1设计的目的.......................................................................................................................... 1 1.2本系统的主要功能.............................................................................................................. 1 1.3系统包含的类及类之间的关系。...................................................................................... 1 1.4 Java源文件及其功能......................................................................................................... 2 1.5 项目构建思路..................................................................................................................... 2第二章模块功能介绍.................................................................................................................. 12 2.1主类Chess...................................................................................................................... 12

JAVA五子棋程序设计课程设计

JAVA五子棋程序设计课程设计

计算机与信息工程系 《JAVA程序实训》设计 五子棋游戏 摘要: 计算机人机对弈作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。 五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,能够让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是中国创造的,研究它能够让更多的外国人了解五子棋,这有助于中国优秀文化的推广。 关键词:人工智能,计算人机对弈,五子棋,算法 , java 1.课程设计介绍 1.1课程设计目的 经过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、NetBeans等开发工具的运用,拓宽常见类库的应用。使我们经过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。本次课程设计每人一组,自行设计并实现共功能模块。

1.2课程设计任务 实现五子棋游戏,要求:使用图形用户界面,实现人人对战,人机对战。能够判断输赢,有“开始”按钮,当出现棋盘后,按此按钮进入对战状态。当有胜利者(垂直、水平、对角线连续5子),显示对话框,提示谁(黑还是白)胜利了。若当棋盘满了还无胜利者,显示平局对话框。有“悔棋”按钮,玩家能够点击悔棋,回到上一步。 1.3课程设计论文编写要求 (1)要按照书稿的规格打印与写课程设计论文; (2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录(源代码)等; (3)课程设计论文装订按学校的统一要求完成。 2.系统设计 2.1需求分析 2.1.1性能需求 一款小游戏的确立是建立在各种各样的需求上面的,这种需求往往来自于玩家的实际需求,其中玩家的实际需求最为重要.面对游戏拥有不同知识和理解层面的玩家,游戏制作人对玩家需求的理解程度,在很大程度上决定了此类游戏开发的成败.因此如何更好地的了解,分析,明确玩家需求,而且能够准确,清晰以文档的形式表示给游戏制作人,保证开发过程按照满足玩家需求为目的正确开发方向进行,是每游戏游戏制作人需要面正确问题。 作为五子棋的设计需要考虑到的最基本的需求莫过于人机对战与人人对战功能的实现,当然还有下棋过程中的下棋悔棋功能以及判断游戏的胜负等方面的要求。当然最好是要考虑到界面的友好性,作为一个娱乐软件,还应

java课程设计人机对弈五子棋

《Java程序设计》课程设计报告 学院:理学院 班级: 姓名: 学号: 指导教师: 课设时间: 2015-06-23 至2015-06-25 二O一五年六月二十五日

课程设计(论文)任务书 理学院信息与计算科学专业2012-2班 一、课程设计(论文)题目:人机对弈五子棋游戏 二、课程设计(论文)工作: 自2015 年6 月23 日起至2015 年6 月25日止 三、课程设计(论文) 地点: 5-205 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握软件开发的基本工作流程; (2)巩固JAVA程序设计课程所学的内容; (3)培养学生的计算机思维能力以及合作的精神; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)研究课程设计任务,并进行系统需求分析; (2)对系统进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码; (4)系统组装,测试、完善系统。 2)创新要求: 在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。3)课程设计论文编写要求

(1)要按照书稿的规格打印誊写课程设计论文 (2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成 4)参考文献: (1)丁振凡,《JAVA语言程序设计》,清华大学出版社 (2)丁振凡,《JAVA语言程序设计实验指导与习题解答》,清华大学出版社 (3)https://www.doczj.com/doc/626209590.html,/ 5)课程设计进度安排 内容天数地点 系统总体设计 1 实验室 软件设计及调试 1 实验室 答辩及撰写报告 1 实验室、图书馆 学生签名: 2015年6月25日 课程设计(论文)评审意见 (1)课程设计过程(20分):优()、良()、中()、一般()、差(); (2)是否完成调试,系统运行效果(30分):优()、良()、中()、一般()、差(); (3)回答问题(20分):优()、良()、中()、一般()、差();(4)课程设计报告(30分):优()、良()、中()、一般()、差(); (5)格式规范性及考勤是否降等级:是()、否() 评阅人:职称:教授 2015年 6月25日

java+五子棋+课程设计报告 (2)

课程设计(论文)任务书 软件学院软件工程+电子商务专业2007-2班 一、课程设计(论文)题目多用户五子棋游戏 二、课程设计(论文)工作自2009年6月15日起至2009年6月19 日止。 三、课程设计(论文) 地点: 创新大楼310 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应用软件、开发系统软件等各项工作。 (2)通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。 2.课程设计的任务及要求 1)基本要求: 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌及角色(执黑、执白、观看)。 (2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);发言及显示区;用户列表区;棋盘绘制区。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。 3)课程设计论文编写要求 (1)要按照书稿的规格打印与写课程设计论文 (2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录(源代码)等 (3)课程设计论文装订按学校的统一要求完成 4)答辩与评分标准:

(1)完成基本算法设计:20分; (2)完成设计过程:40分; (3)完成调试:20分; (4)回答问题:20分。 5)参考文献: [1]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社 [2] 柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社 [3] (美)CayS.Horsttmann Gary Cornell JAVA核心技术卷i:基础知识(原书第七版):机械工业出版社 [4]丁振凡Java 语言实用教程:北京邮电大学出版社 [5]https://www.doczj.com/doc/626209590.html, 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 编码与调试 2.5实验室 撰写论文 1.5图书馆、实验室 学生签名: 2009年6 月15 日 课程设计(论文)评审意见 (1)完成基本算法(20分):优()、良()、中()、一般()、差();(2)完成调试(20分):优()、良()、中()、一般()、差();(3)创新设计(20分):优()、良()、中()、一般()、差();(4)设计分析(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是( )、否() 评阅人:职称: 2009年6月21 日

五子棋JAVA语言课程设计报告

《Java语言程序设计》课程设计报告 学院:信息科学技术学院 班级:软件技术2班 姓名:王更新 学号: 1108900505 指导教师:郭韶升 课设时间: 2014-03-17 至2014-03-26 二O一四年三月二十六日

目录 一、设计要求 (2) 二、设计步骤 (2) 2.1程序流程图 (2) 2.2程序的功能分配 (3) 三、设计正文 (6) 3.1创建棋盘类 (6) 3.2判断输赢功能实现 (9) 3.3测试结果 (9) 四、心得体会 (12) 五、参考文献 (12) 附录(源代码) (13)

一、课程设计要求 设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能: 1.选择落子的先后顺序 2.重置棋盘 3.刷新重新开始 4.退出提示 并且规定退出者判为负,但退出过程中要有提示。以防不小心点错了。 最后判断某一方是否为五子连珠。 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌(执黑、执白)。 (2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负); 二、设计步骤 2.1程序流程图

2.2 程序的功能分配 a. 棋盘的绘制 public void draw_qipan(Graphics G) //画棋盘 15*15{ G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i<16;i++){ G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300); } } b. 添加按钮 Button b1=new Button("开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[3]; Button exist = new Button("退出"); public void init(){ ckbHB[0]=new Checkbox("执白",ckgHB,false); ckbHB[1]=new Checkbox("执黑",ckgHB,false); ckbHB[2]=new Checkbox("观看",ckgHB, false); } c. 鼠标棋子的触发事件 public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()<20 || e.getX()>300 || e.getY()<20 || e.getY()>300) { return; } if (x1%20>10) { x1+=10; } if(y1%20>10) { y1+=10; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1); }

(完整版)Java五子棋毕业设计论文

优秀论文审核通过 未经允许切勿外传 摘要 人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前各发达国家都把人工智能作为重点项目,列入本国的高科技发展计划当中,投入巨大的人力和物力。 计算机人机对弈也是其中之一。作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。 五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。 关键词:人工智能,计算人机对弈,五子棋,算法

Abstract Artificial intelligence is a rapidly developing new, integrated a strong Frontier Science. It is with bio-engineering, space technology listed as 21 in the world along with the three cutting-edge technology. Its central task is to study the past to rely on intelligence to do. AI is currently regarded as the focus of the developed countries included in this car's and material resources. Man-machine chess computer is one of them. As a study of an important branch of intelligence, the computer game to test the level of an important aspect of the manual. Its research in artificial intelligence many important methods and theories to produce a wide range of social impact and academic impact. Man-machine chess game Renju in one of the computer. To study the computer algorithm, we can see the beginning of artificial intelligence shadow, but also brain development. Backgammon invented in China, and the research it can allow more foreigners to understand and -machine Cchess Computer, Man-machine Chess, Algorithm

java课程设计报告_五子棋

目录 第一章软件平台…………………………… 游戏设计思路…………………………第二章小游戏五子棋的开发过程……………… 第一节JAVA基础知识……………………… 第二节启动程序的分析…………………… 第三节游戏设计过程………………………第三章总结…………………………………………第四章参考文献……………………………………第五章附录…………………………………………

游戏设计思路:

第一节 java程序基础知识 本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。本节主要讲述本系统所使用的基础知识。 1、类的基础 <1、类的定义 JAVA中的类实质上是一种对象类型,它是对具有相同属性和相同行为对象的一种抽象。类是java程序中最小的组成单位。 <2、 Java中类定义的格式为: [类修饰符] class 类名 [extends 基类] [implements 接口] {// 成员变量声明(Member variable declaration) // 成员方法声明(Member method declaration)} 其中,class、extends和implements都是Java的关键字。类修饰符、extends和implements是关于修饰符、继承和接口的容。 2、继承 继承性是面向对象程序设计语言的一个重要特征,通过继承可以实现代码的复用。Java语言中,所有的类都是直接或间接的继承 https://www.doczj.com/doc/626209590.html,ng.object类而得到的。被继承的类称为基类或父类,继承而的来的类成为子类。子类继承基类的方法和属性,同时也可以修改基类的方法和属性,并增加自己新的属性和方法。Java不支持多重继承。即一个子类不能拥有两个或以上的父类。 3、包 <1、包的定义 在Java中,把相关的代码组织到一起,称为“包”。包市一种将相关类、接口或其他包组织起来的集合体,目的是为了将包含类代码的文件组织起来,易于查找和使用。 <2、包的语法及导入: Package PackageName; //包的定义 Import java.awt.Color //导入包关键字Import 4、接口 <1、接口的定义 Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用是使得处于不同层次上以至于互不相干的类能够执行相同的操作,引用相同的值,而且在一个类中可以同时实现来自不同接口中的多种方法。 <2、接口的定义和实现 Interface 接口名{//抽象方法} //定义接口 Class 类名 implements 接口名称{// 类体} 实现接口 5、线程

java课程设计报告五子棋

工作原理图 2.2功能的规划 1.建立一个棋盘类,绘制棋盘的样式,在棋盘面板上添加各种按钮及相应胡触发事件。同时注意面板的设计,使面板设计的尽量胡的合理美观。 a.棋盘的绘制 public void draw_qipan(Graphics G) //画棋盘 15*15{ G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black);

for(int i=1;i<16;i++){ G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300); } } b.添加按钮与按钮胡规划 Button b1=new Button("开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[3]; Button exist = new Button("退出"); public void init(){ ckbHB[0]=new Checkbox("执白",ckgHB,false); ckbHB[1]=new Checkbox("执黑",ckgHB,false); ckbHB[2]=new Checkbox("观看",ckgHB, false); } C.鼠标棋子胡相应触发事件 public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()<20 || e.getX()>300 || e.getY()<20 || e.getY()>300) { return; } if (x1%20>10) { x1+=10; } if(y1%20>10) { y1+=10; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1);

java课程设计报告-五子棋

目录 第一章软件开发平台…………………………… 游戏设计思路…………………………第二章小游戏五子棋的开发过程……………… 第一节JA V A基础知识……………………… 第二节启动程序的分析…………………… 第三节游戏设计过程………………………第三章总结…………………………………………第四章参考文献……………………………………第五章附录…………………………………………

游戏设计思路:

第一节java程序基础知识 本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。本节主要讲述本系统所使用的基础知识。 1、类的基础 <1、类的定义 JA V A中的类实质上是一种对象类型,它是对具有相同属性和相同行为对象的一种抽象。类是java程序中最小的组成单位。 <2、Java中类定义的格式为: [类修饰符] class 类名[extends 基类] [implements 接口] {// 成员变量声明(Member variable declaration) // 成员方法声明(Member method declaration)} 其中,class、extends和implements都是Java的关键字。类修饰符、extends和implements 是关于修饰符、继承和接口的内容。 2、继承 继承性是面向对象程序设计语言的一个重要特征,通过继承可以实现代码的复用。Java语言中,所有的类都是直接或间接的继承https://www.doczj.com/doc/626209590.html,ng.object类而得到的。被继承的类称为基类或父类,继承而的来的类成为子类。子类继承基类的方法和属性,同时也可以修改基类的方法和属性,并增加自己新的属性和方法。Java不支持多重继承。即一个子类不能拥有两个或以上的父类。 3、包 <1、包的定义 在Java中,把相关的代码组织到一起,称为“包”。包市一种将相关类、接口或其他包组织起来的集合体,目的是为了将包含类代码的文件组织起来,易于查找和使用。 <2、包的语法及导入: Package PackageName; //包的定义 Import java.awt.Color //导入包关键字Import 4、接口 <1、接口的定义 Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用是使得处于不同层次上以至于互不相干的类能够执行相同的操作,引用相同的值,而且在一个类中可以同时实现来自不同接口中的多种方法。 <2、接口的定义和实现 Interface 接口名{//抽象方法} //定义接口 Class 类名implements 接口名称{// 类体} 实现接口 5、线程 <1、线程的定义

五子棋java课程设计

课程设计(论文)任务书 软件学院学院软件+电子商务专业二班 一、课程设计(论文)题目 java 课程设计《五子棋带聊天系统》 二、课程设计(论文)工作自 2010 年 12 月20 日起至2010 年12 月 24 日止。 三、课程设计(论文) 地点: 软件学院实训中心 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)掌握Java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术; (3)培养学生分析、解决问题的能力; (4)提高学生实践论文撰写能力。 2.课程设计的任务及要求 1)课程设计任务: 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 设计要求:1、五子棋游戏室界面:用户可以选择对弈桌及角色(执黑、执 白、旁观); 2、游戏界面:有开始、退出、悔棋、判断胜负;发言及显示区;用户列 表区;棋盘绘制区; 3、使用Socket来完成服务端和客户端的通信; 4、使用多线程技术支持多用户操作; 5、增强功能:支持用户注册、添加和删除好友、战绩显示、发送消息、 接受消息、多人聊天等功能;使用数据库保存用户信息。 2)创新要求: 以上任务还未完善,悔棋、用户列表区及增强功能板块未完善。今后,参考资料书,实现五子棋网络对战及数据库的利用。 3)课程设计论文编写要求 (1)课程设计任务及要求 (2)设计思路--工作原理、功能规划 (3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,

java课程设计五子棋游戏完整版

五子棋游戏 1.课程设计的目的 计算机技术的不断发展给人们的日常工作和生活都带来了许多益处,从Windows 系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家开始,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能等特点。通过系统的学习,就可以使用它开发出功能齐全,满足特殊需求的应用程序。它对学习者掌握技能,开拓思维都有很大的帮助。 Java语言的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。很多程序开发人员得第一选择。为了将课堂上得知识掌握得更加透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。 通过自己动手,自主得学习,对Java这门课程有更深得了解与认识,并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识,通过本次课设,实现本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组建的使用方法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的基本用法等。 学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西,通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来完成课程设计。 沈阳大学

java五子棋毕业设计(整套)

1 引言 随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。如今网络休闲游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,成为大部分现代人休闲娱乐的首选。 网络五子棋游戏是使用Java语言开发的一款游戏。它使用SOCKET建立连接,多线程处理数据,以及可嵌入网络浏览器的APPLET作为客户端,这些特点使这款游戏无论是服务器还是客户端的实现都相对容易。通过对该软件的编写,还可以巩固学生对以上各种知识的掌握和理解。

2 JAVA语言概述 2.1 JAVA简介 JAVA是Sun Microsystem公司开发的编程语言,是一个简单,面向对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程和动态的语言。 2.1.1 JAVA的基本特点 (1) 简单性 Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。 Java实现了自动的垃圾收集,简化了内存管理的工作。 (2) 面向对象 Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。 (3) 多线程 多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。 (4) 分布性 Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。

java课程设计实验报告---自娱自乐五子棋

Java课程设计说明书 ----五子棋小游戏 院系;管理学院 专业班级:信管151 学生学号:201500705009 学生姓名:雷晓 指导教师:伍良启 日期 2017.01.05 成绩: 指导老师签名: 批改日期:

目录 (1) 课程设计的目的 (3) 课程设计思路 (3) (1)棋盘界面设计 (3) (2)算法设计 (3) (3)五子棋规则 (4) 程序流程图 (4) 程序的设计方法 (5) 程序中主要方法的说明 (5) 程序中类及成员变量的说明 (5) 主要成员变量(属性) (6) java源文件及其功能 (6) 五子棋游戏中的注册监听 (6) 游戏整体设计 (7) (1)五子棋的游戏主界面 (7) (2)机器人部分的设计 (7) (3)五子棋面板的设计 (7) 设计结果与分析 (8) 设计体会 (8) 参考文献 (9) 附录:程序源代码 (10)

课程设计的目的 学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西,通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来完成课程设计。 这次课程设计我主要研究了利用已学的Java知识编辑一个五子棋小游戏。通过此次课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。 课程设计思路 (1)棋盘界面设计 在对棋盘界面设计方面要考虑简洁友好,符合游戏者需求。棋子的设计方面系统中设置了两种棋子颜色,yellow或者red, 游戏者可自行选择。棋子怎样画出来,怎样使棋子按我们所想的方式来绘制出来是设计的主要难题。运行时要求当每次点击鼠标的时候就在点击鼠标的地方画一个棋子,所以得定义一个棋子的类使点击鼠标时系统把棋子绘制出来。这样主界面里的棋子就确定了,而且也确定了几个所需要的类。可以先定义好这些类了。 有了以上的准备就可以把棋盘绘制出来了,下棋时每次在适当位置点击鼠标的时候就在所点击的位置上画出你这个角色的颜色,然后计算机会自动的下棋,计算机自动下棋要有一个控制变量来控制能不能下棋。人可以随意的下子,可是计算机就要计算在哪个位置下子了。这里由计算机下子的算法来确定,人人对战的话就不象单机游戏一样,要计算机来判断人下子之后计算机下那一个地方了,人人对战只要在双方下子的时候判断赢棋情况,当然还要同步的控制两个人下棋的顺序,这样的话就要用到线程了,各自都继承或实现线程类或接口,以便各自能随时单独控制接发消息。 (2)算法设计 对于五子棋游戏,无论人机对战,还是双人对战,都需要判断棋盘上是否存在五子连珠情况,这既是游戏名字的由来,也是游戏结束的标志。判断五子连珠的原理是从横,竖,左斜线,右斜线4条线上判断是否存在5个相连的同类棋子。 对战一方落子后,在该处向8个方向检测连续的同类棋子,如果检测到

《JAVA程序设计》课程设计-五子棋小游戏

《JAVA程序设计》课程设计-五子棋小游戏《JAVA程序设计》 课程设计 题目: 五子棋小游戏 业: 信息与计算科学专 学号: 070930205等姓名: 指导教师: 成绩: 二00九年十二月九日 1.课程设计研究背景及意义 五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。 然则看似很简单的一个小游戏,却对我们这组刚接触JAVA编程的成员来说却是一个不错的挑战,由于水平不限不能做成和电脑进行对战,也对于和其它电脑联机对战的模式不太清楚,故做成一个自己和自己对战的五子棋来考验我们的JAVA 的技术。 2.课程设计题目描述和要求 题目:五子棋小游戏 游戏主要界面如下:

游戏规则: 1,棋子分为黑白两色,采用19×19棋盘。 2,自己和自己对战,白子和黑子交替下,直到白子或黑子一方有五粒子连在一起,最先完成五粒子连在一起的一方为胜利的一方(可以是横、竖、斜、反斜)。 3,允许悔棋,且允许一直悔到棋盘上没有棋子了,悔棋后允许恢复。当悔棋后下子了,则不允许再恢复了。 4,有棋子的地方不允许再下棋子了 5,落子后不能移动或拿掉。 7,胜利后,棋局重新开始。 主要功能: 1,鼠标点棋盘上的任意一点,棋子会落入离这点最近的一个交叉点处。 2,白子和黑子交替下。

3,当下到一半时,可以保存进度。 4,关闭再打开后,可以重新读取进度再接着下。 5,允许悔棋,且允许一直悔到棋盘上没有棋子了。 6,悔棋后允许恢复。当悔棋后下子了,则不允许再恢复了。 7,下棋的过程中,随时可以重新开始。 8,有棋子的地方不允许再下子了。 9,当悔到没有棋子的时候会弹出消息。 10,任意一方胜利后会弹出消息 11,恢复的步数超过了悔棋的步数的时候会弹出消息 12,当任意一方胜利后,棋局重新开始。 13,设有菜单栏,玩家可以点菜单来完成某种操作。 14,当最小化后,能重新还原棋子(棋子不会消失)。 15,点菜单栏的“帮助”—>“关于…”会显示这个课程设计小组的成员。 3.课程设计报告内容 3.1 题目求解的理论依据及算法 1,利用JAVA的Swing组件可以实现游戏主界面的设置和菜单的添加。本次发开的小游戏界面比较简单,就一个面板外加一个菜单栏,在面板中绘图。菜单条中有三项分别为:文件(保存进度、读取进度、退出),编辑(悔棋、恢复、重来),帮助(关于…)。 2,利用JAVA的输入输出类库和文件操作来完成文件的读写来完成保存进度和读取进度的功能。 3,利用JAVA的事件处理来完成鼠标,菜单的事件处理。 4,利用JAVA的类来生成棋子

Java五子棋设计报告

晓庄学院 《JAVA程序设计》 课程设计报告 题目: 五子棋游戏的设计与实现姓名: 野 学号: 12130818 班级: 12软件工程转本2班指导教师: 王峥 完成时间7月1日 成绩: 信息工程学院 2015年6月

目录 1 引言 (1) 1.1 系统开发背景 (2) 1.1 系统开发的目的和意义 (3) 1.2 完成的主要工作 (4) 2 需求分析和总体设计 (4) 2.1 需求分析与设计思路 (5) 2.1.1 关键技术说明 (5) 2.1.2 需求分析 (5) 2.1.3 系统设计方案与思路 (5) 2.1.4 系统目录结构说明 (5) 2.2 系统功能结构 (6) 3 详细设计 (7) 3.1 系统模块实现 (9) 4 系统运行结果 (10) 5 课程设计总结 (12)

五子棋游戏的设计与实现 1引言 五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”善注引三国淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子后代中遍及开来。 1.1系统开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一 部分,越来越多的人使用计算机办公、娱乐等等。在这其中,系统自带的小游戏也占据了 相当重要的地位,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,非常适 合人们在完成工作的时候适当的娱乐要求。这些小游戏大都是以益智和娱乐为目的,不仅 给紧工作的人们以放松,还可以让人们的大脑得到开发。 1.2完成的主要工作 设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能: 1.选择黑子先下 2.设置双方下棋总共时长 3.刷新重新开始 4.悔棋 5.认输 6.退出提示 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌(执黑、执白)。

相关主题
文本预览
相关文档 最新文档