📄 minesweeper.java
字号:
import java.util.Scanner;
public class MineSweeper {
int[][] mineField;
//控制雷区范围和输出雷的个数
public void layMines(int row,int col,int mineCount)
{
mineField = new int[row][col];
for(int i=0;i<mineCount;i++)
{
int x = (int)(Math.random()*row);
int y = (int)(Math.random()*col);
if(mineField[x][y] == 9)
{
i--;
}else{
mineField[x][y] = 9;
for (int m = x-1;m <= x+1;m++) //计算每个位置的周边位置有几个雷
{
if(m < 0 || m > row-1)
{
continue; //判断是否超出数组界限
}
for (int n = y-1; n <= y+1; n++)
{
if(n < 0 || n > col-1)
{
continue; //判断是否超出数组界限
}else if(mineField[m][n]!=9)
{
mineField[m][n]++;
}
}
}
}
}
}
public void printMine()
{
for(int i=0; i<mineField.length; i++)
{
for(int j=0; j<mineField[i].length; j++)
{
System.out.print(mineField[i][j]+ " " );
}
System.out.println();
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("请输入雷区行数:");
int row = sc.nextInt();
System.out.print("请输入雷区列数:");
int col = sc.nextInt();
System.out.print("请输入雷区雷数:");
int mineCount = sc.nextInt();
MineSweeper ms = new MineSweeper();
System.out.println(row + "*" + col + "," + mineCount + "个雷的雷区为:");
ms.layMines(row,col,mineCount);
ms.printMine();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -