Commit 592bddd4 authored by Fardale's avatar Fardale

petite modif

Impossible de perdre au premier tour + correction de la propagation
parent 41cd7253
......@@ -28,10 +28,10 @@ class Demineur {
// 0-8 : Nombre de mines autour de la case vide.
// 9 : Signale l'emplacement d'une mine sur la case.
// Par défaut, on est réglé sur facile.
private var champ = ofDim[Int](9,9)
private var champ = ofDim[Int](tailleX,tailleY)
// Matrice des boutons associés aux cases (il me semble plus pertinent de l'inclure dans le jeu).
private var boutons = ofDim[MonBouton](9,9)
private var boutons = ofDim[MonBouton](tailleX,tailleY)
// Réinitialise les paramètres ci-dessus en cas de changement de difficulté.
def reparametrage (x: Int, y: Int, n: Int) = {
......@@ -151,6 +151,9 @@ class Demineur {
// Propagation du dévoilement des cases vides
def propage(c: Int, x: Int, y: Int){
if(c == 0 || premierCoup){
if(premierCoup){premierCoup = false}
if (x > 0) {
if(boutons(x-1)(y).enabled && champ(x-1)(y) != 9){clique_action(x-1,y)}
if(y > 0){
......@@ -176,8 +179,6 @@ class Demineur {
if(boutons(x)(y+1).enabled && champ(x)(y+1) != 9){clique_action(x,y+1)}
}
}
if(premierCoup){premierCoup = false}
}
// Définit les conséquences d'un clic sur un bouton.
......@@ -237,7 +238,10 @@ class Demineur {
c_restantes -= 1
propage(8,x,y)
false
case 9 => for (i <- 0 to (tailleX-1)) {
case 9 =>
if(premierCoup){initialise; clique_action(x,y)}
else{
for (i <- 0 to (tailleX-1)) {
for (j <- 0 to (tailleY-1)) {
if (champ(i)(j) == 9) {
boutons(i)(j).icon = new ImageIcon(getClass.getResource("case_mine.png"))
......@@ -247,6 +251,7 @@ class Demineur {
}
}
true
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment