|
|
|
@ -10,8 +10,8 @@ var darktercia = "#606060";
|
|
|
|
|
var carteselect = [];
|
|
|
|
|
var deckPartie = []; //Ensemble des cartes affichees a l'ecran
|
|
|
|
|
var TasDuJEU = []; // Ensemble de toutes les cartes presente dans le jeu
|
|
|
|
|
var allMode = ["Solo", "Infini", "Bac"]; // Défini tout les modes de Jeu
|
|
|
|
|
var allDimension = ["4 * 3", "3 * 3", "3 * 2"];
|
|
|
|
|
var allMode = ["Match à Point", "Mode Timer", "Infini", "Bac"]; // Défini tout les modes de Jeu
|
|
|
|
|
var allDimension = ["4 * 3", "3 * 3", "3 * 2", "2 * 2"];// Défini toutes les dimensions que les cartes peuvent avoir
|
|
|
|
|
var selectionMode = 0;
|
|
|
|
|
var selectionDiemension = 0;
|
|
|
|
|
|
|
|
|
@ -23,7 +23,6 @@ function majSizeCard(column) {
|
|
|
|
|
document.documentElement.style.setProperty('--taille', newTailleOrdi + "vw");
|
|
|
|
|
document.documentElement.style.setProperty('--tailleTablette', newTailleTablette + "vw");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function modePrec() {
|
|
|
|
|
if (selectionMode == 0) {
|
|
|
|
|
selectionMode = allMode.length - 1;
|
|
|
|
@ -206,7 +205,7 @@ class Figure {
|
|
|
|
|
}
|
|
|
|
|
this.couleur = couleur;
|
|
|
|
|
this.forme = forme;
|
|
|
|
|
if (selectionDiemension == 2) {
|
|
|
|
|
if (selectionDiemension == 2 || selectionDiemension == 3) {
|
|
|
|
|
this.pos = this.X + this.Y * 2;
|
|
|
|
|
} else {
|
|
|
|
|
this.pos = this.X + this.Y * 3;
|
|
|
|
@ -415,7 +414,9 @@ function lancerpartie() {
|
|
|
|
|
|
|
|
|
|
lesPoints = 0;
|
|
|
|
|
|
|
|
|
|
document.getElementById("progressbar").style.visibility = "hidden";
|
|
|
|
|
var ready = true;
|
|
|
|
|
|
|
|
|
|
//fonction de creation de partie a changer en fonction du test voulu
|
|
|
|
|
if (selectionMode == 0) {
|
|
|
|
|
if (selectionDiemension == 0) {
|
|
|
|
@ -427,20 +428,42 @@ function lancerpartie() {
|
|
|
|
|
} else if (selectionDiemension == 2) {
|
|
|
|
|
creePartieClassique3_2();
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
} else if (selectionDiemension == 3) {
|
|
|
|
|
window.alert("Oups, il semblerait que ce mode ne soit pas encore disponible...");
|
|
|
|
|
ready = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (selectionMode == 1) {
|
|
|
|
|
document.getElementById("progressbar").style.visibility = "visible";
|
|
|
|
|
decompte();
|
|
|
|
|
if (selectionDiemension == 0) {
|
|
|
|
|
majSizeCard(3);
|
|
|
|
|
creePartieInfini(4, 3);
|
|
|
|
|
majSizeCard(3);
|
|
|
|
|
} else if (selectionDiemension == 1) {
|
|
|
|
|
creePartieInfini(3, 3);
|
|
|
|
|
majSizeCard(3);
|
|
|
|
|
} else if (selectionDiemension == 2) {
|
|
|
|
|
creePartieInfini3_2(3, 2);
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
} else if (selectionDiemension == 3) {
|
|
|
|
|
creePartieInfini3_2(2, 2);
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
}
|
|
|
|
|
} else if (selectionMode == 2) {
|
|
|
|
|
if (selectionDiemension == 0) {
|
|
|
|
|
creePartieInfini(4, 3);
|
|
|
|
|
majSizeCard(3);
|
|
|
|
|
} else if (selectionDiemension == 1) {
|
|
|
|
|
creePartieInfini(3, 3);
|
|
|
|
|
majSizeCard(3);
|
|
|
|
|
} else if (selectionDiemension == 2) {
|
|
|
|
|
creePartieInfini3_2(3, 2);
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
} else if (selectionDiemension == 3) {
|
|
|
|
|
creePartieInfini3_2(2, 2);
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
}
|
|
|
|
|
} else if (selectionMode == 3) {
|
|
|
|
|
bacASable();
|
|
|
|
|
}
|
|
|
|
|
if (ready) {
|
|
|
|
@ -471,13 +494,14 @@ function redistribuerPlateau() {
|
|
|
|
|
for (var i = 0; i < 16; i++) {
|
|
|
|
|
if (selectionDiemension == 2) {
|
|
|
|
|
remplacerLaCarte3_2(deckPartie[i]);
|
|
|
|
|
} else if (selectionDiemension == 3) {
|
|
|
|
|
remplacerLaCarte2_2(deckPartie[i]);
|
|
|
|
|
} else {
|
|
|
|
|
remplacerLaCarte(deckPartie[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
afficherCartes(deckPartie);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function redistribuer() {
|
|
|
|
@ -592,6 +616,60 @@ function changerlesCartes3_2() {
|
|
|
|
|
rechargerGAME();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function changerlesCartes2_2() {
|
|
|
|
|
while (carteselect.length != 0) {
|
|
|
|
|
remplacerLaCarte2_2(carteselect[0]);
|
|
|
|
|
carteselect.shift();
|
|
|
|
|
}
|
|
|
|
|
rechargerGAME();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function remplacerLaCarte2_2(uneCarte) {
|
|
|
|
|
pos = deckPartie.indexOf(uneCarte);
|
|
|
|
|
var AllFigure = [];
|
|
|
|
|
var Cox1, Coy1, Cox2, Coy2;
|
|
|
|
|
|
|
|
|
|
var numCouleur = getRandom(0, 3);
|
|
|
|
|
var laCouleur;
|
|
|
|
|
|
|
|
|
|
Cox1 = getRandom(0, uneCarte.column - 1);
|
|
|
|
|
Coy1 = getRandom(0, uneCarte.row - 1);
|
|
|
|
|
|
|
|
|
|
if (numCouleur == 0) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur1;
|
|
|
|
|
} else if (numCouleur == 1) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur2;
|
|
|
|
|
} else if (numCouleur == 2) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur3;
|
|
|
|
|
} else if (numCouleur == 3) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur4;
|
|
|
|
|
}
|
|
|
|
|
AllFigure.push(new Figure(new Array(TypeFigure.Petit), FormeFigure.Rond, Cox1, Coy1, laCouleur));
|
|
|
|
|
|
|
|
|
|
Cox2 = getRandom(0, uneCarte.column - 1);
|
|
|
|
|
Coy2 = getRandom(0, uneCarte.row - 1);
|
|
|
|
|
|
|
|
|
|
while (Cox2 == Cox1 && Coy1 == Coy2) {
|
|
|
|
|
Cox2 = getRandom(0, uneCarte.column - 1);
|
|
|
|
|
Coy2 = getRandom(0, uneCarte.row - 1);
|
|
|
|
|
}
|
|
|
|
|
numCouleur = getRandom(0, 3);
|
|
|
|
|
|
|
|
|
|
if (numCouleur == 0) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur1;
|
|
|
|
|
} else if (numCouleur == 1) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur2;
|
|
|
|
|
} else if (numCouleur == 2) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur3;
|
|
|
|
|
} else if (numCouleur == 3) {
|
|
|
|
|
laCouleur = CouleurFigure.Couleur4;
|
|
|
|
|
}
|
|
|
|
|
AllFigure.push(new Figure(new Array(TypeFigure.Moyen), FormeFigure.Rond, Cox2, Coy2, laCouleur));
|
|
|
|
|
//Code de Generation de Figure
|
|
|
|
|
var newCarte = new Carte(pos + 1, AllFigure, uneCarte.row, uneCarte.column);
|
|
|
|
|
deckPartie[pos] = newCarte;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function remplacerLaCarte3_2(uneCarte) {
|
|
|
|
|
pos = deckPartie.indexOf(uneCarte);
|
|
|
|
|
var AllFigure = [];
|
|
|
|
@ -1452,6 +1530,8 @@ function testPourJeuInfini() {
|
|
|
|
|
document.getElementById("affPoints").textContent = 'Score : ' + lesPoints;
|
|
|
|
|
if (selectionDiemension == 2) {
|
|
|
|
|
changerlesCartes3_2();
|
|
|
|
|
} else if (selectionDiemension == 3) {
|
|
|
|
|
changerlesCartes2_2();
|
|
|
|
|
} else {
|
|
|
|
|
changerlesCartes();
|
|
|
|
|
}
|
|
|
|
@ -1627,6 +1707,11 @@ function comparaisonARBRE(CarteMereEntree, CarteFilleEntree) {
|
|
|
|
|
if (CarteFille.SesFigures[i].forme == CarteMere.SesFigures[j].forme) {
|
|
|
|
|
//Forme identiques
|
|
|
|
|
for (var k = 0; k < CarteMere.SesFigures[j].type.length; k++) {
|
|
|
|
|
if (CarteFille.SesFigures[i].couleur != CarteMere.SesFigures[j].couleur) {//Si les figures ne sont pas de la même couleur on stop la comparaison
|
|
|
|
|
var leCode = new CODE(CarteMere);
|
|
|
|
|
leCode.code = -1;
|
|
|
|
|
return leCode;
|
|
|
|
|
}
|
|
|
|
|
if (CarteFille.SesFigures[i].type[0] == TypeFigure.Petit) {
|
|
|
|
|
if (CarteMere.SesFigures[j].type[k] == TypeFigure.Petit) {
|
|
|
|
|
var leCode = new CODE(CarteMere);
|
|
|
|
@ -1722,6 +1807,7 @@ function doublonInterdit(uneCarte) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function bacASable() {
|
|
|
|
|
majSizeCard(2);
|
|
|
|
|
var lesCartes = [];
|
|
|
|
|
|
|
|
|
|
var LesFigure = [];
|
|
|
|
|