Commit 4cf4098e authored by William Babonnaud's avatar William Babonnaud

Modifs solveur : nombre de cases colorées par ligne (à finir !)

parent 80d251af
......@@ -4,7 +4,7 @@ import java.awt.Color
import javax.swing.ImageIcon
class Unruly extends Jeu[MonBouton] {
valeur_defaut = Array(8,8)
valeur_defaut = Array(6,6)
// Cotés du terrain
tailleX = valeur_defaut(0)
......@@ -107,12 +107,13 @@ class Unruly extends Jeu[MonBouton] {
x = Random.nextInt(tailleX)
y = Random.nextInt(tailleY)
}
if (i == borne) { fini = solveur(x,y,cl) }
if (i == borne) { fini = solveur(x,y,cl) }
boutons(x)(y).setColoration(true)
boutons(x)(y).setCouleur(cl)
boutons(x)(y).chgIconEtEnable(im, false)
nb_non_occupes = nb_non_occupes-1
}
}
// fini = true
}
}
......@@ -260,16 +261,56 @@ class Unruly extends Jeu[MonBouton] {
result = true
} else if (solveur_lance && !res) { // Si un solveur lancé a renvoyé faux, le jeu n'est pas résoluble.
result = false
} else if (!solveur_lance && !res) { // Sinon, on remplit une case au hasard.
} else if (!solveur_lance && !res) { // Sinon on regarde le nombre de couleur par ligne et colonne.
i = 0
j = 0
var nb = 0
solveur_lance = false
while (i < tailleX && !res) {
if (!boutons(i)(j).estColore) {
res = solveur(i,j,Color.black) // On essaie en noir.
if (!res) { res = solveur(i,j,Color.white) } // Si ça n'a pas marché, en blanc.
//if (!boutons(i)(j).estColore) {
// res = solveur(i,j,Color.black) // On essaie en noir.
// if (!res) { res = solveur(i,j,Color.white) } // Si ça n'a pas marché, en blanc.
//}
//if (!res) { // Si ça n'a toujours pas marché ou si la case était colorée, incrémentation.
// if (j == tailleY-1) { j = 0 ; i = i+1 } else { j = j+1 }
//}
nb = nombre_aligne(i,true,Color.black)
if (nb == tailleX/2) {
j = 0
while (boutons(i)(j).estColore && j < tailleY) { j = j+1 }
res = solveur(i,j,Color.white)
solveur_lance = true
} else {
nb = nombre_aligne(i,true,Color.white)
if (nb == tailleX/2) {
j = 0
while(boutons(i)(j).estColore && j < tailleY) { j = j+1 }
res = solveur(i,j,Color.black)
solveur_lance = true
}
}
if (!res) { // Si ça n'a toujours pas marché ou si la case était colorée, incrémentation.
if (j == tailleY-1) { j = 0 ; i = i+1 } else { j = j+1 }
i = i+1
}
i = 0
j = 0
if (!solveur_lance) {
while (j < tailleY && !res) {
nb = nombre_aligne(i,true,Color.black)
if (nb == tailleY/2) {
i = 0
while (boutons(i)(j).estColore && i < tailleX) { i = i+1 }
res = solveur(i,j,Color.white)
solveur_lance = true
} else {
nb = nombre_aligne(i,true,Color.white)
if (nb == tailleY/2) {
i = 0
while(boutons(i)(j).estColore && i < tailleX) { i = i+1 }
res = solveur(i,j,Color.black)
solveur_lance = true
}
}
i = i+1
}
}
result = res
......
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