扫雷游戏Java源代码文档格式.docx
《扫雷游戏Java源代码文档格式.docx》由会员分享,可在线阅读,更多相关《扫雷游戏Java源代码文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
privateint[]a1;
privateJPanelp,p1,p2,p3;
publicScanLei1(Stringtitle){
super(title);
contentPane=getContentPane();
setSize(297,377);
this.setBounds(400,100,400,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
timer=newTimer(1000,(ActionListener)this);
a=newint[row+2][col+2];
initGUI();
}
publicvoidinitGUI(){
p3=newJPanel();
b=bon;
JMenuBarmenuBar=newJMenuBar();
JMenumenu1=newJMenu("
游戏"
);
JMenumenu2=newJMenu("
帮助"
JMenuItemmi1=newJMenuItem("
初级"
JMenuItemmi2=newJMenuItem("
中级"
JMenuItemmi3=newJMenuItem("
高级"
mi1.addActionListener(this);
menu1.add(mi1);
mi2.addActionListener(this);
menu1.add(mi2);
mi3.addActionListener(this);
menu1.add(mi3);
menuBar.add(menu1);
menuBar.add(menu2);
p3.add(menuBar);
b1=newJLabel(bon+"
"
a1=newint[bon];
btn=newJButton("
开始"
btn.addActionListener(this);
b2=newJLabel("
0"
b3=newJLabel("
btns=newJButton[row*col];
p=newJPanel();
p.setLayout(newBorderLayout());
contentPane.add(p);
p.add(p3,BorderLayout.NORTH);
//combo=newJComboBox(newObject[]{"
"
});
//加监听
/*combo.addItemListener(newItemListener(){
}});
*/
p1=newJPanel();
//在那个位置
//((FlowLayout)p1.getLayout()).setAlignment(FlowLayout.RIGHT);
p1.add(b1);
p1.add(btn);
p1.add(b2);
p1.add(b3);
p.add(p1,BorderLayout.CENTER);
p2=newJPanel();
p2.setLayout(newGridLayout(row,col,0,0));
for(inti=0;
i<
row*col;
i++){
btns[i]=newJButton("
btns[i].setMargin(newInsets(0,0,0,0));
btns[i].setFont(newFont(null,Font.BOLD,25));
btns[i].addActionListener(this);
btns[i].addMouseListener(newNormoreMouseEvent());
p2.add(btns[i]);
}
contentPane.add(p,BorderLayout.NORTH);
contentPane.add(p2,BorderLayout.CENTER);
publicvoidgo(){
setVisible(true);
publicstaticvoidmain(String[]args){
newScanLei1("
扫雷"
).go();
publicvoidout(int[][]a,JButton[]btns,ActionEvente,inti,intx,inty){
intp=1;
if(a[x][y]==0){
a[x][y]=10;
btns[i].setEnabled(false);
//33
for(intl=y-1;
l<
=y+1;
l++){
intm=x-1-1;
intn=l-1;
p=1;
System.out.println(a[1][2]);
if(n>
-1&
&
n<
col&
m>
m<
row)
{
for(intq=0;
q<
row&
p==1;
q++){//col-->
row;
if(((n+col*q)>
=(m*col))&
((n+col*q)<
(m+1)*col)){
if(a[x-1][l]!
=0&
a[x-1][l]!
=10){
btns[n+col*q].setText(a[x-1][l]+"
a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
}
elseif(a[x-1][l]==0){
//a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
out(a,btns,e,n+col*q,x-1,l);
////55////
a[x-1][l]=10;
p=0;
}
}
m=x;
col)
for(intq=0;
q++){
if(a[x+1][l]!
a[x+1][l]!
btns[n+col*q].setText(a[x+1][l]+"
a[x+1][l]=10;
btns[n+col*q].setEnabled(false);
elseif(a[x+1][l]==0){
out(a,btns,e,n+col*q,x+1,l);
///55////
a[x+1][l]=10;
p=0;
}
intm=x-1;
intn=y-1-1;
p=1;
if(n>
{
for(intq=0;
if(a[x][y-1]!
a[x][y-1]!
btns[n+col*q].setText(a[x][y-1]+"
a[x][y-1]=10;
elseif(a[x][y-1]==0){
out(a,btns,e,n+col*q,x,y-1);
a[x][y-1]=10;
m=x-1;
n=y+1-1;
{
if(a[x][y+1]!
a[x][y+1]!
btns[n+col*q].setText(a[x][y+1]+"
a[x][y+1]=10;
elseif(a[x][y+1]==0){
out(a,btns,e,n+col*q,x,y+1);
a[x][y+1]=10;
btns[n+col*q].setEnabled(false);
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand()=="
){
row=9;
col=9;
bon=10;
a1=newint[bon];
b=bon;
//setSize(297,377);
a=newint[row+2][col+2];
this.remove(p2);
timer.stop();
b1.setText("
10"
b2.setText("
b3.setText("
btns=newJButton[row*col];
p2=newJPanel();
p2.setLayout(newGridLayout(row,col,0,0));
for(inti=0;
btns[i]=newJButton("
"
btns[i].setMargin(newInsets(0,0,0,0));
btns[i].setFont(newFont(null,Font.BOLD,25));
btns[i].addActionListener(this);
btns[i].addMouseListener(newNormoreMouseEvent());
p2.add(btns[i]);
}
contentPane.add(p2,BorderLayout.CENTER);
this.pack();
btns[i].setText("
btns[i].setEnabled(true);
row+2;
for(intj=0;
j<
col+2;
j++){
a[i][j]=0;
}elseif(e.getActionCommand()=="
row=16;
col=16;
bon=40;
//setSize(33*col,33*row+80);
40"
col=32;
bon=99;
setSize(33*col,33*row+80);
99"
if(e.getSource()==btn){
timer.start();
//System.out.println(bon);
//清空
//产生随机数
bon;
i++)
{intp=1;
intm=(int)(Math.random()*row*col);
while(p==1){
intl=1;
intj;
for(j=0;
i&
l==1;
if(a1[j]==m){
m=(int)(Math.random()*row*col);
l=0;
if(j==i){
a1[i]=m;
}
b1.setText(bon+"
//布雷
i++){
intx=(a1[i]/col+1);
inty=(a1[i]%col+1);
a[x][y]=100;
for(intj=0;
if(i==0||j==0||i==row+1||j==col+1){
a[i][j]=0;
for(inti=1;
=row;
for(intj=1;
=col;
if(a[i][j]!
=100){
for(intl=j-1;
=j+1;
if(a[i-1][l]==100){
a[i][j]++;
if(a[i+1][l]==100){
if(a[i][j-1]==100){
a[i][j]++;
if(a[i][j+1]==100){
}
}
}
if(e.getSource()==timer)
{
Stringtime=b2.getText().trim();
intt=Integer.parseInt(time);
//System.out.println(t);
if(t>
=600){
timer.stop();
}else{
t++;
b2.setText(t+"
col*row;
if(btns[i].getText()!
="
★"
)
intx=i/col+1;
inty=i%col+1;
if(e.getSource()==btns[i]&
a[x][y]==100){
btns[i].setText("
btns[i].setEnabled(false);
for(intk=0;
k<
k++){
intm1=k/col+1;
intn1=k%