- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java拼图游戏设计报告.doc
《》课程
拼图游戏不仅可以帮助打发时间,还可以用于锻炼儿童脑力,帮助少儿开发大脑思维background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。
本游戏使用Java语言设计,开发平台为JDK。开发工具Eclipse。JDK是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
题意分析
因为要制作拼图游戏,所以首先要实现图片的导入。这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this) 和addMouseMotionListener(this)来完成的。这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。
游戏操作流程:
设计目的
本游戏的设计目的在于休闲娱乐,玩家可以在学习、编程等工作后用来休息放松,让集中的心态得到释放,对于小孩可以通过精美的卡通的图片来吸引孩子的兴趣,加强动脑动手能力。本游戏适玩人群老少皆宜。
设计特点
本游戏主要充分运用图形用户界面将一张图片切割成大小相同的九块小图,运用其中的八块,将小图的顺序和位置打乱,通过将图片移动到剩余的一格空白处而改变图片的位置,最终拼成原始图片。
五、功能说明
游戏功能图:
本拼图游戏,运用了Java2中的图形处理技术和消息响应技术。通过图形技术,实现图片的导入和分割。通过消息响应机制,使程序可以响应用户的鼠标操作,进行拼图游戏的操作。
这个游戏主要分为四个模块,分别是游戏开始、查看图片、选择图片和退出游戏。这四个摸块的功能各不一样,玩家如果在游戏过程中感觉拼图小块之间的接合不明显,玩家可以点击“查看”按钮来浏览拼图完成的效果图,从而使得游戏不会无从下手;玩家如果觉得当前拼图的画面不满意可以点击“选择”图片按钮来更换图片,或者想更改拼图的画面,玩家可以进入游戏文件夹进行更换图片文件,但是需要注意的是图片需要有格式,同时还需要将所要更改的图片切割成大小相同的九个小块,具体就不详细说了,游戏文件夹中会给大家附一个.txt文件,供大家更换图片使用,从而提高玩家乐趣。
六、主要功能程序段
import java.awt.Rectangle;//引入类
import java.awt.event.*;
import javax.swing.*;
class PaneButton extends JButton {// 继承按钮类实现加图片的方格
PaneButton(Icon icon) {//构造方法进行初始化,设置图标
super(icon);
this.setSize(100, 100);//设置每个方格的大小
}
public void move(String direction, int sleep) {//方格的移动
if (direction == UP) {//方格向上移动
this.setLocation(this.getBounds().x, this.getBounds().y - 100);
} else if (direction == DOWN) {//方格向下移动
this.setLocation(this.getBounds().x, this.getBounds().y + 100);
} else if (direction == LEFT) {//方格向左移动
this.setLocation(this.getBounds().x - 100, this.getBounds().y);
} else {//方格向右移动
this.setLocation(this.getBounds().x + 100, this.getBounds().y);
}
}
}
public class PanelOfImage extends JPanel implements MouseListener {//图片面板加载方格对象
boolean hasAddAct
您可能关注的文档
最近下载
- IEC 61730-1 2023 必威体育精装版版中文标准.doc
- 论融资管理中存在问题与对策以格力电器为例_.docx
- 配置管理程序(ISO20000-1:2018).docx VIP
- 德国柏曼年品牌策划.ppt
- 《内科护理》4第四节 糖尿病病人的护理 教学课件.ppt VIP
- 云南白药股份有限公司财务报表分析.doc VIP
- APPROACHES AND METHODS IN LANGUAGE TEACHING教师专业发展.pdf
- 生鲜农产品冷链物流配送中心选址研究——以西安市为例.docx
- 陕西专升本英语3500词汇与高频词组.pdf VIP
- 2025年海南省公务员省考《行测》真题(含答案).pdf VIP
文档评论(0)