java五子棋单机版

java五子棋单机版

ID:10979861

大小:35.50 KB

页数:3页

时间:2018-07-09

java五子棋单机版_第1页
java五子棋单机版_第2页
java五子棋单机版_第3页
资源描述:

《java五子棋单机版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、实验目的(1)使用Java编写五子棋程序(2)掌握编写过程的一些类和类成员的使用,并且了解五子棋制作过程的一些步骤和了解一些算法。二、实验环境在电子楼2楼,装有MyEclipse的计算机上进行三、实验内容编写一个五子棋程序。程序主要实现以下功能:1.实现五子棋界面,要求人性化界面简洁美观;2.实现黑白色轮流下棋功能,能提示下棋方;3.实现连成五子自动判断功能;4.实现时间设置功能,认输功能;核心代码如下:1.我的第一步是设计界面。在这个过程的要使用到以下的步骤:我的第一步是设计界面。在这个过程的要

2、使用到以下的步骤:我的第一步是设计界面1.使用MyEclipse创建一个Project关于这个工程,加入两个类,分别是ChessFrame和Chess,而ChessFrame是这个工程中最重要的一个部分。创建过程中要继承JFrame类,并且要继承Runnable和MouseListener这两个接口,分别是用来监听鼠标的移动和时间的变化。2.在给这个JFrame设置大小和颜色等一些东西。这里最主要的是使用了两个函数,是以前没见过的:1.这个是用来设置默认的窗口关闭事件的setDefaultCloseO

3、peration(JFrame.EXIT_ON_CLOSE);2.这两个是用来获得屏幕的大小的Toolkit.getDefaultToolkit().getScreenSize().height;Toolkit.getDefaultToolkit().getScreenSize().width;3.把本地的背景图片加到这个窗口中,作为这个窗口的背景图:使用的到的类有BufferedImage和ImageIO这两个类,这两个类是专门用来处理这种功能的。主要的代码如下:BufferedImagebg=nu

4、ll;bg=ImageIO.read(newFile("e:/background.jpg"));g.drawImage(bg,0,0,this);这样这个图片就加到了这个窗口的背景去了。这里有一个改进就是双缓冲技术,可以防止闪屏。这个技术就是在界面和内存都有一幅图,我们的改动不是直接画界面,而是内存中先画好然后把内存中直接显示出来,那样就没有了一前一后的,那就没有了闪屏的事情发生了。4.就是画棋盘和写一些游戏信息:这步比较简单,也没什么可以说的,用到的一些画线的函数,和写String的一些函数。以上

5、做完以后就可以出现以下的界面:1.我的第二步就是增加对mouse的点击和移动的处理,这样以后就可以用来我的第二步就是增加对的点击和移动的处理,下棋。在这个过程的要使用到以下的步骤:下棋。在这个过程的要使用到以下的步骤:1.增加对mouse的监视,然后重写它的一些函数:1.我们在ChessFrame的构造函数中加入了addMouseListener()函数,然后重写关于这个的四个函数,我们这这里不重写所有的函数,就改写一个MousePress函数就可以了。改写的代码如下:publicvoidmouseP

6、ress(MouseEventarg0){this.x=arg0.getX();this.y=arg0.getY();if(this.canplay)this.repaint();}现在要处理的就是加上棋子了,我在这个做了一下小改动可以更加准确的定位下棋的位置:if(x>=10&&x<=374&&y>=72&&y<=450){intsx1=(this.x-10)/20;intsy2=(this.y-72)/20;intyx1=(this.x-10)%20;intyy2=(this.y-72)%20;i

7、f(yx1>=10){sx1++;}if(yy2>=10){sy2++;}就是这个,我们通过监控鼠标的就可以得到点击的X,Y坐标,我在这里通过对它求余,假如余数大于10(就是一个格子的一半)那就给+1,不然不变。后面的画棋子是很简单的一个过程,使用的是现成的函数(drawoval)2.这部要做的就是记录棋子和五子连的判断:1.我们通过一个数组int给保存棋子,如果是0就是没子,1表示是黑子,2表示白子。在每次重绘的时候遍历这个数组显示,这样就可以保存棋子了。2.判断五子连起来然后获胜的算法:这个算法是

8、鉴戒例子上的:privatebooleanisline(intx,inty,intxchange,intychange,intcolor){inttempx=xchange;inttempy=ychange;intcount=1;while(x+xchange>=0&&y+ychange>=0&&color==chess1[x+xchange][y+ychange]){count++;if(xchange!=0){xchange++;}if(ychang

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。