java-课程设计报告-拼图游戏

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)1目录一、题目介绍.............................................................................31、题目.............................................................................................32、任务..............................................................................................33、要求...............................................................................................3二、需求分析.............................................................................3三、概要设计..............................................................................41、功能分析.......................................................................................42、界面初始化...................................................................................43、事件处理(1)鼠标事件.............................................................44、事件处理(2)键盘事件.............................................................55、状态判断.......................................................................................56、程序流程图...................................................................................5四、详细设计.............................................................................61、.html代码设计............................................................................62、.java代码设计............................................................................6五、调试结果.............................................................................19第一个大图的拼图界面..........................................................................19第一个拼图全图预览..............................................................................19第二个大图的拼图界面..........................................................................20面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)2第二个拼图全图预览..............................................................................20第三个大图的拼图界面..........................................................................21第三个拼图全图预览..............................................................................21六、心得总结.............................................................................22七、参考资料...........................................................................22面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)3一、题目介绍1、题目:拼图游戏设计2、任务:利用java的图形用户界面设计,设计一个拼图游戏界面,能够实现基本的游戏功能。3、要求:(1)游戏者可以选择不同的图片。(2)按完成的时间计算成绩。(3)记录拼图完成的总步数。二、需求分析拼图游戏是一个简单的小程序,游戏规则如下:将一张大图打散成9张小图,然后在游戏里任意挑8张图,贴在3行3列的矩阵中的任意位置。通过鼠标或键盘的方向键移动打乱的8张面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)4图片,让其复原成原来的顺序,玩家就胜利了,游戏就结束了。在游戏结束之后,算出玩家的得分。三、概要设计1、功能分析由于要计算游戏的时间,需要引入线程,通过实现Runnable接口和创建Thread类来实现线程的功能。使用多线程机制来计算时间的流逝。引入AWT绘图包,实现图片的绘制。引入事件处理机制,要求对鼠标事件,键盘事件进行相应,实现移动图片,预览全图等功能。按键“Y”实现临时的原图整体预览。按键“1或者2或者3”实现大图选择、2、界面初始化调用publicvoidinit()通过接收html数据,加载三张源图片,安装媒体监视器和鼠标键盘监听器,实现界面初始化;调用publicvoidinitData()将加载的一张大图分割成九个随机分布的小图部分;调用publicvoidpaint(Graphicsg)划分提示信息区域和拼图区域;3、事件处理(1)鼠标事件调用publicvoidmouseClicked(MouseEvente)方法实现鼠标事件处面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)5理。调用PublicintdirectionCanMove(intnCol,intnRow)方法检测那个方向没有拼图而可以向之移动。调用publicvoidmove(intnCol,intnRow,intnDirection)方法实现鼠标激活拼图移动。(2)键盘事件调用publicvoidkeyPressed(KeyEvente)方法实现键盘事件处理。调用publicvoidinitImageAgain(intnImgNo)方法实现重新加载另一张大图。调用publicbooleanmove(intnDirection)方法实现判断指定拼图是否可以往方向nDirection移动。4、状态判断动过调用publicvoidcheckStatus()方法来检测拼图状态,判断是否拼图成功,确定游戏是否结束。5、附加功能调用publicvoidrun()方法,给游戏过程添加计时进程。6、程序流程图面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)6四、详细设计1、编写.html代码htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=gb2312title拼图游戏/title/HEADbody拼图游戏hr这是一个拼图游戏。玩家应该将打散的小图拼成一张大图。br玩家可以通过鼠标和键盘来移动小图,移动的次数和拼成br一张大图所化费的时间作为游戏得分的依据。br成绩=1000-时间(秒)-移动步数*10br按F1键重新开始该游戏,按Y健可以预览整个的图片hrappletcode=pintu.classwidth=480height=360!--param标签NumOfImgparam的标签表示有多少张图片剩下的param标签为每张图的名字--paramname=NumOfImgvalue=3paramname=Image1value=pintuparamname=Image2value=pintu2paramname=Image3value=pintu3面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)7/applet/body/html2、编写.java代码1、界面设计和附加功能importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.net.*;//Downloadby{Image[]m_Image=newImage[9];//9个用来装入每个拼图的图片对象Imagem_ImgAll;//总的大图片intm_nImageNo[][]=newint[3][3];////标志现在各个拼图的排列情况finalintNO_IMAGE=-1;//此位置没有拼图,表示空白拼图finalintIMAGE_WIDTH=120;//每张拼图的宽finalintIMAGE_HEIGHT=120;////每张拼图的高finalintDIRECTION_UP=1;finalintDIRECTION_DOWN=2;finalintDIRECTION_LEFT=3;finalintDIRECTION_RIGHT=4;finalintDIRECTION_NONE=-1;finalintDELTAX=120;//标志提示信息区的宽度booleanbWantStartNewGame=false;//游戏是否结束,是否需要开始新游戏intnStep=0;//已经走的步数intnTime=0;//已经玩过的时间,以秒为单位ThreadthTimer;//计时器线程面向对象的课程设计与分析(java)——拼图游戏(学号。。。班级。。。姓名。。。)8intnScore=0;//玩家所得的分数intm_nNumOfImg=0;//拼图底图所使用的图片的个数Stringm_sImgName[]=newString[9];//记录拼图底图的名字booleanbOnShowAll=false;//预览的开关AudioClipm_audioClip1,m_audioClip2;//装载要播放的声音对象publicvoidinit()/{Stringparam=getParameter(NumOfImg);try{m_nNumOfImg=Integer.parseInt(param);}catch(Exceptione){m_nNumOfImg=1;System.out.println(Can'tconvert

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功