java-课程设计报告-拼图游戏.doc
《java-课程设计报告-拼图游戏.doc》由会员分享,可在线阅读,更多相关《java-课程设计报告-拼图游戏.doc(22页珍藏版)》请在咨信网上搜索。
1、 面向对象的课程设计与分析(java)拼图游戏 (学号。班级。姓名。)目录一、 题目介绍.3 1、题目.3 2、任务.3 3、要求.3二、需求分析.3三、 概要设计.4 1、功能分析.4 2、界面初始化.4 3、事件处理(1)鼠标事件.4 4、事件处理(2)键盘事件.5 5、状态判断.5 6、程序流程图.5四、 详细设计.6 1、.html代码设计.6 2、.java代码设计.6五、调试结果.19第一个大图的拼图界面.19第一个拼图全图预览.19第二个大图的拼图界面.20第二个拼图全图预览.20第三个大图的拼图界面.21第三个拼图全图预览.21六、心得总结.22七、参考资料.22一、 题目介绍
2、1、 题目:拼图游戏设计2、 任务:利用java的图形用户界面设计,设计一个拼图游戏界面,能够实现基本的游戏功能。3、 要求:(1)游戏者可以选择不同的图片。(2)按完成的时间计算成绩。(3)记录拼图完成的总步数。二、 需求分析拼图游戏是一个简单的小程序,游戏规则如下:将一张大图打散成9张小图,然后在游戏里任意挑8张图,贴在3行3列的矩阵中的任意位置。通过鼠标或键盘的方向键移动打乱的8张图片,让其复原成原来的顺序,玩家就胜利了,游戏就结束了。在游戏结束之后,算出玩家的得分。三、概要设计1、功能分析由于要计算游戏的时间,需要引入线程,通过实现Runnable接口和创建Thread类来实现线程的功
3、能。使用多线程机制来计算时间的流逝。引入AWT绘图包,实现图片的绘制。 引入事件处理机制,要求对鼠标事件,键盘事件进行相应,实现移动图片,预览全图等功能。按键“Y”实现临时的原图整体预览。按键“1或者2或者3”实现大图选择、2、 界面初始化调用public void init()通过接收html数据,加载三张源图片,安装媒体监视器和鼠标键盘监听器,实现界面初始化;调用public void initData()将加载的一张大图分割成九个随机分布的小图部分; 调用public void paint(Graphics g)划分提示信息区域和拼图区域;3、 事件处理(1) 鼠标事件调用public
4、void mouseClicked(MouseEvent e)方法实现鼠标事件处理。调用Public int directionCanMove(int nCol,int nRow)方法检测那个方向没有拼图而可以向之移动。调用public void move(int nCol,int nRow,int nDirection)方法实现鼠标激活拼图移动。(2) 键盘事件调用public void keyPressed(KeyEvent e)方法实现键盘事件处理。 调用public void initImageAgain(int nImgNo)方法实现重新加载另一张大图。调用public boolea
5、n move(int nDirection)方法实现判断指定拼图是否可以往方向nDirection移动。4、状态判断动过调用public void checkStatus()方法来检测拼图状态,判断是否拼图成功,确定游戏是否结束。5、附加功能调用public void run()方法,给游戏过程添加计时进程。6、程序流程图四、 详细设计1、 编写.html代码拼图游戏拼图游戏这是一个拼图游戏。玩家应该将打散的小图拼成一张大图。玩家可以通过鼠标和键盘来移动小图,移动的次数和拼成一张大图所化费的时间作为游戏得分的依据。成绩=1000-时间(秒)-移动步数*10按F1键重新开始该游戏,按Y健可以预览
6、整个的图片2、 编写.java代码1、界面设计和附加功能import java.applet.*;import java.awt.*;import java.awt.event.*;import .*;/Download by public class pintu extends Applet implements MouseListener,KeyListener,Runnable Image m_Image=new Image9; /9个用来装入每个拼图的图片对象 Image m_ImgAll; /总的大图片int m_nImageNo=new int33; /标志现在各个拼图的排列情况f
7、inal int NO_IMAGE=-1; /此位置没有拼图,表示空白拼图final int IMAGE_WIDTH=120; /每张拼图的宽final int IMAGE_HEIGHT=120; /每张拼图的高final int DIRECTION_UP=1;final int DIRECTION_DOWN=2;final int DIRECTION_LEFT=3;final int DIRECTION_RIGHT=4;final int DIRECTION_NONE=-1; final int DELTAX=120; /标志提示信息区的宽度 boolean bWantStartNewGam
8、e=false; /游戏是否结束,是否需要开始新游戏 int nStep=0; /已经走的步数 int nTime=0; /已经玩过的时间,以秒为单位 Thread thTimer; /计时器线程 int nScore=0; /玩家所得的分数 int m_nNumOfImg=0; /拼图底图所使用的图片的个数 String m_sImgName=new String9; /记录拼图底图的名字 boolean bOnShowAll=false; /预览的开关 AudioClip m_audioClip1,m_audioClip2; /装载要播放的声音对象 public void init()/
9、String param=getParameter(NumOfImg); try m_nNumOfImg=Integer.parseInt(param); catch(Exception e) m_nNumOfImg=1; System.out.println(Cant convert the params name to int.); for(int i=0;im_nNumOfImg;i+) m_sImgNamei=getParameter(Image+(i+1)+.jpg;/用字符串数组m_sImgName分别保存三个大图及其规范命名:p/pintu.jpg pintu1.jpg pint
10、u2.jpg System.out.println(m_sImgNamei); System.out.println(param); MediaTracker mediaTracker=new MediaTracker(this); /为这个拼图界面设置一个监视器m_ImgAll=getImage(getDocumentBase(),img/+m_sImgName0); /从装载总的大图片mediaTracker.addImage(m_ImgAll,1);/为向此媒体跟踪器正在跟踪的图像列表中添加一个图像,/并分配一个表示号1 给这个图像trymediaTracker.waitForID(1)
11、;/加载所跟踪的图像列表中的某一个标识号所对应的的一个图像catch(Exception e)System.out.println(图片装载出错); if(mediaTracker.isErrorAny()System.out.println(图片装载出错); for(int i=0;i9;i+) m_Imagei=createImage(IMAGE_WIDTH,IMAGE_HEIGHT); Graphics g=m_Imagei.getGraphics(); int nRow=i%3; int nCol=i/3; g.drawImage(m_ImgAll, 0, 0, IMAGE_WIDTH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 拼图游戏
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。