當前位置:編程學習大全網 - 源碼下載 - 多點統計源代碼

多點統計源代碼

導入Java . awt . borderlayout;

導入Java . awt . container;

導入Java . awt . font;

導入Java . awt . gridlayout;

導入Java . awt . insets;

導入Java . awt . event . action event;

導入Java . awt . event . action listener;

導入Java . awt . event . mouse adapter;

導入Java . awt . event . mouse event;

導入javax . swing . jbutton;

導入javax . swing . jframe;

導入javax . swing . jlabel;

導入javax . swing . jmenu;

導入javax . swing . jmenubar;

導入javax . swing . jmenuitem;

導入javax . swing . jpanel;

導入javax . swing . timer;

公共類ScanLei1擴展JFrame實現ActionListener{

private static final long serialVersionUID = 1L;

私有容器contentPane

私有JButton btn

私有JButton[]btns;

private JLabel b 1;

列兵JLabel b2

列兵JLabel b3

私人定時器Timer;

private int row = 9;

private int col = 9;

私有int bon = 10;

private int[][]a;

私有int b;

private int[]a 1;

private JPanel p,p1,p2,P3;

公共掃描1(字符串標題){

超級(標題);

content pane = getContentPane();

setSize(297,377);

this.setBounds(400,100,400,500);

setDefaultCloseOperation(JFrame。EXIT _ ON _ CLOSE);

timer =new Timer(1000,(action listener)this);

a = new int[row+2][col+2];

init GUI();

}

public void initGUI(){

P3 = new JPanel();

b = bon

JMenuBar menuBar = new JMenuBar();

JMenu menu 1 = new JMenu(" game ");

jmenu 2 = new jmenu(" help ");

j menuitem mi 1 = new j menuitem(" primary ");

JMenuItem mi2 = new JMenuItem(" intermediate ");

JMenuItem mi3 = new JMenuItem(" advanced ");

mi 1 . addactionlistener(this);

menu 1 . add(mi 1);

mi2 . addactionlistener(this);

menu 1 . add(mi2);

mi3 . addactionlistener(this);

menu 1 . add(mi3);

menubar . add(menu 1);

menubar . add(menu 2);

p3.add(菜單欄);

b 1 = new JLabel(bon+" ");

a 1 = new int[bon];

BTN = new JButton(" start ");

BTN . addactionlistener(this);

B2 = new JLabel(" 0 ");

b3 =新JLabel(" ");

btns = new JButton[row * col];

p = new JPanel();

p . set layout(new BorderLayout());

content pane . add(p);

p.add(p3,BorderLayout。北);

//combo = new jcombobox(new object[]{ " primary "," intermediate "," advanced " });

//添加監控

/* combo . additem listener(new item listener(){

}});*/

p 1 = new JPanel();

//在那個位置

//((flow layout)p 1 . get layout())。setAlignment( FlowLayout。對);

p 1 . add(b 1);

p 1 . add(BTN);

p 1 . add(B2);

p 1 . add(B3);

p.add(p3,BorderLayout。北);

p.add(p1,BorderLayout。中心);

p2 = new JPanel();

p2.setLayout(new GridLayout(row,col,0,0));

for(int I = 0;我& lt行*列;i++){

btns[I]= new JButton(" ");

btns[i]。setMargin(new Insets(0,0,0,0));

btns[i]。setFont(新字體(空,字體。粗體,25));

btns[i]。addActionListener(this);

btns[i]。addmouse listener(new normore mouse event());

p2 . add(btns[I]);

}

contentPane.add(p,BorderLayout。北);

contentPane.add(p2,BorderLayout。中心);

}

公共void go(){

set visible(true);

}

公共靜態void main(String[] args){

新ScanLei1(“掃雷”)。go();

}

public void out(int[][] a,JButton[] btns,ActionEvent e,int i,int x,int y){

int p = 1;

if(a[x][y]==0){

a[x][y]= 10;

btns[i]。set enabled(false);//33

for(int l = y-1;l & lt= y+1;l++){

int m = x-1-1;

int n = l-1;

p = 1;

system . out . println(a[1][2]);

如果(n & gt-1 & amp;& ampn & ltcol & amp& ampm & gt-1 & amp;& ampm & lt行)

{

for(int q = 0;q & lt排與排。& ampp = = 1;q++){//col-& gt;排;

if((n+col * q)& gt;=(m * col))& amp;& amp((n+col * q)& lt;(m+1)*col)){

if(a[x-1][l]!= 0 & amp& ampa[x-1][l]!=10){

btns[n+col*q]。setText(a[x-1][l]+" ");

a[x-1][l]= 10;

btns[n+col*q]。set enabled(false);

}

else if(a[x-1][l]==0){

//a[x-1][l]= 10;

btns[n+col*q]。set enabled(false);

out(a,btns,e,n+col*q,x-1,l);////55////

a[x-1][l]= 10;

btns[n+col*q]。set enabled(false);

}

p = 0;

}

}

}

p = 1;

m = x;

如果(n & gt-1 & amp;& ampn & ltcol & amp& ampm & gt-1 & amp;& ampm & ltcol)

{

for(int q = 0;q & lt排與排。& ampp = = 1;q++){

if((n+col * q)& gt;=(m * col))& amp;& amp((n+col * q)& lt;(m+1)*col)){

if(a[x+1][l]!= 0 & amp& ampa[x+1][l]!=10){

btns[n+col*q]。setText(a[x+1][l]+" ");

a[x+1][l]= 10;

btns[n+col*q]。set enabled(false);

}

else if(a[x+1][l]==0){

out(a,btns,e,n+col*q,x+1,l);///55////

a[x+1][l]= 10;

btns[n+col*q]。set enabled(false);

}

p = 0;

}

}

}

}

int m = x-1;

int n = y-1-1;

p = 1;

如果(n & gt-1 & amp;& ampn & ltcol & amp& ampm & gt-1 & amp;& ampm & ltcol)

{

for(int q = 0;q & lt排與排。& ampp = = 1;q++){

if((n+col * q)& gt;=(m * col))& amp;& amp((n+col * q)& lt;(m+1)*col)){

if(a[x][y-1]!= 0 & amp& ampa[x][y-1]!=10){

btns[n+col*q]。setText(a[x][y-1]+" ");

a[x][y-1]= 10;

btns[n+col*q]。set enabled(false);

}

else if(a[x][y-1]==0){

out(a,btns,e,n+col*q,x,y-1);

a[x][y-1]= 10;

btns[n+col*q]。set enabled(false);

}

p = 0;

}

}

}

p = 1;

m = x-1;

n = y+1-1;

如果(n & gt-1 & amp;& ampn & ltcol & amp& ampm & gt-1 & amp;& ampm & ltcol)

{

for(int q = 0;q & lt排與排。& ampp = = 1;q++){

if((n+col * q)& gt;=(m * col))& amp;& amp((n+col * q)& lt;(m+1)*col)){

if(a[x][y+1]!= 0 & amp& ampa[x][y+1]!=10){

btns[n+col*q]。setText(a[x][y+1]+" ");

a[x][y+1]= 10;

btns[n+col*q]。set enabled(false);

}

else if(a[x][y+1]==0){

out(a,btns,e,n+col*q,x,y+1);

a[x][y+1]= 10;

btns[n+col*q]。set enabled(false);

}

p = 0;

}

}

}

}

}

public void action performed(action event e){

if(e . getactioncommand()= = " elemental "){

row = 9;

col = 9;

bon = 10;

a 1 = new int[bon];

b = bon

//setSize(297,377);

a = new int[row+2][col+2];

this . remove(p2);

timer . stop();

b 1 . settext(" 10 ");

B2 . settext(" 0 ");

B3 . settext(" ");

btns = new JButton[row * col];

p2 = new JPanel();

p2.setLayout(new GridLayout(row,col,0,0));

for(int I = 0;我& lt行*列;i++){

btns[I]= new JButton(" ");

btns[i]。setMargin(new Insets(0,0,0,0));

btns[i]。setFont(新字體(空,字體。粗體,25));

btns[i]。addActionListener(this);

btns[i]。addmouse listener(new normore mouse event());

p2 . add(btns[I]);

}

contentPane.add(p2,BorderLayout。中心);

//setSize(297,377);

this . pack();

for(int I = 0;我& lt行*列;i++){

btns[i]。setText(" ");

btns[i]。setEnabled(真);

}

for(int I = 0;我& lt行+2;i++){

for(int j = 0;j & ltcol+2;j++){

a[I][j]= 0;

}

}

} else if(e . getactioncommand()= = " intermediate "){

row = 16;

col = 16;

bon = 40

//setSize(33*col,33 * row+80);

a 1 = new int[bon];

a = new int[row+2][col+2];

b = bon

this . remove(p2);

timer . stop();

b 1 . settext(" 40 ");

B2 . settext(" 0 ");

B3 . settext(" ");

btns = new JButton[row * col];

p2 = new JPanel();

p2.setLayout(new GridLayout(row,col,0,0));

for(int I = 0;我& lt行*列;i++){

btns[I]= new JButton(" ");

btns[i]。setMargin(new Insets(0,0,0,0));

btns[i]。setFont(新字體(空,字體。粗體,25));

btns[i]。addActionListener(this);

btns[i]。addmouse listener(new normore mouse event());

p2 . add(btns[I]);

}

contentPane.add(p2,BorderLayout。中心);

this . pack();

//setSize(33*col,33 * row+80);

for(int I = 0;我& lt行*列;i++){

btns[i]。setText(" ");

btns[i]。setEnabled(真);

}

for(int I = 0;我& lt行+2;i++){

for(int j = 0;j & ltcol+2;j++){

a[I][j]= 0;

}

}

} else if(e . getactioncommand()= = " advanced "){

row = 16;

col = 32

bon = 99

setSize(33*col,33 * row+80);

a 1 = new int[bon];

a = new int[row+2][col+2];

b = bon

this . remove(p2);

timer . stop();

b 1 . settext(" 99 ");

B2 . settext(" 0 ");

B3 . settext(" ");

btns = new JButton[row * col];

p2 = new JPanel();

p2.setLayout(new GridLayout(row,col,0,0));

for(int I = 0;我& lt行*列;i++){

btns[I]= new JButton(" ");

btns[i]。setMargin(new Insets(0,0,0,0));

btns[i]。setFont(新字體(空,字體。粗體,25));

btns[i]。addActionListener(this);

btns[i]。addmouse listener(new normore mouse event());

p2 . add(btns[I]);

}

contentPane.add(p2,BorderLayout。中心);

//setSize(33*col,33 * row+80);

this . pack();

for(int I = 0;我& lt行*列;i++){

btns[i]。setText(" ");

btns[i]。setEnabled(真);

}

for(int I = 0;我& lt行+2;i++){

for(int j = 0;j & ltcol+2;j++){

a[I][j]= 0;

}

}

}

if(e.getSource()==btn){

timer . start();

b = bon

B3 . settext(" ");

//system . out . println(bon);

//空的

for(int I = 0;我& lt行*列;i++){

btns[i]。setText(" ");

btns[i]。setEnabled(真);

}

for(int I = 0;我& lt行+2;i++){

for(int j = 0;j & ltcol+2;j++){

a[I][j]= 0;

}

}

//生成隨機數

for(int I = 0;我& ltboni++)

{ int p = 1;

int m =(int)(math . random()* row * col);

while(p==1){

int l = 1;

int j;

for(j = 0;j & lt我& amp& ampl = = 1;j++){

if(a1[j]==m){

m =(int)(math . random()* row * col);

l = 0;

}

}

if(j==i){

a 1[I]= m;

p = 0;

}

}

}

b 1 . settext(bon+" ");

B2 . settext(" 0 ");

//我的

for(int I = 0;我& ltboni++){

int x =(a 1[I]/col+1);

int y =(a 1[I]% col+1);

a[x][y]= 100;

}

for(int I = 0;我& lt行+2;i++){

for(int j = 0;j & ltcol+2;j++){

if(I = = 0 | | j = = 0 | | I = = row+1 | | j = = col+1){

a[I][j]= 0;

}

}

}

for(int I = 1;我& lt=行;i++){

for(int j = 1;j & lt= colj++){

if(a[i][j]!=100){

for(int l = j-1;l & lt= j+1;l++){

if(a[I-1][l]= = 100){

a[I][j]++;

}

if(a[I+1][l]= = 100){

a[I][j]++;

}

}

if(a[I][j-1]= = 100){

a[I][j]++;

}

if(a[I][j+1]= = 100){

a[I][j]++;

}

}

}

}

}

if(e.getSource()==timer)

{

String time=b2.getText()。trim();

int t = integer . parse int(time);

//system . out . println(t);

if(t & gt;=600){

timer . stop();

}否則{

t++;

B2 . settext(t+" ");

}

}

for(int I = 0;我& ltcol * rowi++){

if(btns[i].getText()!="★")

{

int x = I/col+1;

int y = I % col+1;

if(e . getsource()= = btns[I]& amp;& ampa[x][y]==100){

btns[i]。setText("★");

btns[i]。set enabled(false);

a[x][y]= 10;

for(int k = 0;k & ltcol * rowk++){

int m 1 = k/col+1;

int n 1 = k % col+1;

if(a[m1][n1]!= 10 & amp;& ampbtns[k]。getText()=="★"){

btns[k]。setText(" * o * ");

}

}

for(int j = 0;j & ltcol * rowj++){

int m = j/col+1;

int n = j % col+1;

if(a[m][n]==100){

btns[j]。setText("★");

btns[j]。set enabled(false);

B3.setText("妳輸了!!");

}

btns[j]。set enabled(false);

a[m][n]= 10;

}

timer . stop();

}

else if(e . getsource()= = btns[I]){

if(a[x][y]==0){

out(a,btns,e,I,x,y);

a[x][y]= 10;

btns[i]。set enabled(false);

}

if(a[x][y]!= 0 & amp& ampa[x][y]!=10){

btns[i]。setText(a[x][y]+" ");

btns[i]。set enabled(false);

a[x][y]= 10;

}

}

}else if(btns[i].getText()=="★"){

}

}

}

類NormoreMouseEvent擴展了MouseAdapter{

public void mouse clicked(mouse event e){

system . out . println(b);

for(int I = 0;我& ltcol * rowi++){

int x 1 = I/col+1;

int y 1 = I % col+1;

if(e . getsource()= = btns[I]& amp;& ampbtns[i]。getText()!= "★" & amp;& ampa[x1][y1]!=10)

{

if(e.getButton()==MouseEvent。按鈕3){

btns[i]。setText("★");

B-;

if(b==0){

int flag = 0;

for(int j = 0;j & ltcol * rowj++){

int x = j/col+1;

int y = j % col+1;

if(a[x][y]= = 100 & amp;& ampbtns[j]。getText()=="★"){

flag++;

}

}

if(flag==bon){

timer . stop();

B3.setText("妳贏了!");

}

}

b 1 . settext(b+ " ");

}

} else if(e . getsource()= = btns[I]& amp;& ampbtns[i]。getText()= = "★" & amp;& ampa[x1][y1]!=-1){

if(e.getButton()==MouseEvent。按鈕3){

btns[i]。setText(" ");

b++;

如果(b & gtbon){

b 1 . settext(bon+" ");

}

否則{

b 1 . settext(b+ " ");

}

btns[i]。setEnabled(真);

}

}

}

}

}

}

  • 上一篇:現在的智能手機都有哪些系統,各自有什麽優缺點?哪種系統比較好用?
  • 下一篇:有關住宅的風水
  • copyright 2024編程學習大全網