compteur entourage fonctionnel

This commit is contained in:
Haïssous Kayyissa 2022-04-28 17:57:18 +02:00
parent 6708bb15e4
commit d4f8e33c51
3 changed files with 75 additions and 28 deletions

View File

@ -1,31 +1,42 @@
import javax.swing.*;
import java.awt.*;
public class Case extends JComponent {
private JPanel panel = new JPanel();
private int entourage=0;
private boolean visible=false;
private boolean minee=false;
public class Case extends JComponent{
private JPanel panel= new JPanel();
public Case(Dimension caseSize, boolean visible, boolean minee, int entourage) {
super();
this.panel.setSize(caseSize);
this.entourage=entourage;
this.visible=visible;
this.minee=minee;
public Case (Dimension caseSize, boolean visible, boolean minee){
super();
this.panel.setSize(caseSize);
if (visible==false){
Color gray2 = new Color(70,70,70);
this.panel.setBackground(gray2);
} else if (visible==true){
Color gray1 = new Color(80,80,80);
this.panel.setBackground(gray1);
if (minee==true){
Color rose = new Color(236,0,140);
this.panel.setBackground(rose);
System.out.println("J'ai miné ! ");
}
}
}
if (this.visible == false) {
Color gray2 = new Color(70, 70, 70);
this.panel.setBackground(gray2);
} else if (this.visible == true) {
Color gray1 = new Color(80, 80, 80);
this.panel.setBackground(gray1);
if (this.minee == true) {
Color rose = new Color(236, 0, 140);
this.panel.setBackground(rose);
} else if (this.entourage>0){
System.out.println(""+ this.entourage);
}
}
public JPanel getCase(){
return this.panel;
}
}
@Override
protected void paintComponent(Graphics pinceau) {
System.out.println("coucou");
}
public JPanel getCase() {
return this.panel;
}
}

View File

@ -40,9 +40,6 @@ public class Grille extends JComponent {
}
}
}
for (int i=0;i<mines;i++){
System.out.println(""+caseMine[i]);
}
// Comme pour savoir si une case est visible, mais pour quand elle est minée
boolean[] minee = new boolean[lignes*colonnes];
@ -54,9 +51,48 @@ public class Grille extends JComponent {
}
}
// Connaître le nombre de mines autour de la case
int[] entourage = new int[lignes*colonnes];
for (int i=0;i<lignes*colonnes;i++){
for (int j=0;j<mines;j++){
// Si une mine est à droite
if (caseMine[j]==i+1){
entourage[i]+=1;
}
// Si une mine est à gauche
if (caseMine[j]==i-1){
entourage[i]+=1;
}
// Si une mine est au dessus
if (caseMine[j]==i-colonnes){
entourage[i]+=1;
}
// Si une mine est au dessus à droite
if (caseMine[j]==i-colonnes+1){
entourage[i]+=1;
}
// Si une mine est au dessus à gauche
if (caseMine[j]==i-colonnes-1){
entourage[i]+=1;
}
// Si une mine est en dessous
if (caseMine[j]==i+colonnes){
entourage[i]+=1;
}
// Si une mine est en dessous à droite
if (caseMine[j]==i+colonnes+1){
entourage[i]+=1;
}
// Si une mine est en dessous à gauche
if (caseMine[j]==i+colonnes-1){
entourage[i]+=1;
}
}
}
// Affichage des cases
for (int i=0;i<lignes*colonnes;i++){
Case panel = new Case(caseSize,visible[i], minee[i]);
Case panel = new Case(caseSize,visible[i],minee[i],entourage[i]);
this.grille.add(panel.getCase());
}
}

View File

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