compteur entourage fonctionnel
This commit is contained in:
parent
6708bb15e4
commit
d4f8e33c51
25
Case.java
25
Case.java
@ -1,31 +1,42 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
||||||
public class Case extends JComponent {
|
public class Case extends JComponent {
|
||||||
private JPanel panel = new JPanel();
|
private JPanel panel = new JPanel();
|
||||||
|
private int entourage=0;
|
||||||
|
private boolean visible=false;
|
||||||
|
private boolean minee=false;
|
||||||
|
|
||||||
public Case (Dimension caseSize, boolean visible, boolean minee){
|
public Case(Dimension caseSize, boolean visible, boolean minee, int entourage) {
|
||||||
super();
|
super();
|
||||||
this.panel.setSize(caseSize);
|
this.panel.setSize(caseSize);
|
||||||
if (visible==false){
|
this.entourage=entourage;
|
||||||
|
this.visible=visible;
|
||||||
|
this.minee=minee;
|
||||||
|
|
||||||
|
if (this.visible == false) {
|
||||||
Color gray2 = new Color(70, 70, 70);
|
Color gray2 = new Color(70, 70, 70);
|
||||||
this.panel.setBackground(gray2);
|
this.panel.setBackground(gray2);
|
||||||
} else if (visible==true){
|
} else if (this.visible == true) {
|
||||||
Color gray1 = new Color(80, 80, 80);
|
Color gray1 = new Color(80, 80, 80);
|
||||||
this.panel.setBackground(gray1);
|
this.panel.setBackground(gray1);
|
||||||
if (minee==true){
|
if (this.minee == true) {
|
||||||
Color rose = new Color(236, 0, 140);
|
Color rose = new Color(236, 0, 140);
|
||||||
this.panel.setBackground(rose);
|
this.panel.setBackground(rose);
|
||||||
System.out.println("J'ai miné ! ");
|
} else if (this.entourage>0){
|
||||||
|
System.out.println(""+ this.entourage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintComponent(Graphics pinceau) {
|
||||||
|
System.out.println("coucou");
|
||||||
|
}
|
||||||
|
|
||||||
public JPanel getCase() {
|
public JPanel getCase() {
|
||||||
return this.panel;
|
return this.panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
44
Grille.java
44
Grille.java
@ -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
|
// Comme pour savoir si une case est visible, mais pour quand elle est minée
|
||||||
boolean[] minee = new boolean[lignes*colonnes];
|
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
|
// Affichage des cases
|
||||||
for (int i=0;i<lignes*colonnes;i++){
|
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());
|
this.grille.add(panel.getCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user