欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java拼图游戏课程设计报告.doc

    • 资源ID:1217094       资源大小:1.02MB        全文页数:15页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java拼图游戏课程设计报告.doc

    1、Java应用技术实训报告题 目 多功能拼图游戏软件 起讫日期 所在院系 学生姓名 专 业 班 级 学 号 指导教师 职 称 所在单位 2008年 月 日一总体设计 本系统共包括11个java源文件和2文件。这是个功能比较齐全的拼图游戏,最关键的不用自己手动切割图片,再进行加载。而是应用类方法在内存中进行图片切割和加载,方便了用户的使用。另外,该程序会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错位。 程序最后以*.rc格式的文件来保存游戏记录。1 类之间的关系如图1所示。MenuFrameCardFramePuzzleShowImageGameOverSplitMatrixpoi

    2、ntGradesButtonClick2java源文件及其功能如表1所示。表1 序号文件名主要功能备注1Puzzle.java程序的主类,定义了各个组件的动作和为窗口设置图标包含主函数程序的入口2CardFrame.java游戏介绍界面 添加继续按钮采用卡片布局3MenuFrame.java初始化游戏界面,创建并添加组件声明了6个静态方法4ShowImage.java在游戏中显示完整图片来提供帮助5Split.java根据难度等级切割完整图片为拼图块图块保存在内存中6Matrix.java加载打乱的图块进行初始化游戏7Grades.java游戏记录和存档,游戏暂停的实现存档文件格式为*.rc8

    3、GameOver.java游戏时间和步数的计算和游戏结束的判断 9point.java 获得拼图的行数和列数,并向其他函数传参。10ButtonClick.java实现鼠标动作。11Arg.java提供图片路径和成绩记录的路径公用接口二、详细设计该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进行保存。在拼图时首先把图片添加到background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。拼图结束时可以显示游戏成绩和记录的

    4、存档。1主类Puzzle(1)成员变量见表2表2 成员变量描述变量类型名称开始状态BooleanStart 窗口宽度intfWidth窗口高度intfHeight结束对象gOverGameOver焦点控制booleanindex(2)方法见表2-1表2-1方法名功能备注Puzzle()创建游戏窗口和设置图标StartGame()开始游戏控制,更新开始菜单endgame()结束游戏控制弹出结束窗口FrameLoseFocus()使窗口失去焦点事件FrameGetFocus ()使窗口得到焦点事件menuNewClick()进行切割图片调用类 spite()menuGradesClick()实现分

    5、数记录和显示调用类 Class GradesmenuShowClik()在游戏中显示完整图片调用类 class ShowImagemenuExit()退出游戏menuHelpClik()实现帮助功能以弹出式对话框设计menuAboutClik()实现关于功能介绍了相关信息和作者(3)源代码见文件Puzzle.java2类CardFrame(1)成员变量见表3表3 成员变量描述变量类型名称布局格式变量CardLayoutcard容器变量Containercon面板数组JpanelPanel(2)方法见表3-1表3-1方法名功能备注CardFrame()创建窗口,布局游戏介绍 添加了焦点事件适配器

    6、nextCard()转到一下张卡片采用卡片布局(3)源代码见文件CardFrame.java 3类MenuFrame(1)成员变量见表4表4 成员变量描述变量类型名称难度等级变量inttype文件路径Stringfilename难度按钮组ButtonGroupbgrp图片选择按钮组ButtonGroupfrp菜单更新控制Booleanupdate菜单项数组JMenuMm m(2)方法见表4-1表4-1方法名功能备注MenuFrame()创建窗口添加了焦点事件适配器addMenu()向菜单栏中添加菜单以数组形式添加多个菜单menuLevelClick()实现等级选择menuBackgroundC

    7、lik()实现背景图片的选择getType()返回一个难度等级getFilename()获取图片的名字initMenuBegin()初始化开始按钮并设置快捷键同时给出了选择 菜单后的相应动作initMenuBackground()初始化背景菜单initMenuAbout()初始化关于菜单initMenuOpition()初始化选择菜单initMenuLevel()初始化等级菜单以选择框形式选择等级updadeMenuBegin()游戏开始后更新开始菜单比原来增加了显示图片菜单项(3)源代码见文件MenuFrame.java4类ShowImage(1)成员变量见表5表5成员变量描述变量类型名称无

    8、成员变量(2)方法见表5-1表5-1方法名功能备注ShowImage()创建显示图片的窗口在游戏中提供帮助使用(3)源代码见文件ShowImage.java5类Split (1)成员变量见表6表6成员变量描述变量类型名称难度等级Int HARD NORML EASY路径名称 string Filename path (2)方法见表6-1表6-1方法名功能备注Spilt()创建 Spilt对象 Set()创建存档文件BufferedImage divid把背景图片切割成拼图块用到了awt.image. BufferedImage里的系统类get()获得Spilt对象(3)源代码见文件Split.

    9、java6类Matrix (1)成员变量见表7表7成员变量描述变量类型名称 面板 Jpanel panel 拼图行数 int row 拼图列数 Int cal(2)方法见表7-1表7-1方法名功能备注 Matrix() 创建图块所在的按钮并加监听 且添加到面板中 Init() 实现图块的随机排列 打乱了图块的顺序(3)源代码见文件Matrix.java7类Grades (1)成员变量见表8表8成员变量描述变量类型名称 自定义类 Data Data 拼图步数 Int step 拼图计时 Int time(2)方法见表8-1表8-1方法名功能备注 Grades() 构造函数 creatData()

    10、 生成拼图记录的文件 readData()读取已经存在的记录以.rc格式保存记录的数据Set()记录游戏的数据有打破记录的判断Show()显示记录(3)源代码见文件CardFrame.java8类GameOver (1)成员变量见表9表9成员变量描述变量类型名称 移动步数 int step 游戏时间 long counttime 开始时间 long now控制变量booleanStop gameOver(2)方法见表9-1表9-1方法名功能备注 GameOver() 构造函数创建对象 Start() 控制游戏开始 judge()判断游戏是否结束pause() 实现游戏的暂停getStep()

    11、获取移动图块的步数getTime()获取游戏时间(3)源代码见文件GameOver.java9类point (1)成员变量见表10表10成员变量描述变量类型名称 拼图行数 introw 拼图列数 int cal(2)方法见表10-1表10-1方法名功能备注 getRow() 获取行数 getCal() 获取列数 Set()设置拼图行和列(3)源代码见文件point.java 10. 类ButtonClick (1)成员变量见表11表11成员变量描述变量类型名称 按钮 JButton Button 行数和列数 Int Row cal 结束标志 boolean end (2)方法见表11-1表11

    12、-1方法名功能备注 ButtonClick() 获取各个参数 6个参数 actionPerformed() 实现相应的鼠标动作 (3)源代码见文件ButtonClick.java 11类Arg(1)成员变量见表12表12成员变量描述变量类型名称 图片路径接口 String path 记录文件接口 String rc (2)代码见文件Arg.java三运行效果游戏启动后的初始界面 图1 图1选择“关于”菜单下的 “帮助“ 菜单弹出如下对话框:图2图2选择“关于”菜单下的 “关于“ 菜单弹出如下对话框:图3图3选择 难度级别 中级和背景图片,按开始后就可进入游戏画面如图4图4在游戏过程中 可以按“

    13、开始”菜单下面的“显示图片”来查看完整图片 如图5 图5游戏成功后会显示你游戏所用时间和移动图块的步数 如图6图6如果你的游戏时间打破记录就会首先显示如下画面 如图7 图7输入名字后 ,按确定就可以查看所有成绩排名了如图8(也可以通过“开始”菜单下的“分数排名”来查看成绩)图8所有游戏截图完毕 四工作总结 经过这段时间的学习我收获不小,总结起来有如下几点:1 更进一步理解了JAVA编程的思想,体会到JAVA与其他编程语言的不同。对于这种面向对象的编程思想,使刚入门的人很快就能写出自己的程序。2 锻炼了自己的动手和自学能力,在编程中有许多类和方法在课本中没有学到和提及到。都是通过自己查帮助文档,或通过网络进行学习和了解到的。和别人在一起交流是一件很快了的事。3 体会到写程序最重要的是程序思想,而不是单纯的写代码。如何解决类之间的关联和继承关系,如何组织类是很关键的。此外对于接口和变量的私有还是公有,以及参数传递等方面也收获不小。该程序需要改进的地方:1 在变量的访问权限设置不到位,当时为了保证程序的运行通过,好多本来私有的变量都定义为公有,对于类的成员保护做的不够。2如果在移动图块时,发出声音就会更完美。3给程序添加背景音乐。4程序界面风格设计还有待改进。- 14 -


    注意事项

    本文(Java拼图游戏课程设计报告.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开