java拼图游戏(带文档资料)

您所在的位置:网站首页 拼图素材包 java拼图游戏(带文档资料)

java拼图游戏(带文档资料)

2024-07-10 21:16| 来源: 网络整理| 查看: 265

开发工具:eclipse,jdk1.8

1.概述 拼图游戏是广受欢迎的一种智力游戏,它的变化多端,难度不一,让人百玩不厌。拼图游戏是把一张图片分成多个小块,根据难度一般有9块(3×3)、16块(4×4)、25块(5×5)等,然后随机打乱图块的顺序,重新把拼图还原成原来的样子。这次我做的这个拼图小游戏就是一个简单的3×3小拼图,可以实现一般的拼图功能,并且可以选择不同的图片。操作也是非常简单,鼠标点击“开始游戏”进行游戏,然后用鼠标点击拼图块完成拼图就可以了。 2.程序分析。 该游戏程序由MyMainFrame、MyCanvas、Cell三部分组成,其中Cell类是继承的按钮类,并加上相应图片形成拼图方格, MyCanvas类是一个面板,加载Cell类的对象(方格),是这三个类中的核心,并且定义了接收鼠标事件以及开始游戏的方法,MyMainFrame类是主程序,初始化了面板,并在面板上添加了按钮。 3.程序设计, 3.1程序目标 ①将原始图片分割成大小相同的9个小方格,每个小方格加载相应的图片; ②通过鼠标点击小方格来进行移动; ③用户界面具有标题,并且在上方面板上添加“开始游戏”、“查看图片”、“选择图片”按钮; ④原始图片至少有5张以上,进行游戏时可以选择任意一张; ⑤用户界面美观、简洁、友好,符合日常软件的使用规范; ⑥当完成拼图是会弹出消息框显示“恭喜你完成拼图”。 文档截图 在这里插入图片描述 在这里插入图片描述

①Cell模块 首先Cell类继承了JButton类,然后构造了宽100,高100的方格,this.setSize(100,100)就是设定方格大小的语句。然后还定义了方格移动的方法,当参数direction为“UP”时,方格向上移动,用this.setLocation()实现;当参数direction为“DOWN”时,方格向下移动;当参数direction为“LEFT”时,方格向左移动;当参数direction为“RIHGT”时,方格向右移动。 主要方法代码如下: Cell(Icon icon){构造方格 super(icon);//调用父类构造函数 this.setSize(100,100);//每块方格拼图设置为宽100,高100 } Move方法用来进行方格的移动: 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); } } ②MyCanvas模块 MyCanvas类首先继承JPanel类,并实现MouseListener接口。MyCanvas类构造了一个宽400,高400的容器,用this.setSize(400,400)实现。接着构造了一个宽100,高100的空方格区域放在第三行每三列,然后为9个方格加载图片,并初使化坐标,形成三行三列,最后还要移除最后一个方格。模块还定义了一个方法isFinish来判断拼图是否拼合成功,成功返回true,否则返回false。 模块定义了Start方法来开始游戏,使方格随机排序。还定义了方格的鼠标事件mousePressed(MouseEvent arg0)来进行点击方格跟空方格的交换。当完成拼图时,用JOptionPane.showMessageDialog(this,"恭喜你完成拼图!")弹出消息框显示“恭喜你完成拼图!” 主要方法代码如下: MyCanvas方法用来初始化方格并给方格加载图片: public MyCanvas() {初始化方格,并给每个方格加载图片 this.setLayout(null);//设置此容器的布局管理器 this.setSize(400,400); cellNull=new Rectangle(200,200,100,100);//空方格区域在第三行每三列,宽100,高100 cell=new Cell[9]; Icon icon; for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3