📄 laymines.java
字号:
/**
*
*/
package edu.ustb.zhang40550377.util;
import java.util.*;
/**
* @author f 随机设置地雷
*
*/
public class LayMines {
public void layMinesForBlock(Block block[][],int mineCount){
int row=block.length;
int column=block[0].length;
LinkedList<Block> list=new LinkedList<Block>();//创建空链表list,该链表可以添加Block对象
for(int i=0;i<row;i++){
for(int j=0;j<column;j++){
list.add(block[i][j]);//添加节点,其中的数据为block[i][j]
}
}
while(mineCount>0){
int size=list.size();//list返回节点的个数
int randomIndex=(int)(Math.random()*size);
Block b=list.get(randomIndex);//list返回索引为randomIndex的节点中的数据
b.setName("雷");
b.setIsMine(true);
list.remove(randomIndex);//list删除索引值为randomIndex的节点
mineCount--;
}
for(int i=0;i<row;i++){
for(int j=0;j<column;j++){
if(block[i][j].isMine()){}
else {
int mineNumber=0;
for(int k=Math.max(i-1,0);k<=Math.min(i+1,row-1);k++){
for(int t=Math.max(j-1,0);t<=Math.min(j+1,column-1);t++){
if(block[k][t].isMine())
mineNumber++;
}
}
block[i][j].setName(""+mineNumber);
block[i][j].setNumber(mineNumber);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -