一个java拼图游戏 在python list 随机打乱乱的地方出错 打乱过后 图片位置出界 并且没有打乱 求指出

本文由qq327036009贡献;doc文档可能在WAP端浏览体验不佳;毕业设计说明书;学生姓名:学生姓名:系部:;王尚辉;号:;2007475;理工系07级计算机科学与技术;专业年级:专业年级:题目:;JAVA小游戏程序开发;钟频;指导教师:指导教师:评阅教师:评阅教师:;2011年3月1日;-1-;一.总体设计;本系统共包括11个java源文件和2文件;
    本文由qq327036009贡献
    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
    毕业设计说明书
    学生姓名: 学生姓名: 系 部:
    王尚辉
    学
    号:
    2007475
    理工系 07 级计算机科学与技术
    专业年级: 专业年级: 题 目:
    JAVA 小游戏程序开发
    钟频
    指导教师: 指导教师: 评阅教师: 评阅教师:
    2011 年 3 月 1 日
    -1-
    一.总体设计
    本系统共包括 11 个 java 源文件和 2 文件。 这是个功能比较齐全的 拼图游戏,最关键的不用自己手动切割图片,再进行加载。而是应用类 方法在内存中进行图片切割和加载,方便了用户的使用。另外,该程序 会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错 位。 程序最后以*.rc 格式的文件来保存游戏记录。 1. 类之间的关系如图 1 所示。
    MenuFrame
    CardFrame
    Puzzle
    ShowImage
    GameOver
    Matrix
    Split
    Grades
    point
    ButtonClick
    2.java 源文件及其功能如表 1 所示。
    -2-
    表1 序号 1 2 3 4 5 6 7 8 9 10 11 文件名 Puzzle.java CardFrame.java MenuFrame.java ShowImage.java Split.java Matrix.java Grades.java GameOver.java point.java ButtonClick.java Arg.java 主要功能 程序的主类,定义了各个组件的动作和 为窗口设置图标 游戏介绍界面 添加继续按钮 初始化游戏界面,创建并添加组件 在游戏中显示完整图片来提供帮助 根据难度等级切割完整图片为拼图块 加载打乱的图块进行初始化游戏 游戏记录和存档,游戏暂停的实现 游戏时间和步数的计算和游戏结束的 判断 获得拼图的行数和列数,并向其他函 数传参。 实现鼠标动作。 提供图片路径和成绩记录的路径 公用接口 存档文件格式 为**.rc 图块保存在内 存中 备注 包含主函数程 序的入口 采用卡片布局 声明了 6 个静 态方法    二、详细设计
    该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和 打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进 行保存。在拼图时首先把图片添加到 background 目录下,程序会自动获 取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按 钮上。在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。 拼图结束时可以显示游戏成绩和记录的存档。 1.主类 Puzzle (1)成员变量见表 2 成员变量见表
    表2 成员变量描述 开始状态 变量类型 Boolean
    名称 Start
    窗口宽度 窗口高度 结束对象 焦点控制
    int int gOver boolean
    fWidth fHeight GameOver index
    (2)方法见表 2-1
    表 2-1 方法名 Puzzle() StartGame() endgame() FrameLoseFocus () FrameGetFocus () menuNewClick() menuGradesClic k() menuShowClik() menuExit() menuHelpClik() menuAboutClik( ) 功能 创建游戏窗口和设置图 标 开始游戏控制,更新开 始菜单 结束游戏控制 使窗口失去焦点事件 使窗口得到焦点事件 进行切割图片 实现分数记录和显示 在游戏中显示完整图片 退出游戏 实现帮助功能 实现关于功能 以弹出式对话框设计 介绍了相关信息和作者 调用类 spite() 调用类 Class Grades 调用类 class ShowImage 弹出结束窗口 备注
    Puzzle.java (3)源代码见文件 Puzzle.java
    2.类 CardFrame (1)成员变量见表 3
    表3 成员变量描述 布局格式变量 变量类型 CardLayout
    -4-
    名称 card
    容器变量 面板数组
    Container Jpanel
    con Panel[]
    (2)方法见表 3-1
    表 3-1 方法名 CardFrame() nextCard() 功能 创建窗口,布局游戏介 绍 转到一下张卡片 备注 添加了焦点事件适配器 采用卡片布局
    CardFrame.java (3)源代码见文件 CardFrame.java 3.类 MenuFrame (1)成员变量见表 4
    表4 成员变量描述 难度等级变量 文件路径 难度按钮组 图片选择按钮组 菜单更新控制 菜单项数组 变量类型 int String ButtonGroup ButtonGroup Boolean JMenu 名称 type filename bgrp frp update Mm[] m[]
    (2)方法见表 4-1
    表 4-1 方法名 MenuFrame() addMenu() menuLevelClick () menuBackground Clik() 功能 创建窗口 向菜单栏中添加菜单 实现等级选择 实现背景图片的选择 备注 添加了焦点事件适配器 以数组形式添加多个菜单
    -5-
    getType() getFilename() initMenuBegin( ) initMenuBackgr ound() initMenuAbout( ) initMenuOpitio n() initMenuLevel( ) updadeMenuBegi n()
    返回一个难度等级 获取图片的名字 初始化开始按钮并设置 快捷键 初始化背景菜单 初始化关于菜单 初始化选择菜单 初始化等级菜单 游戏开始后更新开始菜 单 以选择框形式选择等级 比原来增加了显示图片菜单项 同时给出了选择 菜单后的相应 动作
    MenuFrame.java (3)源代码见文件 MenuFrame.java 4 类 ShowImage (1)成员变量见表 5 表5 成员变量描述 无成员变量 (2)方法见表 5-1 变量类型 名称    表 5-1 方法名 ShowImage() 功能 创建显示图片的窗口 备注 在游戏中提供帮助使用
    ShowImage.java (3)源代码见文件 ShowImage.java
    5 类 Split (1)成员变量见表 6 表6
    -6-
    成员变量描述 难度等级 路径名称 Int
    变量类型
    名称 HARD NORML EASY Filename path
    string
    (2)方法见表 6-1 表 6-1 方法名 Spilt() Set() BufferedImag e[] divid 
