java拼图游戏面向对象课程设计报告

java拼图游戏面向对象课程设计报告

ID:8870642

大小:398.50 KB

页数:11页

时间:2018-04-10

java拼图游戏面向对象课程设计报告_第1页
java拼图游戏面向对象课程设计报告_第2页
java拼图游戏面向对象课程设计报告_第3页
java拼图游戏面向对象课程设计报告_第4页
java拼图游戏面向对象课程设计报告_第5页
资源描述:

《java拼图游戏面向对象课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、姓名Name学号StudentNo.20137045班级Class代码总行数CodeLines222项目名称Item1.实验目的本次课程设计旨在通过一个完整项目的开发,巩固面向对象程序设计、软件工程、数据库技术等课程的相关知识,加深学生对Java语言的理解,尤其是对面向对象思想、Java编码规范、JDBC访问数据库的理解,使学生进一步掌握环境构建、代码编写、文档阅读与理解、文档编写、软件测试、发行与部署等技能,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。2.实验内容本次课程设计选定的实验项目

2、是使用JAVA语言编写一个拼图游戏并实现其基本功能。不用自己手动切割图片,再进行加载。而是应用类方法在内存中进行图片切割和加载,方便了用户的使用。利用了Graphics中的publicabstractbooleandrawImage()方法把img中由(sx1,sy1)(sx2,sy2)指定的矩形区域画到observer中由(dx1,dy1)(dx2,dy2)指定的矩形区域内进行构思拼图游戏的具体实现。导入了一个可播放背景音乐的jar包,在玩游戏时可以欣赏背景音乐。3.类图4.运行界面图1、游戏初始界面

3、图2、游戏运行界面图3、拼图成功界面5.关键代码(要求在类的定义以及方法定义的前面给出相关描述信息)//定义一个Pintu类publicclassJpgsawextendsJFrame{privateImageimage,buff;//原始图片,缓存图片privateint[][]map={{0,1,2},{3,4,5},{6,7,8}};//定义数组map,给分割后的图片标号privatePointpoint=newPoint(2,2);//记录第九块图片位置privateintsx;//分割后每一个

4、图片的宽度privateintsy;//分割后每一个图片的高度privateCanvascanvas;//加载图片容器,定义可以显式定位子元素使用坐标是相对Canvas区域的区域,绘制图形privateGraphicsgs;//gs画出Canvas图片坐标privateGraphicsgb;//gb画出buff图像privatebooleanisRunning=false;//游戏是否正在进行privateJButtonstart=newJButton("开始新的游戏");//按钮1privateJBu

5、ttonshow=newJButton("显示正确图片");//按钮2privateJTextAreashowStep=newJTextArea("显示步骤");//设置步骤显示privateJPanelpanel=newJPanel();//一般轻量级面板容器,装在上面2个按钮privateintsteps=0;//记录移动的步骤publicJpgsaw(Stringtitle){//构造方法,初始化变量super(title);//调用了当前类Jpgsaw的父类JFrame的构造方法try{//异常

6、抛出image=ImageIO.read(newFile("gg.jpg"));//装载图片}catch(IOExceptione){//捕获自定义的异常e.printStackTrace();}initScreen();//用此方法来初始化canvas,由于canvas初始化较复杂,所以单独写一个方法buff=newBufferedImage(715,381,BufferedImage.TYPE_INT_BGR);//Image的一个子类,BufferedImage生成的图片在内存里有一个图像缓冲区,

7、利用这个缓冲区我们可以很方便的操作这个图片gb=buff.getGraphics();//存在于Image类中,存在于缓冲器中的图片,设置坐标sx=image.getWidth(this)/3;//图片分割后每一个图片的宽度sy=image.getHeight(this)/3;//图片分割后每一个图片的高度setLayout(newBorderLayout());//设置此布局方法,加入控件add(panel,BorderLayout.SOUTH);//布置容器的边框布局,它可以对容器组件进行安排,并调

8、整其大小add(canvas,BorderLayout.CENTER);panel.setLayout(newGridLayout(1,4));//把组件按指定的几行几列分开,添加其他组件时,会按添加的顺序挨个添加到该组件上panel.add(start);panel.add(show);panel.add(showStep);showStep.setEditable(false);//步骤默认false,使调用这个函数的控件不能被编辑sh

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

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

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