@ -16,27 +16,133 @@ var selectionMode = 0;
var selectionDiemension = 0 ;
var selectionDiemension = 0 ;
var allModeFrench = [ "Match à Point" , "Mode Timer" , "Infini" , "Bac" , "MultiJoueur" ] ; // Défini tout les modes de Jeu en français
var allModeFrench = [ "Match à Point" , "Mode Timer" , "Infini" , "Bac" , "MultiJoueur" ] ; // Défini tout les modes de Jeu en français
var allModeEngl = [ "Point Match" , "Timer mode" , "Infini" , "Bac" , "MultiPlayer" ] ; // Défini tout les modes de Jeu en Anglais
var allModeEngl = [ "Point Match" , "Timer mode" , "Infini" , "Bac" , "MultiPlayer" ] ; // Défini tout les modes de Jeu en Anglais
var tab2 = [ ] ;
var modelangue = false ;
var modelangue = false ;
var offreSWISH = false ;
var offreSWISH = false ;
var carteselectPos = [ ] ;
var lesPoints = 0 ; //Points du Joueur1
var lesPoints = 0 ; //Points du Joueur1
function majSizeCard ( column ) {
function majSizeCard ( column ) {
var newTailleOrdi = column * 3.3 + 1 ;
var newTailleOrdi = column * 3.3 + 1 ;
var newTailleTablette = newTailleOrdi ;
var newTailleTablette = newTailleOrdi
document . documentElement . style . setProperty ( '--taille' , newTailleOrdi + "vw" ) ;
document . documentElement . style . setProperty ( '--taille' , newTailleOrdi + "vw" ) ;
document . documentElement . style . setProperty ( '--tailleTablette' , newTailleTablette + "vw" ) ;
document . documentElement . style . setProperty ( '--tailleTablette' , newTailleTablette + "vw" ) ;
}
}
function lancerGameMulti ( ) {
creePartieClassique3 _4 ( ) ;
document . getElementById ( "pageAccueil" ) . style . visibility = "hidden" ;
//document.getElementById("PageLobbyMulti").style.visibility = "hidden";
document . getElementById ( "pageGame" ) . style . visibility = "visible" ;
document . getElementById ( "idGameMulti" ) . style . visibility = "visible" ;
document . getElementById ( "progressbar" ) . style . visibility = "hidden" ;
//Suprimer les paarties précédantes
/ *
$ ( document ) . ready ( function ( ) {
//alert("Clean bases")
$ ( "#div1" ) . load ( 'cleanBase.php' )
} ) ;
* /
//Créer les 16 lignes dans la base pour les 16 cartes de la partie
//Génère l'idPartie
//Envoyer les 16 cartes
listecartes = [ ] ;
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
var ajt = deckPartie [ i ] . getMatrice [ 0 ] + deckPartie [ i ] . getMatrice [ 1 ] + deckPartie [ i ] . getMatrice [ 2 ] ;
listecartes . push ( ajt ) ;
//console.log(ajt);
}
$ ( document ) . ready ( function ( ) {
var cartestables = listecartes ;
$ . ajax ( {
data : {
cartestables : cartestables
} ,
type : "post" ,
url : "envoyercartes.php" ,
success : function ( data ) {
console . log ( "====Les cartes ont été envoyés (lancerpartie)===" )
}
} ) ;
} ) ;
}
function ConvertInttoCarte ( ListeDesCartes ) {
//console.log("LC",ListeDesCartes);
if ( ListeDesCartes . length == 0 ) {
console . log ( "Vide" ) ;
}
var lescartes = [ ] ; //Liste des cartes
for ( let j = 0 ; j < ListeDesCartes . length ; j ++ ) {
var lesfigure = [ ] ; //Liste figures de la carte
//pb?
for ( let i = 0 ; i < ListeDesCartes [ j ] . length ; i ++ ) {
if ( ListeDesCartes [ j ] [ i ] == 1 ) {
var premierefigure = new Figure ( TypeFigure . Petit , FormeFigure . Rond , Math . floor ( i / 4 ) , ( i % 4 ) ) ;
lesfigure . push ( premierefigure ) ;
//console.log("cc1",j," ",i);
}
else if ( ListeDesCartes [ j ] [ i ] == 2 ) {
var deuxiemefigure = new Figure ( TypeFigure . Moyen , FormeFigure . Rond , Math . floor ( i / 4 ) , ( i % 4 ) ) ;
lesfigure . push ( deuxiemefigure ) ;
//console.log("cc2",j," ",i);
}
}
//pb?
var carte = new Carte ( lescartes . length , lesfigure , 4 , 3 ) ;
//console.log("MAMAN2",j," ",carte);
lescartes . push ( carte ) ;
}
//console.log("LC2",lescartes);
deckPartie = lescartes ;
afficherCartes ( deckPartie ) ;
console . log ( "--Conversion réussie--" ) ;
// console.log("CARTES SELECTS : ",carteselectPos);
reselectCartes ( ) ;
}
function reselectCartes ( ) {
if ( carteselectPos != [ ] && carteselectPos != null ) {
// console.log("cartesPOS: ",carteselectPos);
carteselectPos . forEach ( ( pos ) => {
var lacarte = "card" + pos ;
var numeroCarte = pos ;
//console.log("lacarte: ",lacarte);
//console.log(deckPartie[numeroCarte].get);
document . getElementById ( lacarte ) . style . boxShadow = "0 0 1vw red, 0 0 1vw red" ;
} ) ;
}
else {
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
var lacarte = "card" + i ;
var numeroCarte = i ;
//console.log("lacarte: ",lacarte);
//console.log(deckPartie[numeroCarte].get);
document . getElementById ( lacarte ) . style . boxShadow = "" ;
}
}
}
function rejoindreGameMulti ( ) {
creePartieClassique3 _4 ( ) ;
document . getElementById ( "pageAccueil" ) . style . visibility = "hidden" ;
//document.getElementById("PageLobbyMulti").style.visibility = "hidden";
document . getElementById ( "pageGame" ) . style . visibility = "visible" ;
document . getElementById ( "idGameMulti" ) . style . visibility = "visible" ;
document . getElementById ( "progressbar" ) . style . visibility = "hidden" ;
}
function modePrec ( ) {
function modePrec ( ) {
if ( ! modelangue ) {
if ( ! modelangue ) {
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
selectionMode = allModeFrench . length - 1 ;
selectionMode = allModeFrench . length - 1 ;
}
}
else {
else {
selectionMode -= 1 ;
selectionMode -= 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
if ( allModeEngl [ selectionMode ] == "MultiPlayer" || allModeEngl [ selectionMode ] == "MultiJoueur" ) {
if ( allModeEngl [ selectionMode ] == "MultiPlayer" || allModeEngl [ selectionMode ] == "MultiJoueur" ) {
@ -47,10 +153,10 @@ function modePrec() {
}
}
else {
else {
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
selectionMode = allModeEngl . length - 1 ;
selectionMode = allModeEngl . length - 1 ;
}
}
else {
else {
selectionMode -= 1 ;
selectionMode -= 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
if ( allModeEngl [ selectionMode ] == "MultiJoueur" || allModeEngl [ selectionMode ] == "MultiPlayer" ) {
if ( allModeEngl [ selectionMode ] == "MultiJoueur" || allModeEngl [ selectionMode ] == "MultiPlayer" ) {
@ -81,19 +187,19 @@ function dimensionPrec() {
if ( ! modelangue ) {
if ( ! modelangue ) {
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
selectionMode = allModeFrench . length - 1 ;
selectionMode = allModeFrench . length - 1 ;
} else {
} else {
selectionMode -= 1 ;
selectionMode -= 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
}
}
else {
else {
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
selectionMode = allModeEngl . length - 1 ;
selectionMode = allModeEngl . length - 1 ;
} else {
} else {
selectionMode -= 1 ;
selectionMode -= 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
}
}
}
}
@ -101,9 +207,9 @@ function dimensionPrec() {
function modeSuiv ( ) {
function modeSuiv ( ) {
if ( ! modelangue ) {
if ( ! modelangue ) {
if ( selectionMode == allModeFrench . length - 1 ) {
if ( selectionMode == allModeFrench . length - 1 ) {
selectionMode = 0 ;
selectionMode = 0 ;
} else {
} else {
selectionMode += 1 ;
selectionMode += 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
if ( allModeEngl [ selectionMode ] == "MultiPlayer" || allModeEngl [ selectionMode ] == "MultiJoueur" ) {
if ( allModeEngl [ selectionMode ] == "MultiPlayer" || allModeEngl [ selectionMode ] == "MultiJoueur" ) {
@ -114,9 +220,9 @@ function modeSuiv() {
}
}
else {
else {
if ( selectionMode == allModeEngl . length - 1 ) {
if ( selectionMode == allModeEngl . length - 1 ) {
selectionMode = 0 ;
selectionMode = 0 ;
} else {
} else {
selectionMode += 1 ;
selectionMode += 1 ;
}
}
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
if ( allModeEngl [ selectionMode ] == "MultiJoueur" || allModeEngl [ selectionMode ] == "MultiPlayer" ) {
if ( allModeEngl [ selectionMode ] == "MultiJoueur" || allModeEngl [ selectionMode ] == "MultiPlayer" ) {
@ -155,7 +261,15 @@ class Carte {
this . identifiant = id ;
this . identifiant = id ;
this . row = nbRow ;
this . row = nbRow ;
this . column = nbColumn ;
this . column = nbColumn ;
this . Matrice = creaMatrice ( nbRow , nbColumn ) ;
this . Matrice = creaMatriceVierge ( nbRow , nbColumn ) ;
for ( var i = 0 ; i < allFigure . length ; i ++ ) {
if ( allFigure [ i ] . type [ 0 ] == TypeFigure . Petit ) {
this . Matrice [ allFigure [ i ] . X ] [ allFigure [ i ] . Y ] += 1 ;
} else {
this . Matrice [ allFigure [ i ] . X ] [ allFigure [ i ] . Y ] += 2 ;
}
}
this . SesFigures = [ ] ;
this . SesFigures = [ ] ;
for ( var i = 0 ; i < allFigure . length ; i ++ ) {
for ( var i = 0 ; i < allFigure . length ; i ++ ) {
this . SesFigures . push ( allFigure [ i ] ) ;
this . SesFigures . push ( allFigure [ i ] ) ;
@ -176,7 +290,7 @@ class Carte {
divcase . className = "item-form" ;
divcase . className = "item-form" ;
var ajoute = true ;
var ajoute = true ;
for ( var j = 0 ; j < this . SesFigures . length ; j ++ ) {
for ( var j = 0 ; j < this . SesFigures . length ; j ++ ) {
if ( i == this . SesFigures [ j ] . pos ) {
if ( i == this . SesFigures [ j ] . X + ( this . SesFigures [ j ] . Y * 3 ) ) {
try {
try {
ajoute = false ;
ajoute = false ;
var uneFigure = new Figure ( this . SesFigures [ j ] . type , this . SesFigures [ j ] . forme , this . SesFigures [ j ] . X , this . SesFigures [ j ] . Y ) ;
var uneFigure = new Figure ( this . SesFigures [ j ] . type , this . SesFigures [ j ] . forme , this . SesFigures [ j ] . X , this . SesFigures [ j ] . Y ) ;
@ -196,24 +310,55 @@ class Carte {
this . link . onclick = function selectioncarte ( ) {
this . link . onclick = function selectioncarte ( ) {
var macarte = this . id ;
var macarte = this . id ;
var lacarte = "card" + macarte ;
var lacarte = "card" + macarte ;
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
if ( this . id == deckPartie [ i ] . identifiant ) {
if ( carteselectPos . includes ( i ) ) {
carteselectPos . splice ( carteselectPos . indexOf ( i ) , 1 ) ;
} else {
if ( carteselectPos . length < 5 ) {
carteselectPos . push ( i ) ;
}
}
}
}
//console.log("cartesPOS: ",carteselectPos);
var laCarte ;
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
if ( this . id == deckPartie [ i ] . identifiant ) {
if ( this . id == deckPartie [ i ] . identifiant ) {
var laCarte = deckPartie [ i ] ; //Carte liee avec le code HTML
laCarte = deckPartie [ i ] ; //Carte liee avec le code HTML
}
}
}
}
//cas où la carte a déjà été cliqué
if ( document . getElementById ( lacarte ) . style . boxShadow != "" ) {
if ( document . getElementById ( lacarte ) . style . boxShadow != "" ) {
var pos = carteselect . indexOf ( laCarte ) ;
var pos = carteselect . indexOf ( laCarte ) ;
carteselect . splice ( pos , 1 ) ;
carteselect . splice ( pos , 1 ) ;
document . getElementById ( lacarte ) . style . boxShadow = "" ;
document . getElementById ( lacarte ) . style . boxShadow = "" ;
}
}
//cas où la carte n'a pas déjà été cliqué
else {
else {
if ( carteselect . length < 5 ) {
if ( carteselect . length < 5 ) {
carteselect . push ( laCarte ) ;
carteselect . push ( laCarte ) ;
document . getElementById ( lacarte ) . style . boxShadow = "0 0 1vw red, 0 0 1vw red" ;
document . getElementById ( lacarte ) . style . boxShadow = "0 0 1vw red, 0 0 1vw red" ;
}
}
else
else
window . alert ( "Selection Trop Grande !" ) ;
window . alert ( "5 max !" ) ;
}
} ;
// for( var i =0; i < carteselectPos.length;i++){
// carteselect=[];
// //var carte = tab2[1];
// //console.log(carteselectPos[i]);
// //carteselect.push(carte);
// console.log(tab2[carteselectPos[i]]);
// var slt = ConvertUneCarte(tab2[carteselectPos[i]]);
// console.log("C'est moi",slt.getMatrice);
// }
} ;
} ;
}
}
@ -912,13 +1057,13 @@ function journuit() {
function lancerpartie ( ) {
function lancerpartie ( ) {
lesPoints = 0 ;
lesPoints = 0 ;
goAide ( ) ;
document . getElementById ( "progressbar" ) . style . visibility = "hidden" ;
document . getElementById ( "progressbar" ) . style . visibility = "hidden" ;
var ready = true ;
var ready = true ;
//fonction de creation de partie a changer en fonction du test voulu
//fonction de creation de partie a changer en fonction du test voulu
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
goAide ( ) ;
if ( selectionDiemension == 0 ) {
if ( selectionDiemension == 0 ) {
creePartieClassique3 _4 ( ) ;
creePartieClassique3 _4 ( ) ;
majSizeCard ( 3 ) ;
majSizeCard ( 3 ) ;
@ -942,6 +1087,7 @@ function lancerpartie() {
}
}
} else if ( selectionMode == 1 ) {
} else if ( selectionMode == 1 ) {
goAide ( ) ;
document . getElementById ( "progressbar" ) . style . visibility = "visible" ;
document . getElementById ( "progressbar" ) . style . visibility = "visible" ;
decompte ( ) ;
decompte ( ) ;
if ( selectionDiemension == 0 ) {
if ( selectionDiemension == 0 ) {
@ -958,6 +1104,7 @@ function lancerpartie() {
majSizeCard ( 2 ) ;
majSizeCard ( 2 ) ;
}
}
} else if ( selectionMode == 2 ) {
} else if ( selectionMode == 2 ) {
goAide ( ) ;
if ( selectionDiemension == 0 ) {
if ( selectionDiemension == 0 ) {
creePartieInfini ( 4 , 3 ) ;
creePartieInfini ( 4 , 3 ) ;
majSizeCard ( 3 ) ;
majSizeCard ( 3 ) ;
@ -973,6 +1120,10 @@ function lancerpartie() {
}
}
} else if ( selectionMode == 3 ) {
} else if ( selectionMode == 3 ) {
bacASable ( ) ;
bacASable ( ) ;
} else if ( selectionMode == 4 ) {
document . getElementById ( "pageAccueil" ) . style . visibility = "hidden" ;
//document.getElementById("PageLobbyMulti").style.visibility = "visible";
}
}
if ( ready ) {
if ( ready ) {
document . getElementById ( "pageAccueil" ) . style . visibility = "hidden" ;
document . getElementById ( "pageAccueil" ) . style . visibility = "hidden" ;
@ -997,11 +1148,7 @@ function rechargerGAME() {
function redistribuerPlateau ( ) {
function redistribuerPlateau ( ) {
lesPoints -= 5 ;
lesPoints -= 5 ;
goAide ( ) ;
document . getElementById ( "affPoints" ) . textContent = 'Score : ' + lesPoints ;
document . getElementById ( "affPoints" ) . textContent = 'Score : ' + lesPoints ;
while ( carteselect . length != 0 ) {
carteselect . shift ( ) ;
}
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
redistribuer ( ) ;
redistribuer ( ) ;
} else if ( selectionMode == 1 || selectionMode == 2 ) {
} else if ( selectionMode == 1 || selectionMode == 2 ) {
@ -1015,9 +1162,82 @@ function redistribuerPlateau() {
}
}
}
}
}
}
if ( selectionMode == 4 ) {
redistribuerMulti ( ) ;
}
afficherCartes ( deckPartie ) ;
afficherCartes ( deckPartie ) ;
}
}
function redistribuerMulti ( ) {
carteselect = [ ] ;
carteselectPos = [ ] ;
reselectCartes ( ) ;
deckPartie = [ ] ;
for ( var i = 0 ; i < 16 ; i ++ ) {
var index = getRandom ( 0 , TasDuJEU . length - 1 )
var dejaPresente = false ; //Permet de savoir si la carte est deja dans la liste
for ( var j = 0 ; j < deckPartie . length ; j ++ ) {
if ( TasDuJEU [ index ] . identifiant == deckPartie [ j ] . identifiant ) {
dejaPresente = true ;
}
}
while ( dejaPresente == true ) {
index = getRandom ( 0 , TasDuJEU . length - 1 )
dejaPresente = false ; //Permet de savoir si la carte est deja dans la liste
for ( var j = 0 ; j < deckPartie . length ; j ++ ) {
if ( TasDuJEU [ index ] . identifiant == deckPartie [ j ] . identifiant ) {
dejaPresente = true ;
}
}
}
deckPartie . push ( copieCarte ( TasDuJEU [ index ] ) ) ;
}
//Envoyer les 16 cartes du plateau
listecartes = [ ] ;
var uneMatrice ;
var ajt ;
/ *
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
var ajt = deckPartie [ i ] . getMatrice [ 0 ] + deckPartie [ i ] . getMatrice [ 1 ] + deckPartie [ i ] . getMatrice [ 2 ] ;
listecartes . push ( ajt ) ;
console . log ( ajt ) ;
} * /
for ( var j = 0 ; j < deckPartie . length ; j ++ ) { //Pour toutes les cartes de deckPartie
uneMatrice = creaMatriceVierge ( deckPartie [ j ] . row , deckPartie [ j ] . column ) ; //Création d'une matrice vierge ( Tableau 2D avec que des 0)
for ( var i = 0 ; i < deckPartie [ j ] . SesFigures . length ; i ++ ) { //Pour chaque figure présente dans la carte
if ( deckPartie [ j ] . SesFigures [ i ] . type == TypeFigure . Petit ) { //Check de la taille de la figure et adaptation de la valeur dans la matrice
uneMatrice [ deckPartie [ j ] . SesFigures [ i ] . X ] [ deckPartie [ j ] . SesFigures [ i ] . Y ] = 1 ;
} else if ( deckPartie [ j ] . SesFigures [ i ] . type == TypeFigure . Moyen ) {
uneMatrice [ deckPartie [ j ] . SesFigures [ i ] . X ] [ deckPartie [ j ] . SesFigures [ i ] . Y ] = 2 ;
}
}
ajt = uneMatrice [ 0 ] + uneMatrice [ 1 ] + uneMatrice [ 2 ] ; //une fois matrice vierge complétée on transforme ça en data
listecartes . push ( ajt ) ;
//console.log(ajt);
}
//console.log("LISTE BUG2 ",listecartes);
$ ( document ) . ready ( function ( ) {
var cartestables = listecartes ;
$ . ajax ( {
data : {
cartestables : cartestables
} ,
type : "post" ,
url : "envoyercartes.php" ,
success : function ( data ) {
console . log ( "====Les cartes ont été envoyés (redistribuer)===" )
}
} ) ;
} ) ;
}
function redistribuer ( ) {
function redistribuer ( ) {
deckPartie = [ ] ;
deckPartie = [ ] ;
for ( var i = 0 ; i < 16 ; i ++ ) {
for ( var i = 0 ; i < 16 ; i ++ ) {
@ -1297,7 +1517,154 @@ function creePartieInfini3_2(nbRow, nbColum) {
}
}
}
}
function MaFonction ( ) {
var copyText = document . getElementById ( "Monidpartie" ) ;
copyText . select ( ) ;
copyText . setSelectionRange ( 0 , 99999 ) ;
document . execCommand ( "copy" ) ;
}
function testerCartesMulti ( ) {
//try {
if ( carteselect . length == 0 ) {
window . alert ( "Selection Vide test pour jeu classique" ) ;
return ;
} else if ( carteselect . length < 2 ) {
window . alert ( "Selection Trop Petite" ) ;
return ;
} else {
var copie = [ ] ;
for ( var i = 0 ; i < carteselect . length ; i ++ ) {
copie . push ( copieCarte ( carteselect [ i ] ) ) ;
}
var tab = [ ] ;
tab = AssemblageARBRE ( copie , copieCarte ( carteselect [ 0 ] ) ) ;
var solution = true ;
var tabCode = [ ] ;
for ( var i = 0 ; i < tab . length ; i ++ ) {
tabCode . push ( tab [ i ] . code ) ;
}
for ( var i = 0 ; i < tab . length ; i ++ ) {
if ( tab [ i ] . code == carteselect . length ) {
solution = false ;
cpt = cpt + 20 * copie . length ;
lesPoints += carteselect . length ;
document . getElementById ( "affPoints" ) . textContent = 'Score : ' + lesPoints ;
var new2Cartes = changerlesCartesDeTasDeJeuMulti ( ) ;
}
}
if ( solution ) {
document . getElementById ( "affSolution" ) . textContent = 'Aucune solution trouvée...' ;
}
if ( ! solution ) {
document . getElementById ( "affSolution" ) . textContent = 'Assemblage de ' + copie . length + ' cartes trouvé ! Il reste encore ' + TasDuJEU . length + ' cartes !' ;
carteselectPos = [ ] ;
carteselect = [ ] ;
reselectCartes ( ) ;
}
}
/ * } c a t c h ( e ) {
window . alert ( e ) ;
} * /
//Envoyer les 16 cartes du plateau
listecartes = [ ] ;
var ajt ;
/ *
for ( var i = 0 ; i < deckPartie . length ; i ++ ) {
var ajt = deckPartie [ i ] . getMatrice [ 0 ] + deckPartie [ i ] . getMatrice [ 1 ] + deckPartie [ i ] . getMatrice [ 2 ] ;
listecartes . push ( ajt ) ;
console . log ( ajt ) ;
} * /
for ( var j = 0 ; j < deckPartie . length ; j ++ ) { //Pour toutes les cartes de deckPartie
var uneMatrice = creaMatriceVierge ( deckPartie [ j ] . row , deckPartie [ j ] . column ) ; //Création d'une matrice vierge ( Tableau 2D avec que des 0)
//CODE A RISQUE
for ( var i = 0 ; i < deckPartie [ j ] . SesFigures . length ; i ++ ) { //Pour chaque figure présente dans la carte
if ( deckPartie [ j ] . SesFigures [ i ] . type [ 0 ] == TypeFigure . Petit ) { //Check de la taille de la figure et adaptation de la valeur dans la matrice
uneMatrice [ deckPartie [ j ] . SesFigures [ i ] . X ] [ deckPartie [ j ] . SesFigures [ i ] . Y ] = 1 ;
} else if ( deckPartie [ j ] . SesFigures [ i ] . type [ 0 ] == TypeFigure . Moyen ) {
uneMatrice [ deckPartie [ j ] . SesFigures [ i ] . X ] [ deckPartie [ j ] . SesFigures [ i ] . Y ] = 2 ;
}
}
//
ajt = uneMatrice [ 0 ] + uneMatrice [ 1 ] + uneMatrice [ 2 ] ; //une fois matrice vierge complétée on transforme ça en data
listecartes . push ( ajt ) ;
//console.log(ajt);
}
//console.log("LISTE BUG1: ",listecartes);
$ ( document ) . ready ( function ( ) {
var cartestables = listecartes ;
$ . ajax ( {
data : {
cartestables : cartestables
} ,
type : "post" ,
url : "envoyercartes.php" ,
success : function ( data ) {
console . log ( "====Les cartes ont été envoyés (valider cartes)===" )
}
} ) ;
} ) ;
}
function changerlesCartesDeTasDeJeuMulti ( ) {
var new2cartes = [ ] ;
// Pour toutes les cartes selectionnées
while ( carteselectPos . length != 0 ) {
// //Enlever la carte dans le tas du jeu
// var unIndex = TasDuJEU.indexOf(carteselect[0]);
// TasDuJEU.splice(unIndex, 1);
//si il reste plus de 16 cartes
if ( TasDuJEU . length > 16 ) {
//On prend une autre carte aléatoire dans tas du jeu
var index2 = getRandom ( 0 , TasDuJEU . length - 1 )
//var dejaPresente = false;
//Permet de savoir si la carte est deja dans la liste
// for (var j = 0; j < deckPartie.length; j++) {
// if (TasDuJEU[index2].identifiant == deckPartie[j].identifiant) {
// dejaPresente = true;
// }
// }
deckPartie [ carteselectPos [ 0 ] ] = TasDuJEU [ index2 ] ;
TasDuJEU . splice ( index2 , 1 ) ;
//on recommmence jusqu'à obtenri une carte pas dans le tas de jeu
// while (dejaPresente == true) {
// index2 = getRandom(0, TasDuJEU.length - 1)
// dejaPresente = false;//Permet de savoir si la carte est deja dans la liste
// for (var j = 0; j < deckPartie.length; j++) {
// if (TasDuJEU[index2].identifiant == deckPartie[j].identifiant) {
// dejaPresente = true;
// }
// }
// }
// unIndex = deckPartie.indexOf(carteselect[0]);
// deckPartie[unIndex] = TasDuJEU[index2];
// new2cartes.push(TasDuJEU[index2]);
} else {
// si il y a moins de 16 cartes on enlève juste
deckPartie . splice ( carteselect [ 0 ] , 1 ) ;
// unIndex = deckPartie.indexOf(carteselect[0]);
// deckPartie.splice(unIndex, 1);
}
carteselectPos . shift ( ) ;
carteselect . shift ( ) ;
}
afficherCartes ( deckPartie ) ;
return new2cartes ;
}
function creePartieClassique3 _2 ( ) {
function creePartieClassique3 _2 ( ) {
TasDuJEU = genererTouteslesCartes3 _2Possibles ( ) ;
TasDuJEU = genererTouteslesCartes3 _2Possibles ( ) ;
deckPartie = [ ] ;
deckPartie = [ ] ;
@ -1495,7 +1862,7 @@ function afficherCartes(Liste) {
document . getElementById ( "containcards" ) . firstElementChild . remove ( ) ;
document . getElementById ( "containcards" ) . firstElementChild . remove ( ) ;
}
}
for ( var i = 0 ; i < Liste . length ; i ++ ) {
for ( var i = 0 ; i < Liste . length ; i ++ ) {
document . getElementById ( "containcards" ) . appendChild ( Liste[ i ] . link ) ;
document . getElementById ( "containcards" ) . appendChild ( copieCarte( Liste[ i ] ) . link ) ;
}
}
}
}
@ -2369,12 +2736,17 @@ function decompte() {
}
}
function testerLesCartes ( ) {
function testerLesCartes ( ) {
goAide ( ) ;
if ( selectionMode == 0 ) {
if ( selectionMode == 0 ) {
goAide ( ) ;
testPourJeuClassique ( ) ;
testPourJeuClassique ( ) ;
} else if ( selectionMode == 1 || selectionMode == 2 ) {
} else if ( selectionMode == 1 || selectionMode == 2 ) {
goAide ( ) ;
testPourJeuInfini ( ) ;
testPourJeuInfini ( ) ;
}
}
if ( selectionMode == 4 ) {
testerCartesMulti ( ) ;
}
}
}
@ -2502,11 +2874,11 @@ function testPourJeuClassique() {
}
}
if ( solution ) {
if ( solution ) {
if ( ! modelangue ) {
if ( ! modelangue ) {
document . getElementById ( "affSolution" ) . textContent = 'Aucune solution trouvée...' ;
document . getElementById ( "affSolution" ) . textContent = 'Aucune solution trouvée...' ;
}
}
else {
else {
document . getElementById ( "affSolution" ) . textContent = 'No solutions found...' ;
document . getElementById ( "affSolution" ) . textContent = 'No solutions found...' ;
}
}
}
}
if ( ! solution ) {
if ( ! solution ) {
@ -2772,53 +3144,53 @@ function functionLange(){
//window.alert(modelangue);
//window.alert(modelangue);
console . log ( modelangue ) ;
console . log ( modelangue ) ;
if ( modelangue ) {
if ( modelangue ) {
modelangue = false ;
modelangue = false ;
//MODE FRANCAIS =======
//MODE FRANCAIS =======
document . getElementById ( 'flag_top' ) . src = "imgs/flags/flag-france.png" ;
document . getElementById ( 'flag_top' ) . src = "imgs/flags/flag-france.png" ;
document . getElementById ( 'flag_top2' ) . src = "imgs/flags/flag-france.png" ;
document . getElementById ( 'flag_top2' ) . src = "imgs/flags/flag-france.png" ;
document . getElementById ( 'textjouerr' ) . innerHTML = 'JOUER' ;
document . getElementById ( 'textjouerr' ) . innerHTML = 'JOUER' ;
//Traduction classement
//Traduction classement
document . getElementById ( 'classementtxt' ) . textContent = 'Classement - solo' ;
document . getElementById ( 'classementtxt' ) . textContent = 'Classement - solo' ;
document . getElementById ( 'premier' ) . textContent = '1er' ;
document . getElementById ( 'premier' ) . textContent = '1er' ;
document . getElementById ( 'deuxieme' ) . textContent = '2e' ;
document . getElementById ( 'deuxieme' ) . textContent = '2e' ;
document . getElementById ( 'troisieme' ) . textContent = '3e' ;
document . getElementById ( 'troisieme' ) . textContent = '3e' ;
//Traduction paramètres
//Traduction paramètres
document . getElementById ( 'SettingName' ) . textContent = 'Paramètres' ;
document . getElementById ( 'SettingName' ) . textContent = 'Paramètres' ;
//Tradcution des règles
//Tradcution des règles
document . getElementById ( 'lesRegles' ) . textContent = 'Les Règles' ;
document . getElementById ( 'lesRegles' ) . textContent = 'Les Règles' ;
document . getElementById ( 'textRules' ) . textContent = 'Swish : Jeu de 60 cartes composé chacun de billes et de cerceaux, de 4 couleurs différentes possibles. 16 cartes sont posés sur une table et le joueur doit faire superposer des cartes de manière que chaque bille soit dans le cerceau de même couleur d’ une autre carte.' ;
document . getElementById ( 'textRules' ) . textContent = 'Swish : Jeu de 60 cartes composé chacun de billes et de cerceaux, de 4 couleurs différentes possibles. 16 cartes sont posés sur une table et le joueur doit faire superposer des cartes de manière que chaque bille soit dans le cerceau de même couleur d’ une autre carte.' ;
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeFrench [ selectionMode ]
}
}
else {
else {
modelangue = true ;
modelangue = true ;
//MODE ANGLAIS ========
//MODE ANGLAIS ========
document . getElementById ( 'flag_top' ) . src = "imgs/flags/flag-uk.png" ;
document . getElementById ( 'flag_top' ) . src = "imgs/flags/flag-uk.png" ;
document . getElementById ( 'flag_top2' ) . src = "imgs/flags/flag-uk.png" ;
document . getElementById ( 'flag_top2' ) . src = "imgs/flags/flag-uk.png" ;
document . getElementById ( 'textjouerr' ) . innerHTML = 'PLAY' ;
document . getElementById ( 'textjouerr' ) . innerHTML = 'PLAY' ;
//Traduction classement
//Traduction classement
document . getElementById ( 'classementtxt' ) . textContent = 'Ranking - solo' ;
document . getElementById ( 'classementtxt' ) . textContent = 'Ranking - solo' ;
document . getElementById ( 'premier' ) . textContent = '1st' ;
document . getElementById ( 'premier' ) . textContent = '1st' ;
document . getElementById ( 'deuxieme' ) . textContent = '2nd' ;
document . getElementById ( 'deuxieme' ) . textContent = '2nd' ;
document . getElementById ( 'troisieme' ) . textContent = '3rd' ;
document . getElementById ( 'troisieme' ) . textContent = '3rd' ;
//Traduction paramètres
//Traduction paramètres
document . getElementById ( 'SettingName' ) . textContent = 'Settings' ;
document . getElementById ( 'SettingName' ) . textContent = 'Settings' ;
//Traduction des règles
//Traduction des règles
document . getElementById ( 'lesRegles' ) . textContent = 'The Rules' ;
document . getElementById ( 'lesRegles' ) . textContent = 'The Rules' ;
document . getElementById ( 'textRules' ) . textContent = 'Swish : Set of 60 cards each composed of balls and hoops, 4 different colors possible. 16 cards are placed on a table and the player has to lay cards on top of each other in such a way that each ball is in the same color hoop as another card.'
document . getElementById ( 'textRules' ) . textContent = 'Swish : Set of 60 cards each composed of balls and hoops, 4 different colors possible. 16 cards are placed on a table and the player has to lay cards on top of each other in such a way that each ball is in the same color hoop as another card.'
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
document . getElementById ( "textmode" ) . textContent = "" + allModeEngl [ selectionMode ]
}
}
}
}