关于java33拼图代码的信息

急求用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制作拼图游戏的流程图,是个简单的3*3的拼图游戏

用swing先构建一个框架 调用APPlet然后建几个变量就行了 3*3就是需要8个 绑定个小数据库

判定下当这8个先用按钮代替 ,最后再把按钮整成图片就行了 ,还有格局设置大小,都是这个位置是为真就完了,主要还是看你怎么布局了,先看看SWING的那个布局,就这个思想

求一java拼图源程序

package love;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.*;

public class Games extends JFrame implements ActionListener {

private JButton buttons[][];// 存储按键的数组

private Container container;// 一个容器

private GridLayout layout;// 布局方式为GridLayout

private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组

public Games() {

super("拼图游戏");// 设置标题

layout = new GridLayout(3, 3);// 3行3列

container = getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常

container.setLayout(layout);// 将该布局方式作用于容器

buttons = new JButton[3][3];// 给按键数组分配储存空间

int locate1, locate2;// locate1用来指示当前产生的元素 locate2用来指示locate1之前的元素

for (locate1 = 0; locate1 8; locate1++) {// 该方法作用是产生1到8这8个数,随机分配给数组,即无序排列

int g = new Random().nextInt(8) + 1;// 随机产生一个空白按键,即不显示的那个

is[locate1] = g;

for (locate2 = locate1 - 1; 0 = locate2; locate2--) {

if (is[locate1] == is[locate2])

break;

}

if (locate2 != -1)

locate1--;

}

int temp = 0;

int r = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的行

int l = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的列

for (int i = 0; i 3; i++) {

for (int j = 0; j 3; j++) {

if (r == i l == j) {// 空白按键设置为9,不显示

buttons[i][j] = new JButton("9");

container.add(buttons[i][j]);

buttons[i][j].setVisible(false);

} else {

buttons[i][j] = new JButton("" + is[temp++]);// 将数组数组的值作为显示的8个按键的名字

container.add(buttons[i][j]);

}

buttons[i][j].addActionListener(this);// 注册监听事件

}

}

setSize(300, 300);// 设置显示容器区域大小

setVisible(true);

}

public void actionPerformed(ActionEvent event) {// 事件处理,由于计算量小该处将所有按键单独分析

JButton b = (JButton) event.getSource();

if (b == buttons[0][0]) {

if (buttons[0][1].getText().equals("9")) {

buttons[0][1].setText("" + buttons[0][0].getText());

buttons[0][1].setVisible(true);

buttons[0][0].setText("9");

buttons[0][0].setVisible(false);

count++;

} else if (buttons[1][0].getText().equals("9")) {

buttons[1][0].setText("" + buttons[0][0].getText());

buttons[1][0].setVisible(true);

buttons[0][0].setText("9");

buttons[0][0].setVisible(false);

count++;

}

}

else if (b == buttons[0][1]) {

if (buttons[0][0].getText().equals("9")) {

buttons[0][0].setText("" + buttons[0][1].getText());

buttons[0][0].setVisible(true);

buttons[0][1].setText("9");

buttons[0][1].setVisible(false);

count++;

} else if (buttons[0][2].getText().equals("9")) {

buttons[0][2].setText("" + buttons[0][1].getText());

buttons[0][2].setVisible(true);

buttons[0][1].setText("9");

buttons[0][1].setVisible(false);

count++;

} else if (buttons[1][1].getText().equals("9")) {

buttons[1][1].setText("" + buttons[0][1].getText());

buttons[1][1].setVisible(true);

buttons[0][1].setText("9");

buttons[0][1].setVisible(false);

count++;

}

} else if (b == buttons[0][2]) {

if (buttons[0][1].getText().equals("9")) {

buttons[0][1].setText("" + buttons[0][2].getText());

buttons[0][1].setVisible(true);

buttons[0][2].setText("9");

buttons[0][2].setVisible(false);

count++;

} else if (buttons[1][2].getText().equals("9")) {

buttons[1][2].setText("" + buttons[0][2].getText());

buttons[1][2].setVisible(true);

buttons[0][2].setText("9");

buttons[0][2].setVisible(false);

count++;

}

} else if (b == buttons[1][0]) {

if (buttons[0][0].getText().equals("9")) {

buttons[0][0].setText("" + buttons[1][0].getText());

buttons[0][0].setVisible(true);

buttons[1][0].setText("9");

buttons[1][0].setVisible(false);

count++;

} else if (buttons[1][1].getText().equals("9")) {

buttons[1][1].setText("" + buttons[1][0].getText());

buttons[1][1].setVisible(true);

buttons[1][0].setText("9");

buttons[1][0].setVisible(false);

count++;

} else if (buttons[2][0].getText().equals("9")) {

buttons[2][0].setText("" + buttons[1][0].getText());

buttons[2][0].setVisible(true);

buttons[1][0].setText("9");

buttons[1][0].setVisible(false);

count++;

}

} else if (b == buttons[1][1]) {

if (buttons[0][1].getText().equals("9")) {

buttons[0][1].setText("" + buttons[1][1].getText());

buttons[0][1].setVisible(true);

buttons[1][1].setText("9");

buttons[1][1].setVisible(false);

count++;

} else if (buttons[1][0].getText().equals("9")) {

buttons[1][0].setText("" + buttons[1][1].getText());

buttons[1][0].setVisible(true);

buttons[1][1].setText("9");

buttons[1][1].setVisible(false);

count++;

} else if (buttons[1][2].getText().equals("9")) {

buttons[1][2].setText("" + buttons[1][1].getText());

buttons[1][2].setVisible(true);

buttons[1][1].setText("9");

buttons[1][1].setVisible(false);

count++;

} else if (buttons[2][1].getText().equals("9")) {

buttons[2][1].setText("" + buttons[1][1].getText());

buttons[2][1].setVisible(true);

buttons[1][1].setText("9");

buttons[1][1].setVisible(false);

count++;

}

} else if (b == buttons[1][2]) {

if (buttons[0][2].getText().equals("9")) {

buttons[0][2].setText("" + buttons[1][2].getText());

buttons[0][2].setVisible(true);

buttons[1][2].setText("9");

buttons[1][2].setVisible(false);

count++;

} else if (buttons[2][2].getText().equals("9")) {

buttons[2][2].setText("" + buttons[1][2].getText());

buttons[2][2].setVisible(true);

buttons[1][2].setText("9");

buttons[1][2].setVisible(false);

count++;

} else if (buttons[1][1].getText().equals("9")) {

buttons[1][1].setText("" + buttons[1][2].getText());

buttons[1][1].setVisible(true);

buttons[1][2].setText("9");

buttons[1][2].setVisible(false);

count++;

}

} else if (b == buttons[2][0]) {

if (buttons[1][0].getText().equals("9")) {

buttons[1][0].setText("" + buttons[2][0].getText());

buttons[1][0].setVisible(true);

buttons[2][0].setText("9");

buttons[2][0].setVisible(false);

count++;

} else if (buttons[2][1].getText().equals("9")) {

buttons[2][1].setText("" + buttons[2][0].getText());

buttons[2][1].setVisible(true);

buttons[2][0].setText("9");

buttons[2][0].setVisible(false);

count++;

}

}

else if (b == buttons[2][1]) {

if (buttons[2][0].getText().equals("9")) {

buttons[2][0].setText("" + buttons[2][1].getText());

buttons[2][0].setVisible(true);

buttons[2][1].setText("9");

buttons[2][1].setVisible(false);

count++;

} else if (buttons[2][2].getText().equals("9")) {

buttons[2][2].setText("" + buttons[2][1].getText());

buttons[2][2].setVisible(true);

buttons[2][1].setText("9");

buttons[2][1].setVisible(false);

count++;

} else if (buttons[1][1].getText().equals("9")) {

buttons[1][1].setText("" + buttons[2][1].getText());

buttons[1][1].setVisible(true);

buttons[2][1].setText("9");

buttons[2][1].setVisible(false);

count++;

}

} else if (b == buttons[2][2]) {

if (buttons[2][1].getText().equals("9")) {

buttons[2][1].setText("" + buttons[2][2].getText());

buttons[2][1].setVisible(true);

buttons[2][2].setText("9");

buttons[2][2].setVisible(false);

count++;

} else if (buttons[1][2].getText().equals("9")) {

buttons[1][2].setText("" + buttons[2][2].getText());

buttons[1][2].setVisible(true);

buttons[2][2].setText("9");

buttons[2][2].setVisible(false);

count++;

}

}

if (buttons[0][0].getText().equals("1")// 假如1到8已经排列完成,则执行该语句

buttons[0][1].getText().equals("2")

buttons[0][2].getText().equals("3")

buttons[1][0].getText().equals("4")

buttons[1][1].getText().equals("5")

buttons[1][2].getText().equals("6")

buttons[2][0].getText().equals("7")

buttons[2][1].getText().equals("8")) {

JOptionPane.showMessageDialog(null, "您一共花费了" + count + "步完成了游戏!");// 弹出对话框,显示共移动步数

System.exit(0);// 退出程序

}

}

public static void main(String[] args) {

Games game = new Games();

game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}


分享名称:关于java33拼图代码的信息
当前网址:http://bzwzjz.com/article/hhcjhg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 成都网站建设 广安网站设计 重庆网站制作 古蔺网站建设 网站建设 成都网站制作 高端网站设计 成都网站制作 营销网站建设 成都网站建设 网站建设 成都网站建设 商城网站建设 网站制作公司 成都网站设计制作公司 网站建设费用 手机网站设计 成都网站建设公司 定制网站制作 营销型网站建设 成都网站建设