java实战之连连看游戏源码(完整版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class liankan implements ActionListener {JFrame mainFrame; //主面板JPanel centerPanel,saidPanel; //子面板

JButton diamondsButton[][] = new JButton[10][10];//游戏按钮数组

JButton firstButton, secondButton; //分别记录两次被选中的按钮

JButton backButton,remarkButton,newlyButton,startButton;//返回,重列,重新,开始|暂停按钮

JLabel lable1 = new JLabel("分数:

");

JLabel lable2 = new JLabel("0"); //分数标签

int grid[][] = new int[12][12];

static boolean pressInformation = false; //判断是否有按钮被选中

int x0 = 0, y0 = 0, x = 0, y = 0, fristMsg = 0, secondMsg = 0, validateLV; //游戏按钮的位置坐标

int i, j, k, n;//消除方法控制

public void AddGif(){for (int cols = 0; cols < 10; cols++){for (int rows = 0; rows < 10; rows++){diamondsButton[cols][rows]=new JButton(new

ImageIcon(String.valueOf(grid[cols + 1][rows + 1])+".gif"));

diamondsButton[cols][rows].addActionListener(this);

centerPanel.add(diamondsButton[cols][rows]);}}}public void

create(){mainFrame = new JFrame("连连看");

mainFrame.setLayout(null);

centerPanel = new JPanel();

saidPanel = new JPanel();

saidPanel.setLayout(null);

saidPanel.setBackground(Color.yellow);

centerPanel.setLayout(new GridLayout(10,10)); //10*10的网格布局AddGif();

backButton = new JButton("返回");

backButton.addActionListener(this);

remarkButton = new JButton("重列");

remarkButton.addActionListener(this);

newlyButton = new JButton("重新开始");

newlyButton.addActionListener(this);

mainFrame.setBounds(100, 100, 750, 550);

mainFrame.add(centerPanel);

saidPanel.add(lable1);

saidPanel.add(lable2);

mainFrame.add(saidPanel);

saidPanel.add(remarkButton);

saidPanel.add(newlyButton);

remarkButton.setBounds(100,100,90,30);

newlyButton.setBounds(100,150,90,30);

saidPanel.setBounds(470,0,270,530);

lable1.setBounds(100,50,70,50);

lable2.setBounds(170,50,100,50);

centerPanel.setBounds(50,50,370,410);

mainFrame.setVisible(true);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void randomBuild(){int randoms, cols, rows;

for (int twins = 1; twins <= 25; twins++)

{//一共15对button,30个

randoms = (int) (Math.random() * 25 + 1);//button上的数字

for (int alike = 1; alike <= 4; alike++){cols = (int) (Math.random() * 10 + 1);

rows = (int) (Math.random() * 10 + 1);

while (grid[cols][rows] != 0) //等于0说明这个空格有了button {

cols = (int) (Math.random() * 10 + 1);

rows = (int) (Math.random() * 10 + 1);}this.grid[cols][rows] = randoms;}}}public void reload(){int save[] = new int[100];

int n = 0, cols, rows;

int grid[][] = new int[12][12];

for (int i = 0; i <= 10; i++){for (int j = 0; j <= 10; j++){if (this.grid[i][j] != 0){save[n] = this.grid[i][j];//记下每个button的数字

n++;//有几个没有消去的button }}}n = n - 1;

this.grid = grid;

相关文档
最新文档