专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java游戏代码之连连看

Java游戏代码之连连看

更新时间:2021-05-18 10:38:11 来源:动力节点 浏览611次

连连看java源代码

import
javax.swing.*;
import
java.awt.*;
import
java.awt.event.*;
public
class
lianliankan
implements
ActionListener
{
JFrame
mainFrame;
//主面板
Container
thisContainer;
JPanel
centerPanel,southPanel,northPanel;
//子面板
JButton
diamondsButton[][]
=
new
JButton[6][5];//游戏按钮数组
JButton
exitButton,resetButton,newlyButton;
//退出,重列,重新开始按钮
JLabel
fractionLable=new
JLabel("0");
//分数标签
JButton
firstButton,secondButton;
//分别记录两次被选中的按钮
int
grid[][]
=
new
int[8][7];//储存游戏按钮位置
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
init(){
mainFrame=new
JFrame("JKJ连连看");
thisContainer
=
mainFrame.getContentPane();
thisContainer.setLayout(new
BorderLayout());
centerPanel=new
JPanel();
southPanel=new
JPanel();
northPanel=new
JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new
GridLayout(6,5));
for(int
cols
=
0;cols
<
6;cols++){
for(int
rows
=
0;rows
<
5;rows++
){
diamondsButton[cols][rows]=new
JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new
JButton("退出");
exitButton.addActionListener(this);
resetButton=new
JButton("重列");
resetButton.addActionListener(this);
newlyButton=new
JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public
void
randomBuild()
{
int
randoms,cols,rows;
for(int
twins=1;twins<=15;twins++)
{
randoms=(int)(Math.random()*25+1);
for(int
alike=1;alike<=2;alike++)
{
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0)
{
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public
void
fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public
void
reload()
{
int
save[]
=
new
int[30];
int
n=0,cols,rows;
int
grid[][]=
new
int[8][7];
for(int
i=0;i<=6;i++)
{
for(int
j=0;j<=5;j++)
{
if(this.grid[i][j]!=0)
{
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n>=0)
{
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0)
{
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false;
//这里一定要将按钮点击信息归为初始
init();
for(int
i
=
0;i
<
6;i++){
for(int
j
=
0;j
<
5;j++
){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public
void
estimateEven(int
placeX,int
placeY,JButton
bz)
{
if(pressInformation==false)
{
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else
{
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg

以上就是动力节点小编介绍的"Java游戏代码之连连看",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>