1 / 26
文档名称:

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

格式:doc   大小:245KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:119060444 2019/7/2 文件大小:245 KB

下载得到文件列表

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

文档介绍

文档介绍:《JAVA程序设计》课程设计-五子棋小游戏《JAVA程序设计》课程设计题目:五子棋小游戏业:信息与计算科学专学号:070930205等姓名:指导教师:成绩:,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。然则看似很简单的一个小游戏,却对我们这组刚接触JAVA编程的成员来说却是一个不错的挑战,由于水平不限不能做成和电脑进行对战,也对于和其它电脑联机对战的模式不太清楚,故做成一个自己和自己对战的五子棋来考验我们的JAVA的技术。:五子棋小游戏游戏主要界面如下:游戏规则:1,棋子分为黑白两色,采用19×19棋盘。2,自己和自己对战,白子和黑子交替下,直到白子或黑子一方有五粒子连在一起,最先完成五粒子连在一起的一方为胜利的一方(可以是横、竖、斜、反斜)。3,允许悔棋,且允许一直悔到棋盘上没有棋子了,悔棋后允许恢复。当悔棋后下子了,则不允许再恢复了。4,有棋子的地方不允许再下棋子了5,落子后不能移动或拿掉。7,胜利后,棋局重新开始。主要功能:1,鼠标点棋盘上的任意一点,棋子会落入离这点最近的一个交叉点处。2,白子和黑子交替下。3,当下到一半时,可以保存进度。4,关闭再打开后,可以重新读取进度再接着下。5,允许悔棋,且允许一直悔到棋盘上没有棋子了。6,悔棋后允许恢复。当悔棋后下子了,则不允许再恢复了。7,下棋的过程中,随时可以重新开始。8,有棋子的地方不允许再下子了。9,当悔到没有棋子的时候会弹出消息。10,任意一方胜利后会弹出消息11,恢复的步数超过了悔棋的步数的时候会弹出消息12,当任意一方胜利后,棋局重新开始。13,设有菜单栏,玩家可以点菜单来完成某种操作。14,当最小化后,能重新还原棋子(棋子不会消失)。15,点菜单栏的“帮助”—>“关于„”会显示这个课程设计小组的成员。,利用JAVA的Swing组件可以实现游戏主界面的设置和菜单的添加。本次发开的小游戏界面比较简单,就一个面板外加一个菜单栏,在面板中绘图。菜单条中有三项分别为:文件(保存进度、读取进度、退出),编辑(悔棋、恢复、重来),帮助(关于„)。2,利用JAVA的输入输出类库和文件操作来完成文件的读写来完成保存进度和读取进度的功能。3,利用JAVA的事件处理来完成鼠标,菜单的事件处理。4,利用JAVA的类来生成棋子5,利用JAVA的类的继承和多态,自定义Mypanel来继承JPanel,ponent()方法来实现画在面板中图形的重绘。6,利用JAVA的绘图类Graphics在面板中绘制棋盘,当点鼠标的时候绘制棋子,以及完成重绘。7,利用JAVA的动态数组ArrayList来存储棋子的坐标等等信息。8,建立一个19*19的矩阵来存储棋盘上黑白棋子的信息,初始值全为0,例如:当每12行7列下了一个黑子后,hflag[12][7]=1。如果是白子则bflag[12][7]=1下一个棋子便对胜负进行一次判断,当hflag或bflag有五个1连在一起的时候则判hflag和bflag对应的一方胜利。9,建立一个棋子的类,有属性:X:棋子在棋盘上的横坐标、Y:棋子在棋盘上的纵坐标num:这是玩家下的第几个棋子xflag:矩阵的行、yflag:矩阵的列当下一个棋子后产生一个棋子实例,将棋子在棋盘的位置和这是下的第几个子以及第几行和第几列分别赋值给x,y,num,xflag,yflag。10,当num%2==0的时候画白子,当num%2==1的时候画黑子。:1,鼠标事件处理(MouseListener):publicvoidmouseClicked(MouseEvente){intx=();/**棋子在棋盘上的横坐标*/y=()/**棋子在棋盘上的纵坐标*/;intintit=0,jt=0;/**矩阵的行和列*///绝对定位棋子即当点在交叉点附近,棋子会落在交叉点if(y>53){//下子不会落到菜单栏上,菜单和标题共高53个像素(inti=0;i<19;i++){forfor(intj=0;j<19;j++){if([i][j]-13<=x&&([i][j]+13)>=x&&(y-53>=[i][j]-13)&&(y-53<=[i][j]+13)){x=(int)[i][j];y=(int)[i][j];it=i;jt=j;}}}//当绝对定位交叉处没有棋子时画棋子if(bflag[it

最近更新

化妆品项目经理岗位职责 4页

北宋君臣关系研究综述 4页

英语个人自我介绍15篇 10页

英语美文摘抄整理(优秀5篇) 5页

荣誉证书内容(5篇范文)最新5篇 4页

南京地铁车辆维修修程分析和优化 14页

印刷品供货运输及技术服务方案 4页

著名的小暑古诗词 7页

苏教版小学一年级下册科学期末测试卷含答案(.. 9页

司机工作岗位职责内容10篇 11页

苏教版小学二年级下册科学期末测试卷附答案【.. 6页

丹江口水库新增淹没区土壤重金属分布特征及其.. 2页

苏教版小学科学二年级下册期末测试卷有答案 8页

临床白念珠菌耐药的分子机制研究 2页

团队合作的心得体会(精选10篇) 16页

苏教版科学五年级上册期末测试卷【含答案】 8页

苏教版科学六年级上册期末测试卷附参考答案(.. 8页

苏教版科学小学二年级下册期末测试卷含答案(.. 6页

在应急部专家组有限空间作业专家指导服务工作.. 6页

精品刑法知识考试通用题库精品带答案 31页

基于单片机的智能交通信号灯控制系统设计及仿.. 17页

中日能源关系研究 2页

精品刑法知识考试【精品】 30页

中小制造型企业构建核心竞争力方法初探 2页

存款保险宣传工作方案范文(3篇) 12页

精品刑法有关知识考试题库精选 31页

实用文 医学生个人自荐信范文9篇 11页

苏教版科学小学五年级上册期末测试卷含完整答.. 7页

西师大版六年级上册数学第七单元 负数的初步认.. 5页

小区活动策划方案 16页