Commit 9d603e88 authored by William Babonnaud's avatar William Babonnaud

Plop unruly...

parent d5ae5054
import scala.util.Random
import Array._
import java.awt.Color
class Unruly {
// Cotés du terrain
private var tailleX = 8
private var tailleY = 8
def getTailleX = tailleX
def getTailleY = tailleY
// Matrice des boutons.
var boutons = ofDim[MonBouton](tailleX,tailleY)
def getBoutons(x: Int, y: Int) = boutons(x)(y)
// Pour reparamétrer la configuration du terrain
def reparametrage(x: Int, y: Int) = {
tailleX = x
tailleY = y
boutons = ofDim[MonBouton](tailleX,tailleY)
}
// Pour fixer la couleur d'un bouton.
// Le champ "libre" de MonBouton permettra de représenter la couleur :
// A true, la case est blanche ; à false elle est noire.
def fixCouleur(i: Int, j: Int) = {
if (boutons(i)(j).estLibre) {
boutons(i)(j).background = Color.white
}
else {
boutons(i)(j).background = Color.black
}
}
// Fonction pour compter le nombre de cases noires ou blanches sur
// une ligne ou une colonne. Le booléen lig indique si on regarde une
// ligne (true) ou une colonne (false), et blanc indique si on compte
// les cases blanches (true) ou noires (false).
def nombre_aligne(i: Int, lig: Boolean, blanc: Boolean) = {
var rep = 0
if (lig) {
for (j <- 0 to (tailleY-1)) {
if ((blanc && boutons(i)(j).estLibre) || (!blanc && !boutons(i)(j).estLibre)) {
rep = rep + 1
}
}
} else {
for (j <- 0 to (tailleX-1)) {
if ((blanc && boutons(i)(j).estLibre) || (!blanc && !boutons(i)(j).estLibre)) {
rep = rep + 1
}
}
}
rep
}
// Teste si trois cases consécutives sont colorées de la même manière
// lorsqu'on colorie une case Renvoie true si trois cases sont ainsi
// detectées.
def trois(i: Int, j:Int, blanc: Boolean) = {
}
// Génération d'une grille aléatoire
def initialise = {
/* !!! */ for (i <- 0 to (tailleX-1)) {
for (j <- 0 to (tailleY-1)) {
boutons(i)(j) = new MonBouton(i,j)
}
}
var borne = (tailleX*tailleY)/4
var x = Random.nextInt
var y = Random.nextInt
var k = Random.nextBoolean
for (i <- 0 to borne) {
// setCouleurInchangeable(boutons(i,j)) ...
// while (déjà occupé x y faire
x = Random.nextInt
y = Random.nextInt
k = Random.nextBoolean
}
}
// Génératioàn aléatoire avec graine
def initialise(n: Int) = {
/* !!! */ for (i <- 0 to (tailleX-1)) {
for (j <- 0 to (tailleY-1)) {
boutons(i)(j) = new MonBouton(i,j)
}
}
var borne = (tailleX*tailleY)/4
var ran = new Random(n)
var x = ran.nextInt
var y = ran.nextInt
var k = ran.nextBoolean
for (i <- 0 to borne) {
// setCouleurInchangeable(boutons(i,j)) ...
// while (déjà occupé x y) faire
x = ran.nextInt
y = ran.nextInt
k = ran.nextBoolean
}
}
// Test de victoire
def victoire = {
}
// Définition des conséquences d'un clic de souris
def clique_action(i: Int, j: Int) = {
}
}
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