1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| class Test5{
public static boolean [][]InitialiseTabBombes(){
boolean [][]tabBombes=new boolean[8][8];
for(int i=0;i<tabBombes.length;i++)
for(int j=0;j<tabBombes[i].length;j++)
tabBombes[i][j] = false;
int CompteurBombes=0;
while(CompteurBombes<10){
int x=(int)(Math.random()*8); //coordonnée aléatoire de la bombe
int y=(int)(Math.random()*8);
if(tabBombes[x][y]==false){ // si pas de bombe, j'en place une;
tabBombes[x][y]=true;
CompteurBombes++;
}
}
return tabBombes;
}
public static void afficherTabBombes(boolean[][]tab){
char[]alpha={' ','A','B','C','D','E','F','G','H'};
for(int i=0;i<alpha.length;i++)
Terminal.ecrireString(alpha[i]+" ");
Terminal.sautDeLigne();
for(int i=0;i<tab.length;i++){
Terminal.ecrireString(i+1 + " ");
for(int j=0;j<tab[i].length;j++)
if(tab[i][j])
Terminal.ecrireString("x ");
else
Terminal.ecrireString(". ");
Terminal.sautDeLigne();
}
}
//init tableau saisicase;
public static int [][]InitialiseSaisiCase(){
int[][] SaisiCase=new int[8][8];// enregistre les bombes
for(int i=0;i<SaisiCase.length;i++){//initialisation à -1
for(int j=0;j<SaisiCase[i].length;j++)
SaisiCase[i][j]=-1;
}
return SaisiCase;
}
public static void affichereSaisiCase(int[][]tabCase){
for(int i=0;i<tabCase.length;i++){
Terminal.ecrireString(i+1+ " ");
for(int j=0;j<tabCase[i].length;j++)
Terminal.ecrireString(tabCase[i][j] + "");
Terminal.sautDeLigne();
}//for
}
public static void main(String[]args){
boolean[][]tabBombes=InitialiseTabBombes();
afficherTabBombes(tabBombes);
Terminal.sautDeLigne();
int[][]SaisiCase=InitialiseSaisiCase();
//calcul des cases adjacentes
int bombe=0;
int ligne=0;
int col=0;
int i=0;
int j=0;
for(int k=0;k<SaisiCase.length;k++){
for(int l=0;l <SaisiCase[k].length;l++)
if(tabBombes[k][l]==false){//si la case n'est pas une bombe
ligne=0;
col=0;
if(ligne==0){ //1ere ligne
if(col==0){ //coin sup gauche
for(i=ligne;i<=ligne+1;i++)
for(j=col;j<=col+1;j++)
if(tabBombes[ligne][col]==true)
bombe++;
SaisiCase[ligne][col]=bombe;
}
else if (col==SaisiCase.length-1){ // coin sup droit
for(i=ligne;i<=ligne+1;i++)
for(j=col-1;j<=col;j++)
if(tabBombes[ligne][col]==true)
bombe++;
SaisiCase[ligne][col]=bombe;
}//else if
else{ // bord haut
for(i=ligne;i<=ligne+1;i++)
for(j=col-1;j<=col+1;j++)
if(tabBombes[ligne][col]==true)
bombe++;
SaisiCase[ligne][col]=bombe;
}// else
}// if
}//if false
}//for
affichereSaisiCase(SaisiCase);
}//main
} |
Partager