标签:lin bool ext parse void else 代码 public can
老师很早就布置了这个问题,但是当时那几天没空,现在有空了花了半小时解决了老师给的问题。
import java.util.*;
public class bb {
private static boolean flase;
public static void main(String[] args) {
Scanner rcn=new Scanner(System.in);
Scanner ccn=new Scanner(System.in);
Scanner ncn=new Scanner(System.in);
System.out.print("\t"+"欢迎来到扫雷游戏!"+"\n");
System.out.print("输入行数:");
int r=Integer.parseInt(rcn.nextLine());
System.out.print("\n"+"输入列数:");
int c=Integer.parseInt(ccn.nextLine());
int n;
do
{
System.out.print("\n"+"输入要布的雷数(雷数不能超过总格数的%75):");
n=Integer.parseInt(ncn.nextLine());
}while(n<0&&n>r*c*3/4);
int[][] s=new int[r][c];
int th=1;
for(int i=0;i<s.length;i++)
{
for(int j=0;j<s[0].length;j++)
{
if(th<=r*c)
{
s[i][j]=th;
th++;
}
}
}
int[] tg=new int[n];
for(int i=0;i<n;i++)
{
tg[i]=0;
}
Random sn=new Random();
for(int i=0;i<n;)
{
int tgh;
tgh=(int)(sn.nextDouble()*r*c)+1;
boolean ty=flase;
for(int j=0;j<=i;j++)
{
if(tgh==tg[j])
{
ty=true;
break;
}
}
if(ty)
{
continue;
}
else if(tg[i]==0)
{
tg[i]=tgh;
i++;
}
}
for(int q=0;q<s.length;q++)
{
for(int j=0;j<s[0].length;j++)
{
boolean tu=true;
for(int i=0;i<n;i++)
{
if(s[q][j]==tg[i])
{
s[q][j]=-1;
tu=flase;
}
}
if(tu)
{
s[q][j]=0;
}
}
}
for(int i=0;i<s.length;i++)
{
for(int j=0;j<s[0].length;j++)
{
int lei=0;
if(s[i][j]==0)
{
if(i-1>=0&&j-1>=0&&s[i-1][j-1]==-1)
{
lei++;
}
if(i-1>=0&&s[i-1][j]==-1)
{
lei++;
}
if(i-1>=0&&j+1<s[0].length&&s[i-1][j+1]==-1)
{
lei++;
}
if(j-1>=0&&s[i][j-1]==-1)
{
lei++;
}
if(j+1<s[0].length&&s[i][j+1]==-1)
{
lei++;
}
if(i+1<s.length&&j-1>=0&&s[i+1][j-1]==-1)
{
lei++;
}
if(i+1<s.length&&s[i+1][j]==-1)
{
lei++;
}
if(i+1<s.length&&j+1<s[0].length&&s[i+1][j+1]==-1)
{
lei++;
}
s[i][j]=lei;
}
}
}
for(int q=0;q<s.length;q++)
{
for(int j=0;j<s[0].length;j++)
{
System.out.print(s[q][j]+"\t");
}
System.out.print("\n");
}
}
}
标签:lin bool ext parse void else 代码 public can
原文地址:https://www.cnblogs.com/rouqing99/p/8849144.html