扫雷游戏java

扫雷游戏java

首页休闲益智扫雷大作战更新时间:2024-04-30
前言

在我小的时候,电脑上有一款自带的游戏,每当打开电脑发现电脑没有网时,就会把这个游戏打开玩一玩,当时还不知道这个游戏是怎么玩的,而且这个游戏看起来非常单调无聊,所以直到现在通过网上查找资料才知道这个游戏的规则是什么,但我最近看着这个游戏的逻辑很简单,也想自己尝试着用代码敲一敲。

一、整体思路

扫雷游戏第一步,需要先确定雷区的长度和宽度,再确定雷区中地雷的个数。可以通过一个二维数组来实现,将二维数组中的所有数全部赋值为零,通过for循环来产生地雷,在数组中如果是地雷则值为-1,如果该值已经为-1了,则继续循环。通过这一操作我们可以把地雷的分布图给做出来。

再根据所得到的数组,通过对数组中的每个数进行访问,将每个数在二维数组中其他周围八个方格中有多少个地雷进行计数,如果该数组中的值为-1,则不需要进行操作,之后再把加起来的数填入该方格中,就能得到图像的内层图了。
图像建立好之后我们需要进行踩雷,插旗子或取旗子,打问号或去问号,三个操作。

踩雷有三种情况,一,如果踩到了方格在数组中的值为-1,则将所有的地雷全部显示出来,然后结束整个游戏。二,如果踩到了方格中的值为1,2,3,4,5,6,7,8就只需要显示该方格这个数就可以了。三,如果踩到的方格为0,则我们需要通过递归算法与计数这两步操作将其他周围方格为0全部显示出来并且它四周围绕的是不为0的方格。

插旗子和打问号都是两个一样的操作,选择一个在数组中的坐标,同时,我们可以建立一个新的数组,来记录这些坐标,当我们下一次通过踩地雷操作来访问这些坐标时,则会提示该坐标无法进行踩雷操作,而取旗子和去问号与插旗子和打问号操作相反,整体思路大致是这样。

二、递归算法与计数

这是我在做扫雷游戏这个过程中遇到的一个难点,就是将他周围的方格如果没有地雷全部都显示出来的操作。可以通过上下左右四个方向进行递归操作,从而来显示他周围所有的方格。但是递归算法如果不对他进行限制,那么,它将永无止境的进行下去,但是程序的递归深度总是有限的,所以,当程序运行到一定深度时,程序就会自动报错,因此,我们可以通过计数操作,来将这些已经递归过的方格排除掉,通过这样的操作就能够实现方格中空格和数的显示了。

具体代码如下

private void chuli1(int H1,int H2){ StringBuilder JJ; for(int i=H1-1;i<=H1 1;i ) { for(int j=H2-1;j<=H2 1;j ) { if(i>=0&&i<this.L2&&j>=0&&j<this.L1&&A[i][j]==0&&zhongyao[i][j]==0) { if(tuixiang[i].charAt(j)=='■') { qizi--; } if(tuixiang[i].charAt(j)=='?') { wenhao--; } JJ=new StringBuilder(tuixiang[i]); JJ.setCharAt(j,' '); tuixiang[i]=JJ.toString(); zhongyao[i][j] ; chuli1(i,j); } else if(i>=0&&i<this.L2&&j>=0&&j<this.L1&&A[i][j]!=0&&A[i][j]!=-1&&zhongyao[i][j]==0) { if(tuixiang[i].charAt(j)=='■') { qizi--; } if(tuixiang[i].charAt(j)=='?') { wenhao--; } JJ=new StringBuilder(tuixiang[i]); JJ.setCharAt(j,(char)(A[i][j] 48)); zhongyao[i][j] ; tuixiang[i]=JJ.toString(); } } } }三、代码的运行过程

四、整体代码

主程序代码:

import java.util.Scanner; public class SaoLei { //雷区的长度 private int L1; //雷区的宽度 private int L2; //地雷的个数 private int shuliang; //雷区图像1 private int [][]A; //雷区图像2 private String []tuixiang; //显示单元的个数 private int geshu; //雷区图像3 private int [][]zhongyao; //重要信息1 private int JDK; //重要信息2 private int JKK; //旗子的个数 private int qizi; //问号的个数 private int wenhao; //雷区长度和宽度的输入 private void T1(){ Scanner input=new Scanner(System.in); System.out.println("提示:雷区的长度和宽度的范围为[2,64],地雷的个数要小于雷区的总个数"); System.out.print("请输入雷区的长度:"); do { this.L1=input.nextInt(); if(this.L1<=1) { System.out.println("输入雷区的长度不正确!"); System.out.print("请重新输入:"); } if(this.L1>64) { System.out.println("输入的雷区长度过大!"); System.out.print("请重新输入:"); } }while (this.L1<=1||this.L1>64); System.out.print("请输入雷区的宽度:"); do { this.L2=input.nextInt(); if(this.L2<=1) { System.out.println("输入雷区的宽度不正确!"); System.out.print("请重新输入:"); } if(this.L2>64) { System.out.println("输入的雷区宽度过大!"); System.out.print("请重新输入:"); } }while (this.L2<=1||this.L2>64); System.out.print("请输入地雷的个数:"); do { this.shuliang=input.nextInt(); if(this.shuliang<=0||this.shuliang>=this.L1*this.L2) { System.out.println("输入地雷的个数不正确!"); System.out.print("请重新输入:"); } }while (this.shuliang<=0||this.shuliang>=this.L1*this.L2); tuixiang=new String[this.L2]; geshu=0; zhongyao=new int[L2][L1]; qizi=0; wenhao=0; JDK=0; JKK=0; } //地雷的随机分布 private void T2(){ A=new int[this.L2][this.L1]; int B,C; for(int i=0;i<shuliang;i ) { do { B=(int)(0 Math.random()*this.L2); C=(int)(0 Math.random()*this.L1); if(A[B][C]!=-1) { A[B][C]=-1; break; } }while (true); } T10(); } //对图像进行初始化 private void T3(){ StringBuilder []J=new StringBuilder[this.L2]; System.out.print(" "); for(int i=0;i<this.L1;i ) { if(i 1<10) { System.out.print(i 1); System.out.print(" "); } else { System.out.print(i 1 " "); } } System.out.println(); System.out.print(" ▏-"); for(int i=1;i<L1;i ) { System.out.print("-▏-"); } System.out.print("-▏"); for(int i=0;i<this.L2;i ) { J[i]=new StringBuilder(""); } for(int i=0;i<this.L2;i ) { for(int j=0;j<this.L1;j ) { J[i].append("□"); } } for(int i=0;i<this.L2;i ) { tuixiang[i]=J[i].toString(); } System.out.println(); for(int i=0;i<this.L2;i ) { if(i 1<10) { System.out.print(" " (i 1) "▏"); } else { System.out.print(i 1 "▏"); } for(int j=1;j<this.L1 1;j ) { System.out.print(tuixiang[i].charAt(j-1) " ▏"); } System.out.println(); } } //玩家进行的操作 private void T4(){ Scanner input=new Scanner(System.in); int A,AA,AAA; int []B=new int[2]; while (geshu!=L1*L2-shuliang) { System.out.print(" "); System.out.printf("当前玩家的得分为【%d】",geshu); System.out.println(); System.out.println("请玩家选择如下操作"); System.out.print(""" 1.插旗子或取旗子 2.打问号或去除问号 3.揭开(踩地雷◑﹏◐) """); System.out.print("请输入你的选择:"); do { A=input.nextInt(); if(A<1||A>3) { System.out.println("输入错误!"); System.out.print("请重新输入:"); } }while (A<1||A>3); if(A==1) { do { System.out.println("请玩家选择如下操作"); System.out.print(""" 1.插旗子 2.取旗子 3.退出 """); do { AA=input.nextInt(); if(AA<1||AA>3) { System.out.println("输入错误!"); System.out.print("请重新输入:"); } if(AA==2&&qizi==0) { System.out.println("该雷区没有旗子可取!"); System.out.println("请重新输入:"); } if(AA==1&&qizi==L1*L2) { System.out.println("该区域的旗子已经被插满了!"); System.out.println("请重新输入:"); } }while ((AA<1||AA>3)||(AA==2&&qizi==0)||(AA==1&&qizi==L1*L2)); if(AA==1) { do{ T12(B); if(tuixiang[B[0]-1].charAt(B[1]-1)==' ') { System.out.println("该区域没有地雷!"); System.out.print("请重新输入:"); } if(tuixiang[B[0]-1].charAt(B[1]-1)=='■') { System.out.println("该区域已经*旗子了!"); } if(tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8') { System.out.println("该区域没有地雷!"); System.out.print("请重新输入:"); } }while(tuixiang[B[0]-1].charAt(B[1]-1)==' '||tuixiang[B[0]-1].charAt(B[1]-1)=='■'||tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'); T6(B); T8(); } else if(AA==2) { do{ T12(B); if(tuixiang[B[0]-1].charAt(B[1]-1)!='■') { System.out.println("该区域没有旗子!"); } }while(tuixiang[B[0]-1].charAt(B[1]-1)!='■'); T13(B); T8(); } else { T8(); break; } }while(true); } else if(A==2) { do { System.out.println("请玩家选择如下操作"); System.out.print(""" 1.打问号 2.去问号 3.退出 """); do { AAA=input.nextInt(); if(AAA<1||AAA>3) { System.out.println("输入错误!"); System.out.print("请重新输入:"); } if(AAA==2&&wenhao==0) { System.out.println("该雷区没有问号!"); System.out.println("请重新输入:"); } if(AAA==1&&wenhao==L1*L2) { System.out.println("该区域的问号已经被填满了!"); System.out.println("请重新输入:"); } }while ((AAA<1||AAA>3)||(AAA==2&&wenhao==0)||(AAA==1&&wenhao==L1*L2)); if(AAA==1) { do{ T12(B); if(tuixiang[B[0]-1].charAt(B[1]-1)==' ') { System.out.println("该区域没有问号!"); System.out.print("请重新输入:"); } if(tuixiang[B[0]-1].charAt(B[1]-1)=='?') { System.out.println("该区域已经有问号了!"); } if(tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8') { System.out.println("该区域没有问号!"); System.out.print("请重新输入:"); } }while(tuixiang[B[0]-1].charAt(B[1]-1)==' '||tuixiang[B[0]-1].charAt(B[1]-1)=='?'||tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'); T7(B); T8(); } else if(AAA==2) { do{ T16(B); if(tuixiang[B[0]-1].charAt(B[1]-1)!='?') { System.out.println("该区域没有问号!"); } }while(tuixiang[B[0]-1].charAt(B[1]-1)!='?'); T14(B); T8(); } else { T8(); break; } }while (true); } else { T15(B); T9(B); T8(); if(JKK==1) { System.out.println("该区域被旗子占据!"); System.out.println("请将旗子去除在进行操作"); } else if(JKK==2) { System.out.println("该区域被问号占据!"); System.out.println("请将问号去除在进行操作"); } JKK=0; if(JDK==0) { T11(); if(geshu==L1*L2-shuliang) { System.out.println("恭喜玩家获得胜利^o^"); } System.out.println("\n"); } else { System.out.println("游戏失败!"); System.out.println("(╯‵□′)╯炸弹!•••*~●"); break; } } } } //揭开输入 private int[] T15(int []B){ Scanner input=new Scanner(System.in); do { System.out.print("请输入雷区的坐标:"); B[0]=input.nextInt(); B[1]=input.nextInt(); if((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)) { System.out.println("输入的坐标错误!"); } else if(tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' ') { System.out.println("该区域没有地雷!"); } }while((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)||tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' '); return B; } //旗子坐标输入 private int[] T12(int []B){ Scanner input=new Scanner(System.in); do { System.out.print("请输入旗子的坐标:"); B[0]=input.nextInt(); B[1]=input.nextInt(); if((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)) { System.out.println("输入的坐标错误!"); } else if(tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' ') { System.out.println("该区域没有地雷!"); } }while((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)||tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' '); return B; } //问号坐标输入 private int[] T16(int []B){ Scanner input=new Scanner(System.in); do { System.out.print("请输入旗子的坐标:"); B[0]=input.nextInt(); B[1]=input.nextInt(); if((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)) { System.out.println("输入的坐标错误!"); } else if(tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' ') { System.out.println("该区域没有地雷!"); } }while((B[0]>this.L2||B[0]<=0)||(B[1]>this.L1||B[1]<=0)||tuixiang[B[0]-1].charAt(B[1]-1)=='1'||tuixiang[B[0]-1].charAt(B[1]-1)=='2'||tuixiang[B[0]-1].charAt(B[1]-1)=='3'||tuixiang[B[0]-1].charAt(B[1]-1)=='4'||tuixiang[B[0]-1].charAt(B[1]-1)=='5'||tuixiang[B[0]-1].charAt(B[1]-1)=='6'||tuixiang[B[0]-1].charAt(B[1]-1)=='7'||tuixiang[B[0]-1].charAt(B[1]-1)=='8'||tuixiang[B[0]-1].charAt(B[1]-1)==' '); return B; } //给雷区加旗帜 private void T6(int []B){ StringBuilder A; if(tuixiang[B[0]-1].charAt(B[1]-1)=='?') { wenhao--; } qizi ; A=new StringBuilder(tuixiang[B[0]-1]); A.setCharAt(B[1]-1,'■'); tuixiang[B[0]-1]=A.toString(); } //给雷区减旗帜 private void T13(int []B){ StringBuilder A; A=new StringBuilder(tuixiang[B[0]-1]); A.setCharAt(B[1]-1,'□'); tuixiang[B[0]-1]=A.toString(); qizi--; } //给图像加问号 private void T7(int []B){ StringBuilder A; if(tuixiang[B[0]-1].charAt(B[1]-1)=='■') { qizi--; } wenhao ; A=new StringBuilder(tuixiang[B[0]-1]); A.setCharAt(B[1]-1,'?'); tuixiang[B[0]-1]=A.toString(); } //给图像减问号 private void T14(int []B){ StringBuilder A; A=new StringBuilder(tuixiang[B[0]-1]); A.setCharAt(B[1]-1,'□'); tuixiang[B[0]-1]=A.toString(); wenhao--; } //揭开 private void T9(int []B){ StringBuilder JJ; int H1,H2; if(tuixiang[B[0]-1].charAt(B[1]-1)=='■') { JKK=1; } else if(tuixiang[B[0]-1].charAt(B[1]-1)=='?') { JKK=2; } else { if(A[B[0]-1][B[1]-1]==-1) { T15(); JDK=1; } else { if(A[B[0]-1][B[1]-1]==0) { H1=B[0]-1; H2=B[1]-1; chuli1(H1,H2); } else { JJ=new StringBuilder(tuixiang[B[0]-1]); JJ.setCharAt(B[1]-1,(char)(A[B[0]-1][B[1]-1] 48)); tuixiang[B[0]-1]=JJ.toString(); zhongyao[B[0]-1][B[1]-1] ; } } } } //处理1 private void chuli1(int H1,int H2){ StringBuilder JJ; for(int i=H1-1;i<=H1 1;i ) { for(int j=H2-1;j<=H2 1;j ) { if(i>=0&&i<this.L2&&j>=0&&j<this.L1&&A[i][j]==0&&zhongyao[i][j]==0) { if(tuixiang[i].charAt(j)=='■') { qizi--; } if(tuixiang[i].charAt(j)=='?') { wenhao--; } JJ=new StringBuilder(tuixiang[i]); JJ.setCharAt(j,' '); tuixiang[i]=JJ.toString(); zhongyao[i][j] ; chuli1(i,j); } else if(i>=0&&i<this.L2&&j>=0&&j<this.L1&&A[i][j]!=0&&A[i][j]!=-1&&zhongyao[i][j]==0) { if(tuixiang[i].charAt(j)=='■') { qizi--; } if(tuixiang[i].charAt(j)=='?') { wenhao--; } JJ=new StringBuilder(tuixiang[i]); JJ.setCharAt(j,(char)(A[i][j] 48)); zhongyao[i][j] ; tuixiang[i]=JJ.toString(); } } } } //图像显示 private void T8(){ System.out.print(" "); for(int i=0;i<this.L1;i ) { if(i 1<10) { System.out.print(i 1); System.out.print(" "); } else { System.out.print(i 1 " "); } } System.out.println(); System.out.print(" ▏-"); for(int i=1;i<L1;i ) { System.out.print("-▏-"); } System.out.print("-▏"); System.out.println(); for(int i=0;i<this.L2;i ) { if(i 1<10) { System.out.print(" " (i 1) "▏"); } else { System.out.print(i 1 "▏"); } for(int j=1;j<this.L1 1;j ) { System.out.print(tuixiang[i].charAt(j-1) " ▏"); } System.out.println(); } } //String图像处理 private void T10(){ int J=0; for(int i=0;i<this.L2;i ) { for(int j=0;j<this.L1;j ) { if(A[i][j]!=-1) { if(i-1>=0&&j-1>=0) { if(A[i-1][j-1]==-1) { J ; } } if(i-1>=0) { if(A[i-1][j]==-1) { J ; } } if(i-1>=0&&j 1<this.L1) { if(A[i-1][j 1]==-1) { J ; } } if(j-1>=0) { if(A[i][j-1]==-1) { J ; } } if(j 1<this.L1) { if(A[i][j 1]==-1) { J ; } } if(i 1<this.L2&&j-1>=0) { if(A[i 1][j-1]==-1) { J ; } } if(i 1<this.L2) { if(A[i 1][j]==-1) { J ; } } if(i 1<this.L2&&j 1<this.L1) { if(A[i 1][j 1]==-1) { J ; } } A[i][j]=J; } J=0; } } } //geshu计数 private void T11() { for(int i=0;i<L2;i ) { for(int j=0;j<L1;j ) { if(zhongyao[i][j]==1) { geshu ; } if(zhongyao[i][j]!=0) { zhongyao[i][j] ; } } } } //最后的显示 private void T15(){ StringBuilder II; for(int i=0;i<L2;i ) { II=new StringBuilder(tuixiang[i]); for(int j=0;j<L1;j ) { if(A[i][j]==-1) { II.setCharAt(j,'●'); } } tuixiang[i]=II.toString(); } } //游戏说明 private void youxishuoming(){ System.out.println(""" 1.尽快找到雷区中的所有不是地雷的格子,而不许踩到地雷。 2.点开的数字是几,则说明该数字旁边的8个位置中有几个雷。 3.如果挖开的是地雷,则会输掉游戏。 4.其中“■”代表旗子,“●”代表地雷。 5.插旗子的作用是表示该区域有地雷。 6.打问号的作用是表示该区域不确定是否有地雷。 7.插旗子或打问号的区域无法进行揭开操作。 """); } //总方法 public void asd(){ Scanner input=new Scanner(System.in); int A; do { System.out.print(""" 《扫雷游戏》 1.开始游戏 2.游戏说明 3.退出游戏 """); System.out.print("请输入你的选择:"); do { A=input.nextInt(); if(A!=1&&A!=2&&A!=3) { System.out.println("输入错误!"); System.out.print("请重新输入:"); } }while(A!=1&&A!=2&&A!=3); if(A==1) { T1(); T2(); T3(); T4(); } else if(A==2) { youxishuoming(); } else { System.exit(0); } }while (true); } }

测试代码

public class str1 { public static void main(String[] args) { SaoLei A=new SaoLei(); A.asd(); } }

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved