minage réparé (doublon première case)

This commit is contained in:
Haïssous Kayyissa 2022-05-02 09:26:36 +02:00
parent 17c66e4b58
commit cecd279029
4 changed files with 16 additions and 37 deletions

View File

@ -21,29 +21,33 @@ public class Grille extends JPanel {
this.plateau= new Case[lignes*colonnes]; this.plateau= new Case[lignes*colonnes];
// Initialisation : les cases sont cachées
boolean[] visible = new boolean[lignes*colonnes];
for (int i=0; i<lignes*colonnes;i++){
visible[i]=false;
}
// Instalation des mines // Instalation des mines
// Création d'un tableau de nombres aléatoires pour savoir les placer // Création d'un tableau de nombres aléatoires pour savoir les placer
int[] caseMine = new int[mines]; int[] caseMine = new int[mines];
Random rand = new Random(); Random rand = new Random();
// On initialise les emplacements des mines // On initialise les emplacements des mines
for (int i=0;i<mines;i++){ caseMine[0] = rand.nextInt(lignes*colonnes);
System.out.println("mine 0 : "+ caseMine[0]);
for (int i=1;i<mines;i++){
caseMine[i] = rand.nextInt(lignes*colonnes); caseMine[i] = rand.nextInt(lignes*colonnes);
// On vérifie que la case n'a pas déjà été minée, auquel cas on change de case // On vérifie que la case n'a pas déjà été minée, auquel cas on change de case
for (int j=0;j<i;j++){ for (int j=0;j<=(i-1);j++){
if (caseMine[i]==caseMine[j]){ if (caseMine[i]==caseMine[j]){
caseMine[i] = rand.nextInt(lignes*colonnes); caseMine[i] = rand.nextInt(lignes*colonnes);
j=0; j=-1;
System.out.println("Nouvelle case qu'on essaye de miner :"+ caseMine[i]);
} else if (caseMine[i]!=caseMine[j]){
System.out.println(""+ caseMine[i]+" != "+ caseMine[j]);
} }
} }
System.out.println("Mine posee :"+ "("+i+")"+caseMine[i]);
} }
/* Affichage de l'mplacement des mines
for (int i=0;i<mines;i++){
System.out.println(""+ caseMine[i]);
}*/
// On place maintenant les mines sur la plateau // On place maintenant les mines sur la plateau
boolean[] minee = new boolean[lignes*colonnes]; boolean[] minee = new boolean[lignes*colonnes];
for (int i=0; i<lignes*colonnes;i++){ for (int i=0; i<lignes*colonnes;i++){
@ -273,6 +277,7 @@ public class Grille extends JPanel {
protected void AfficherPlateau(int taille, Dimension caseSize, int[] entourage, boolean[] minee){ protected void AfficherPlateau(int taille, Dimension caseSize, int[] entourage, boolean[] minee){
for (int i=0;i<taille;i++){ for (int i=0;i<taille;i++){
this.plateau[i]= new Case(caseSize,minee[i],entourage[i]); this.plateau[i]= new Case(caseSize,minee[i],entourage[i]);
this.plateau[i].setVisible();
this.add(this.plateau[i].getCase()); this.add(this.plateau[i].getCase());
} }
} }

View File

@ -1,5 +1,4 @@
import java.awt.event.*; import java.awt.event.*;
import javax.swing.*;
import java.awt.*; import java.awt.*;
public class Listener implements MouseListener{ public class Listener implements MouseListener{

View File

@ -1,25 +0,0 @@
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class SwitchVisible extends JComponent implements MouseListener {
public SwitchVisible() {
}
public void mouseClicked(MouseEvent evenement){
}
public void mouseEntered(MouseEvent evenement){
}
public void mouseExited(MouseEvent evenement){
}
public void mousePressed(MouseEvent evenement){
}
public void mouseReleased(MouseEvent evenement){
}
}

View File

@ -1,6 +1,6 @@
public class Test { public class Test {
public static void main(String[] args) { public static void main(String[] args) {
Grille grille=new Grille(10,10,15); Grille grille=new Grille(4,4,15);
new FrameJeu(grille, 15); new FrameJeu(grille, 15);
} }
} }