JAVA扫雷游戏原理.docVIP

  • 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)

1亿VIP精品文档

相关文档