?编号:《Java程序设计》课程设计报告题目:拼图游戏姓名:学号:班级:、题目意义该游戏是由一副小男孩为主体的拼图小游戏,这个游戏是一个益智休闲的小游戏。该类似的小游戏在我们成长的过程中,曾经疯狂的流行着,这是一个老少皆宜的小游戏,它开发人们的智力,加强我们的动手能力和我们的眼睛的洞察力。该游戏简单方便易操作是一个很好的小游戏,也是一个经久不衰的游戏,在我们这代人中,可谓每个人都玩过这种类似的小游戏,简单易操作是其一直存在的原因之一。游戏由简单的界面组成的,操作简单,该图像块是由16块小的小图像块构成的,其中有一个空白的小图像块,该图像块是来与别的图像块交换的,以此来实现大图像的拼凑。游戏重要的部分是将分割图像与被分割图像通过随机摆放起来。通过java标准环境下运行,实现通过小的图像块的移动实现大的图像的拼凑。通过改变鼠标的位置选取小的图像块,通过移动鼠标实现小图像的移动,使小图像块能够上下左右的移动从而完成大图像的拼凑的完成。2、,实现通过小的图像块的移动实现大的图像的拼凑。通过改变鼠标的位置选取小的图像块,通过移动鼠标或键盘实现小图像的移动,使小图像块能够上下左右的移动从而完成大图像的拼凑的完成。·系统界面的左上侧是“新游戏”的按钮。鼠标单击“新游戏”按钮时,会开始新的游戏,大图像会分成16个错综复杂的小图像块。通过移动小图像块来实现拼凑大的图像。·界面的右上侧是“继续游戏”的按钮,鼠标单击“继续游戏”按钮时,会继续游戏,但是是出现新的小图像块的分布。·界面的下面的部分是一副大的图像,通过使用鼠标或键盘选取小图像块,通过移动鼠标和键盘来移动小图像块的位置,以实现大图像块的拼凑,使游戏能过胜利。,负责很多的变量的赋值;init添加组件并初始化各种资源;prepareImage模块负责加载图像,创建缓冲区并获取缓冲区的Graphics对象;initMap模块负责初始化scree,创建screen对象并覆盖paint()方法,注册时间监听接口;initButtons模块负责创建按钮并做事件处理;drawscreen模块负责绘制图画,将全部图像绘制在screen中;drawSegment模块负责将第seg个图像块绘制在(x,y)位置处。二、采用的主要技术、遇到的难点和解决方法1、采用的主要技术(1)该游戏的设计:用户界面包括游戏所用的图片使用prepareImaga来加载图像,和initMap来创建screen对象并覆盖pain方法,注册时间监听接口和initButton来创建两个按钮。(2)界面还有Booleanrunning=false为标识游戏进行状态的变量,若running为真,则表明游戏正在进行中。ButtonbStart=newButton(“新游戏”)为新游戏按钮,若点击此按钮,则开始游戏。ButtonbSee=newButton(“显示正确的图像”)为此按钮具有“显示正确的图像”与“继续游戏”两种功能。(3)程序设计中,使用了获得被点击的图像块编号及位置,例把第五个图像块移到第十五个图像块的位置:publicvoidmousePressed(MouseEventme){if(!running)return;int(x=()/sx,y=()sy;if((fx-x)+(fy-y)>=2)return;if(map[x][y]==15)return;map[fx][fy]=map[x][y];map[x][y]=15;(x,y);drawScreen();}3、遇到的难点和解决方法在程序中运行的过程中,遇到了安装java的软件的困难,不知道怎么使用总是出现错误,通过同学和老师的指导解决了这个问题。编码中也出现了很多的问题,如编码错误,通过一次又一次的调试和修改,终于把程序给纠正,还有出现图像的时候,出现了错误通过对源程序的修改,才能使图像可以移动。三、实现的主要功能和系统结构1、创建主类PPuzzle控制整个程序的调控与连接,该类负责整个程序的变量和方法的调用,程序从该类开始执行。并创建init、prepareImage、initMap、nitButtons、drawscreen、drawSegment三个类分别负责添加组件并初始化各种资源、加载图像并创建缓冲区、初始化scree并创建screen对象、创建按钮并做事件处理、绘制图画并将全部图像绘制在screen中、将第seg个图像块绘制在(x,y)位置。2、系统功能描述拼图游戏添加组件并初始化各种资源加载图像并将图像分成小部分创建屏
课程设计报告-拼图游戏 来自淘豆网m.daumloan.com转载请标明出处.