本文目录一览:
- 1、用java做拼图游戏,怎样再载入图片时,让其中的一块是空白
- 2、急求用JAVA编写的图形化界面拼图小游戏代码!
- 3、java做的拼图游戏怎么实现更换图片哦
- 4、java拼图游戏不成功为什么
- 5、java制作拼图游戏的流程图,是个简单的3*3的拼图游戏
用java做拼图游戏,怎样再载入图片时,让其中的一块是空白
采用网格布局,初始化的时候,将图片写入到JLabel中,最后一个JLabel不写入任何信息,再用集合将JLabel添加进去,利用Collections.shuffle(集合)方法将其打乱顺序,然后一个循环将其写入网格布局中~
急求用JAVA编写的图形化界面拼图小游戏代码!
个人见解,总体需要两个二维数组(一个存储正确图片排列 Array1 String[][],一个随机生成图片排列Array2 String[][]),一个一维数组来存储图片的名称Array3 String[],。
(1)如何实现图片移动
使用带图片的按钮(button =new button(getImage(Array[2][4]))),然后通过单击事件来更改按钮的图片来源。 把被点击的按钮的图片路径更新到空白按钮,并且把被点击的按钮图片更新的成空白。其实就是变换两个的二维数组成员的值。更新Array2中的值,然后重绘按钮
如 Array[2][3]=“3.image”
Array[2][4]=“”
图片3.image右移
Array[2][3]=“”
Array[2][4]=“3.image”
(2)如何判断被单击的网格与空白的网格是否相邻
后台使用一个二维数组Array2来做映射。通过二维数组的下标来判断,如Array[2][3]可以知道Array[2][4]是它右边的那个。
(3)如何实现图片的随机摆放
比如有9个图片,你可以命名1-9,然后初始化一个长度为9的一维String 数组Array3来存储图片的名称,
使用随机函数给二维数组Array2赋值,如Array2[2][3]=Array3[random()],这里要判断这个图片是否已被使用过,可以通过遍历Array2来确定当前Array3这个值是否已经在Array2中了
最后通过Array1 和Array2来比较,用户的拼图是否正确。
语言组织能力有限。讲不太清楚。
java做的拼图游戏怎么实现更换图片哦
编写拼图按钮的监听器类,该类为主类的内部类。
在actionPerformed()方法中,首先获得空白按钮和被单击按钮的所在行和列,
然后判断这两个按钮是否相邻,如果相邻则将被单击按钮显示的图片移动到空白按钮上,并令被单击按钮显示空白图片,以及将在类中声明的空白按钮对象设置为被单击的按钮对象
思路就这样,我给你个示例代码,你参考参考哦:
class ImgButtonAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
String emptyName = emptyButton.getName();
char emptyRow = emptyName.charAt(0);
char emptyCol = emptyName.charAt(1);
JButton clickButton = (JButton) e.getSource();
String clickName =clickButton.getName();
char clickRow = clickName.charAt(0);
char clickCol = clickName.charAt(1);
if(Math.abs(clickRow - emptyRow) + Math.abs(clickCol - emptyCol) == 1) {
emptyButton.setIcon(clickButton.getIcon()) ;
clickButton.setIcon(new ImageIcon("img/00.jpg"));
emptyButton = clickButton;
}
}
}
大概就这样了
希望对你有帮助哈
java拼图游戏不成功为什么
从代码和错误提示来看
button 对象只有声明, 并没有赋值,默认是null .用一个null对象去调用方法,那么就会抛出异常.没有进行异常处理,程序就会崩溃
button.addActionListener(new ImgButtonAction());// 出错...因为button为null
解决办法: button对象先赋值(不能为null)再使用
建议你写代码,添加必要的注释,对每个方法的说明, 以及对每个比较难一眼看懂的算法进行说明.,会比较好.
以前也写过一个拼图,比较简单.思路跟你可能差不多:
1:用按钮去显示图片的一部分.并且每个按钮都有个value属性,从1,2,3,....9,0
(value为0按钮在最后面,并不显示图片) .想要胜利,就需要图片按钮的value属性能满足下面的二维数组
int[][] win = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 0 } };
2: 点击图片按钮,判断是否可以交换位置,如果旁边是value为0的按钮,那么可以交换位置,每次交换后,记得判断是否胜利
3: 打乱的图片按钮,不一定能求解, 如果不能求解,那么重新打乱
效果图大概是
java制作拼图游戏的流程图,是个简单的3*3的拼图游戏
用swing先构建一个框架 调用APPlet然后建几个变量就行了 3*3就是需要8个 绑定个小数据库
判定下当这8个先用按钮代替 ,最后再把按钮整成图片就行了 ,还有格局设置大小,都是这个位置是为真就完了,主要还是看你怎么布局了,先看看SWING的那个布局,就这个思想