Commit e8307bd2 authored by Fardale's avatar Fardale

Merge branch 'master' of gitlab.crans.org:arrighi/prog2

parents e8aecb22 41cd7253
......@@ -8,6 +8,7 @@ class Demineur {
private var tailleX = 9
private var tailleY = 9
// Propage le clic pour le premier coup après non
private var premierCoup = true
// Nombre de mines dans le champ. Réglé en "Facile"
......@@ -15,9 +16,13 @@ class Demineur {
// Compteur du nombre de mines trouvées.
private var m_trouvees = 0
// Compteur du nombre de cases restantes.
private var c_restantes = tailleX*tailleY - nb_mines
// Détermine si on a gagné.
def victoire : Boolean = (nb_mines == m_trouvees)
def victoire : Boolean = (nb_mines == m_trouvees) || c_restantes == 0
// Matrice représentant le champ de mines. Ses valeurs sont comprises entre 0 et 9.
// 0-8 : Nombre de mines autour de la case vide.
......@@ -33,6 +38,7 @@ class Demineur {
tailleX = x
tailleY = y
nb_mines = n
c_restantes = tailleX*tailleY - nb_mines
champ = ofDim[Int](tailleX, tailleY)
boutons = ofDim[MonBouton](tailleX, tailleY)
}
......@@ -180,46 +186,55 @@ class Demineur {
case 0 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_zero.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_zero.png"))
c_restantes -= 1
propage(0,x,y)
false
case 1 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_un.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_un.png"))
c_restantes -= 1
propage(1,x,y)
false
case 2 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_deux.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_deux.png"))
c_restantes -= 1
propage(2,x,y)
false
case 3 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_trois.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_trois.png"))
c_restantes -= 1
propage(3,x,y)
false
case 4 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_quatre.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_quatre.png"))
c_restantes -= 1
propage(4,x,y)
false
case 5 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_cinq.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_cinq.png"))
c_restantes -= 1
propage(5,x,y)
false
case 6 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_six.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_six.png"))
c_restantes -= 1
propage(6,x,y)
false
case 7 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_sept.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_sept.png"))
c_restantes -= 1
propage(7,x,y)
false
case 8 => boutons(x)(y).icon = new ImageIcon(getClass.getResource("case_huit.png"))
boutons(x)(y).enabled = false
boutons(x)(y).disabledIcon = new ImageIcon(getClass.getResource("case_huit.png"))
c_restantes -= 1
propage(8,x,y)
false
case 9 => for (i <- 0 to (tailleX-1)) {
......
......@@ -186,6 +186,9 @@ object HelloWorld extends SimpleSwingApplication {
contents += new Menu("Difficulté") {
contents ++= radios
}
contents += new MenuItem(Action("Sortir"){
sys.exit(0)
})
}
}
......
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