控制台扫雷
代码import java.util.Random;import java.util.Scanner;
public class MimeService {
//地雷格子
final int x=10;
final int y=10;
//总的地雷数
final int N=20;
public int[][] init() {
int[][] mime=new int;
int count=0;
Random random=new Random();
//初始化地雷
while (count<=N) {
int x1=random.nextInt(x);
int y1=random.nextInt(y);
if(mime==0){
mime=9;
count+=1;
}
}
//统计每个格子(不是地雷)周围地雷个数
for(int i=0;i<mime.length;i++){
for(int j=0;j<mime.length;j++){
int mimeCount=0;
if((j+1)<mime.length && mime==9){
mimeCount+=1;
}
if((j-1)>=0 && mime==9){
mimeCount+=1;
}
if((i+1)<mime.length && (j+1)<mime.length && mime==9){
mimeCount+=1;
}
if((i+1)<mime.length && (j-1)>=0 && mime==9){
mimeCount+=1;
}
if((i-1)>=0 && (j+1)<mime.length && mime==9){
mimeCount+=1;
}
if((i-1)>=0 && (j-1)>=0 && mime==9){
mimeCount+=1;
}
if((i-1)>=0 && mime==9){
mimeCount+=1;
}
if((i+1)<mime.length && mime==9){
mimeCount+=1;
}
if(mime!=9){
mime=mimeCount;
}
}
}
return mime;
}
public void whiteBoard(int[][]mime,char[][] or,int x,int y ) {
or='0';
if((y+1)<mime.length && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x, y+1);
}
}
if((y-1)>=0 && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x, y-1);
}
}
if((x+1)<mime.length && (y+1)<mime.length && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x+1, y+1);
}
}
if((x+1)<mime.length && (y-1)>=0 && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x+1, y-1);
}
}
if((x-1)>=0 && (y+1)<mime.length && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x-1, y+1);
}
}
if((x-1)>=0 && (y-1)>=0 && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x-1, y-1);
}
}
if((x-1)>=0 && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x-1, y);
}
}
if((x+1)<mime.length && or=='K'){
if(mime!=0){
or=(char)(mime+48);
}else {
whiteBoard(mime, or, x+1, y);
}
}
}
public static void main(String[] args) {
MimeService mineS=new MimeService();
int[][] mine=mineS.init();
// for(int i=0;i<mine.length;i++){
// for(int j=0;j<mine.length;j++){
// System.out.print(mine+"");
// }
// System.out.println();
// }
//初始化
char[][] or=new char.length];
for(int i=0;i<mine.length;i++){
for(int j=0;j<mine.length;j++){
or='K';
}
}
int totol=80;
while (totol<=80) {
System.out.println("输入格式 :1 3 c(x坐标,y坐标,点击)||输入格式 :1 3 m(x坐标,y坐标,标记为类) ");
System.out.println("扫雷开始:");
for(int i=0;i<mine.length;i++){
for(int j=0;j<mine.length;j++){
System.out.print(or+"");
}
System.out.println();
}
System.out.println("---------------------------------");
Scanner scanner =new Scanner(System.in);
int y=scanner.nextInt()-1;
int x=scanner.nextInt()-1;
String sign=scanner.next();
if(sign.equalsIgnoreCase("C")){
if(mine==9){
System.out.println("game over!!!");
break;
}else if (mine<9&&mine>0) {
or=(char)(48+mine);
}else if(mine==0) {
mineS.whiteBoard(mine, or, x, y);
}
}else {
or='M';
}
}
}
}
页:
[1]