image. 图块 BufferedImage 里的系统类 获得 Spilt 对象 备注
    Split.java (3)源代码见文件 Split.java 6 类 Matrix (1)成员变量见表 7 表7 成员变量描述 面板 拼图行数 拼图列数 (2)方法见表 7-1 表 7-1 方法名 Matrix() Init() 功能 创建图块所在的按 钮并加监听 且添加 到面板中 实现图块的随机排 列 备注 变量类型 Jpanel int Int panel row cal 名称
    打乱了图块的顺序
    Matrix.java (3)源代码见文件 Matrix.java
    -7-
    7.类 Grades (1)成员变量见表 8 表8 成员变量描述 自定义类 拼图步数 拼图计时 (2)方法见表 8-1 表 8-1 方法名 Grades() creatData() readData() Set() Show() 功能 备注 变量类型 Data Int Int 名称 Data[] step time
    构造函数 生成拼图记录的文 件 读取已经存在的记录 以.rc 格式保存记录的数据 记录游戏的数据 显示记录 有打破记录的判断
    CardFrame.java (3)源代码见文件 CardFrame.java
    8.类 GameOver (1)成员变量见表 9 表9 成员变量描述 移动步数 游戏时间 开始时间 控制变量 (2)方法见表 9-1
    -8-
    变量类型 int long long boolean Stop step
    名称
    counttime now gameOver
    表 9-1 方法名 GameOver() Start() judge() pause() getStep() getTime() 功能 构造函数创建对象 控制游戏开始 判断游戏是否结束 实现游戏的暂停 获取移动图块的步 数 获取游戏时间 备注
    (3)源代码见文件 GameOver.java
    9.类 point (1)成员变量见表 10 表 10 成员变量描述 拼图行数 拼图列数 10(2)方法见表 10-1 变量类型 int int 名称 row cal
    表 10-1 方法名 getRow() getCal() Set() 功能 获取行数 获取列数 设置拼图行和列 备注
    (3)源代码见文件 point.java
    -9-
    10. 类 ButtonClick (1)成员变量见表 11 表 11 成员变量描述 按钮 行数和列数 结束标志 11(2)方法见表 11-1 表 11-1 方法名 ButtonClick( ) actionPerfor med() 功能 获取各个参数 实现相应的鼠标动 作 6 个参数 备注 变量类型 JButton Int boolean 名称 Button[][] Row cal end
    (3)源代码见文件 ButtonClick.java
    11 类 Arg (1)成员变量见表 12
    表 12 成员变量描述 图片路径接 口 记录文件接 口 变量类型 String String path rc 名称
    (2)代码见文件 Arg.java
    - 10 -
    三.运行效果
    游戏启动后的初始界面 图 1
    图1 选择“关于”菜单下的 “帮助“ 菜单弹出如下对话框:图 2
    - 11 -
    图2 选择“关于”菜单下的 “关于“ 菜单弹出如下对话框:图 3
    图3
    - 12 -
    选择 难度级别 C中级和背景图片,按开始后就可进 入游戏画面如图 4
    图4 在游戏过程中 可以按“开始”菜单下面的“显示图片” 来查看完整图片 如图 5
    图5
    游戏成功后会显示你游戏所用时间和移动图块的步数 如图 6
    图6 如果你的游戏时间打破记录就会首先显示如下画面 如图 7
    图7
    - 14 -
    输入名字后 ,按确定就可以查看所有成绩排名了如图 8 (也可以通过“开始”菜单下的“分数排名”来查看成绩)
    图8 所有游戏截图完毕
    四.工作总结
    经过这段时间的学习我收获不小,总结起来有如下几点: 1 更进一步理解了 JAVA 编程的思想,体会到 JAVA 与其他编程语言的不 同。对于这种面向对象的编程思想,使刚入门的人很快就能写出自己的 程序。 2 锻炼了自己的动手和自学能力,在编程中有许多类和方法在课本中没 有学到和提及到。都是通过自己查帮助文档,或通过网络进行学习和了 解到的。和别人在一起交流是一件很快了的事。 3 体会到写程序最重要的是程序思想,而不是单纯的写代码。如何解决 类之间的关联和继承关系,如何组织类是很关键的。此外对于接口和变 量的私有还是公有,以及参数传递等方面也收获不小。
    该程序需要改进的地方: 1 在变量的访问权限设置不到位,当时为了保证程序的运行通过,好多 本来私有的变量都定义为公有,对于类的成员保护做的不够。 2 如果在移动图块时,发出声音就会更完美。 3 给程序添加背景音乐。 4 程序界面风格设计还有待改进。
    - 15 -
    1本文由qq327036009贡献
    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
    毕业设计说明书
    学生姓名: 学生姓名: 系 部:
    王尚辉
    学
    号:
    2007475
    理工系 07 级计算机科学与技术
    专业年级: 专业年级: 题 目:
    JAVA 小游戏程序开发
    钟频
    指导教师: 指导教师: 评阅教师: 评阅教师:
    2011 年 3 月 1 日
    -1-
    一.总体设计
    本系统共包括 11 个 java 源文件和 2 文件。 这是个功能比较齐全的 拼图游戏,最关键的不用自己手动切割图片,再进行加载。而是应用类 方法在内存中进行图片切割和加载,方便了用户的使用。另外,该程序 会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错 位。 程序最后以*.rc 格式的文件来保存游戏记录。 1. 类之间的关系如图 1 所示。
    MenuFrame
    CardFrame
    Puzzle
    ShowImage
    GameOver
    Matrix
    Split
    Grades
    ButtonClick
    2.java 源文件及其功能如表 1 所示。
    -2-
    表1 序号 1 2 3 4 5 6 7 8 9 10 11 文件名 Puzzle.java CardFrame.java MenuFrame.java ShowImage.java Split.java Matrix.java Grades.java GameOver.java point.java ButtonClick.java Arg.java 主要功能 程序的主类,定义了各个组件的动作和 为窗口设置图标 游戏介绍界面 添加继续按钮 初始化游戏界面,创建并添加组件 在游戏中显示完整图片来提供帮助 根据难度等级切割完整图片为拼图块 加载打乱的图块进行初始化游戏 游戏记录和存档,游戏暂停的实现 游戏时间和步数的计算和游戏结束的 判断 获得拼图的行数和列数,并向其他函 数传参。 实现鼠标动作。 提供图片路径和成绩记录的路径 公用接口 存档文件格式 为**.rc 图块保存在内 存中 备注 包含主函数程 序的入口 采用卡片布局 声明了 6 个静 态方法    二、详细设计
    该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和 打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进 行保存。在拼图时首先把图片添加到 background 目录下,程序会自动获 取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按 钮上。在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。 拼图结束时可以显示游戏成绩和记录的存档。 1.主类 Puzzle (1)成员变量见表 2 成员变量见表
    表2 成员变量描述 开始状态 变量类型 Boolean
    -3-
    名称 Start
    窗口宽度 窗口高度 结束对象 焦点控制
    int int gOver boolean
    fWidth fHeight GameOver index
    (2)方法见表 2-1
    表 2-1 方法名 Puzzle() StartGame() endgame() FrameLoseFocus () FrameGetFocus () menuNewClick() menuGradesClic k() menuShowClik() menuExit() menuHelpClik() menuAboutClik( ) 功能 创建游戏窗口和设置图 标 开始游戏控制,更新开 始菜单 结束游戏控制 使窗口失去焦点事件 使窗口得到焦点事件 进行切割图片 实现分数记录和显示 在游戏中显示完整图片 退出游戏 实现帮助功能 实现关于功能 以弹出式对话框设计 介绍了相关信息和作者 调用类 spite() 调用类 Class Grades 调用类 class ShowImage 弹出结束窗口 备注
    Puzzle.java (3)源代码见文件 Puzzle.java
    2.类 CardFrame (1)成员变量见表 3
    表3 成员变量描述 布局格式变量 变量类型 CardLayout
    -4-
    名称 card
    容器变量 面板数组
    Container Jpanel
    con Panel[]
    (2)方法见表 3-1
    表 3-1 方法名 CardFrame() nextCard() 功能 创建窗口,布局游戏介 绍 转到一下张卡片 备注 添加了焦点事件适配器 采用卡片布局
    CardFrame.java (3)源代码见文件 CardFrame.java 3.类 MenuFrame (1)成员变量见表 4
    表4 成员变量描述 难度等级变量 文件路径 难度按钮组 图片选择按钮组 菜单更新控制 菜单项数组 变量类型 int String ButtonGroup ButtonGroup Boolean JMenu 名称 type filename bgrp frp update Mm[] m[]
    (2)方法见表 4-1
    表 4-1 方法名 MenuFrame() addMenu() menuLevelClick () menuBackground 
包含各类专业文献、幼儿教育、小学教育、行业资料、外语学习资料、各类资格考试、高等教育、生活休闲娱乐、Java拼图游戏课程设计报告29等内容。 
 一、题目介绍题目: 1、 题目: 拼图游戏设计 2、 任务: 任务: 利用 java 的图形用户界面设计,设计一个拼图游戏界面,能够实现 基本的游戏功能。 要求: 3、 ...  java拼图游戏设计报告_计算机软件及应用_IT/计算机_专业资料。《Web 程序开发》 课程 大作业拼图游戏
张杰 2014.11 一、题目说明拼图游戏不仅可以帮助人们...  ? 编号: 《Java 程序设计》课程设计报告 题姓学班 目:名:号:级: 拼图游戏 2013 年 12 月 10 日 一. 题目意义和设计思想 1、 题目意义该游戏是由一副小...  Java拼图游戏课程设计报告_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档Java拼图游戏课程设计报告_计算机软件及应用_IT/计算机_专业资料...  拼图游戏报告_计算机软件及应用_IT/计算机_专业资料。Java拼图完整实验报告(可自选...很多具体代码操作之前的设计规划和构 建才是优秀程序设计的灵魂。写程序最重要...  面向对象课程设计报告姓 名 Name 代码总行数 Code Lines 1.实验目的 222 学号...2.实验内容 本次课程设计选定的实验项目是使用 JAVA 语言编写一个拼图游戏并...  软件设计报告-拼图游戏_纺织/轻工业_工程科技_专业资料。软件设计报告 题 目: ...四、软件测试报告在 Java - Eclipse 环境中调试、运行程序 点击运行后出现如下...  拼图游戏课程设计报告_工学_高等教育_教育专区。这是本人的课程设计报告,虽有...Java拼图游戏课程设计报... 15页 免费
java课程设计-拼图游戏代... 6页 ...  设计考核 要求 3 课程设计总结报告 30% 计算机教研室 拼图游戏制作指导老师 摘要:本课题利用 Authorware 制作了一个拼图游戏,让小学生在玩中可以锻炼自己的记忆力...

我要回帖

更多关于 php随机打乱数组 的文章

 

随机推荐