- 48
- 0
- 约4.28千字
- 约 7页
- 2017-07-09 发布于河南
- 举报
JAVA扫雷游戏原理
实验题目 实验: 实验时间 14年11月1日 实验地点 A主410 实验成绩 实验性质 □验证性 √设计性 □综合性 教师评价:
□算法/实验过程正确;□源程序/实验内容提交 □程序结构/实验步骤合理;
□实验结果正确; □语法、语义正确;□报告规范;
其他:
评价教师签名: 一、实验目的
1. 掌握选择结构;2. 掌握循环结构;
3. 掌握循环的嵌套;
4. 掌握方法的地柜调用;
5. 掌握数组的使用;
6. 掌握图形的绘制 二、实验项目内容(实验题目)
编写程序实现扫雷游戏:
1)可以进行随机布雷;
2)可以对无雷各自统计其邻居所拥有的地雷数;
3)可以进行显示;
4)可以进行完整的扫雷游戏;
5)可以实现图形化的扫了程序
import java.util.Scanner;
public class Mines {
private static final int NUM = 10;//这个NUM是雷数,可以编写一个程序来改变
private static final int SNUM = 9;//这个SNUM是扫雷的格数,可以编写一个程序来改变
public static char [][]setMines(){
char[][]mines=new char[SNUM][SNUM];
int count=0;
while(countNUM){
int i=(int)(Math.random()*mines.length);//hang
int j=(int)(Math.random()*mines[0].length);//lie
if(mines[i][j]!=*){
mines[i][j]=*;
count++;
}
}
return mines;//布雷,到countMines里该数组被修正
}
public static char[][] countMines(char [][]mines){
for(int i=0;imines.length;i++){
for(int j=0;jmines[0].length;j++){
if(mines[i][j]!=*){
int count=0;
for(int n=i-1;n=i+1;n++){
for(int t=j-1;t=j+1;t++){
if(n=0nmines.lengtht=0tmines.length){
if(mines[n][t]==*){
count++;
}
}
}
}
mines[i][j]=(char) (0+count);
}
}
}
return mines;//数雷并修改数组,该数组是核心数组
}
public static void showMines(char [][]mines){
boolean [][]flags=new boolean[mines.length][mines[0].length];
int count=0;
while(countmines.length*mines[0].length){
for(int c=0;cmines.length;c++){
for(int d=0;dmines[0].length;d++){
if(flags[c][d]==true){
if(mines[c][d]==0){
count=zeroUnlock(c,d,count,mines,flags);
}
}
}
}//与zeroUnlock结合解决输出0的情况
for(int i=0;imines.length;i++){
System.out.println();
for(int j=0;jmines[0].length;j++){
if(flags[i][j]==true){
System.out.printf(%
原创力文档

文档评论(0)