扫雷游戏(Java)

package li;
import java.util.Random;
import java.util.Scanner;
public class Test21 {

public static void main(String[] args) {
// TODO Auto-generated method stub
int[][]area=new int [6][6];//定义雷区;
//System.out.println(area[0][0]);
System.out.println(“请录入雷的个数”);
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
//如果雷的个数比num(66)小于20%,或大于75%不合法,
if((double)num/36<0.2 || (double)num/36>0.75){
System.out.println(“不合法”);
return;
}
Random r=new Random();
int count=0;
//当个数不够num时,进入while循环,计算机随机x,y范围0-5,
//判断area[x][y]是否是雷,如果是雷,不用做东西,不是雷变成雷-1,雷++
while(count<num){
int x=r.nextInt(6);//随机生成x;
int y=r.nextInt(6);//随机生成y;
//判断area[x][y]是否不是雷==0,如果不是雷,变成雷-1;雷++
if(area[x][y]==0){
area[x][y]=-1;
count ++;
}
}
//循环显示雷区的
/
for(int x=0;x<area.length;x++){
for(int y=0;y<area.length;y++){
int count=0;
if(area[x][y]0){
//判断周围雷的个数;
count++;
//正左
if(y-1<0 && area[x][y-1]
-1){
count ++;
}
//左上角
if(x-1>=0 && y-1>=0 &&area[x-1][y-1]-1){
count ++;
}
//正上
if(x-1>=0 && area[x-1][y]
-1){
count ++;
}
//右上角
if(x-1>=0 && y+1<=area.length &&area[x-1][y+1]-1){
count ++;
}
//正右
if( y+1<=area.length && area[x][y-1]
-1){
count ++;
}
//左下角
if(x+1<=area.length && y-1>=0 &&area[x=1][y-1]-1){
count ++;
}
//正下
if(x+1<=area.length && area[x-1][y]
-1){
count ++;
}
//右下角
if(x+1<=area.length && y+1<=area.length &&area[x+1][y=1]==-1){
count ++;
}
area[x][y]==count;
}
}
}
for(int x=0;x<area.length;x++){
for(int y=0;y<area.length;y++){
System.out.print(area[x][y]+"\t");
}
System.out.println();
}
}
}

发布了50 篇原创文章 · 获赞 0 · 访问量 557

猜你喜欢

转载自blog.csdn.net/m0_45133750/article/details/104735878