From e4a15a2e3da6f2049ccd6de819b2a9b0acbbe3a7 Mon Sep 17 00:00:00 2001 From: readhame Date: Thu, 23 Jul 2020 20:28:37 +0200 Subject: [PATCH] Compteur HS 4x5 et Set 5x5 --- HyperSet/.idea/workspace.xml | 7 +- HyperSet/set.php | 10 +- HyperSet/vues/css/style.css | 12 +- HyperSet/vues/homePage.html | 20 +- HyperSet/vues/js/Settings.js | 37 ++ HyperSet/vues/js/set.js | 990 +++++++++++++++++++++++++++++------ 6 files changed, 903 insertions(+), 173 deletions(-) diff --git a/HyperSet/.idea/workspace.xml b/HyperSet/.idea/workspace.xml index 4ccd154..2ff0e7e 100644 --- a/HyperSet/.idea/workspace.xml +++ b/HyperSet/.idea/workspace.xml @@ -135,6 +135,9 @@ + + + @@ -178,10 +181,10 @@ - + - + diff --git a/HyperSet/set.php b/HyperSet/set.php index 674f7d9..7839885 100644 --- a/HyperSet/set.php +++ b/HyperSet/set.php @@ -31,13 +31,13 @@ if (isset($_GET['action']) && $_GET['action'] == 'deal') { $_SESSION['deck3'] = new Deck($_GET['action']); $_SESSION['game3'] = new Game($_SESSION['deck3']); $game = $_SESSION['game3']; - echo json_encode($game->start(40)); + echo json_encode($game->start(48)); } else if (isset($_GET['action']) && $_GET['action'] == 'deal4') { $_SESSION['deck4'] = new Deck($_GET['action']); $_SESSION['game4'] = new Game($_SESSION['deck4']); $game = $_SESSION['game4']; - echo json_encode($game->start(50)); + echo json_encode($game->start(70)); }else if (isset($_GET['action']) && $_GET['action'] == 'deal0') { $_SESSION['deck0'] = new Deck($_GET['action']); @@ -64,17 +64,17 @@ if (isset($_GET['action']) && $_GET['action'] == 'deal') { $_SESSION['deckHS2'] = new Deck($_GET['action']); $_SESSION['gameHS2'] = new Game($_SESSION['deckHS2']); $game = $_SESSION['gameHS2']; - echo json_encode($game->start(20)); + echo json_encode($game->start(24)); }else if (isset($_GET['action']) && $_GET['action'] == 'dealHS3') { $_SESSION['deckHS3'] = new Deck($_GET['action']); $_SESSION['gameHS3'] = new Game($_SESSION['deckHS3']); $game = $_SESSION['gameHS3']; - echo json_encode($game->start(24)); + echo json_encode($game->start(33)); }else if (isset($_GET['action']) && $_GET['action'] == 'dealHS4') { $_SESSION['deckHS4'] = new Deck($_GET['action']); $_SESSION['gameHS4'] = new Game($_SESSION['deckHS4']); $game = $_SESSION['gameHS4']; - echo json_encode($game->start(24)); + echo json_encode($game->start(42)); } diff --git a/HyperSet/vues/css/style.css b/HyperSet/vues/css/style.css index 07ea05a..bb80a57 100644 --- a/HyperSet/vues/css/style.css +++ b/HyperSet/vues/css/style.css @@ -60,7 +60,17 @@ h1 { margin-left: -15%; height: 1000px; width: 1700px; - position: fixed; + + +} + + +.game-board4 { + + margin-left: -25%; + height: 1000px; + width: 1700px; + } diff --git a/HyperSet/vues/homePage.html b/HyperSet/vues/homePage.html index af5b7b0..d9163ed 100644 --- a/HyperSet/vues/homePage.html +++ b/HyperSet/vues/homePage.html @@ -111,7 +111,7 @@

Number of Sets:

-
+
@@ -168,7 +168,7 @@

HyperSets found: 0

Number of HyperSets:

-
+
@@ -181,7 +181,7 @@

HyperSets found: 0

Number of HyperSets:

-
+
diff --git a/HyperSet/vues/js/Settings.js b/HyperSet/vues/js/Settings.js index daa945b..7356fb5 100644 --- a/HyperSet/vues/js/Settings.js +++ b/HyperSet/vues/js/Settings.js @@ -79,27 +79,34 @@ function goHome(){ function showGameHS(){ document.getElementById('gameHS').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + + Game.dealHS(); } function showGameHS0(){ document.getElementById('gameHS0').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + Game.dealHS0(); } function showGameHS1(){ document.getElementById('gameHS1').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + Game.dealHS1(); } function showGameHS2(){ document.getElementById('gameHS2').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + Game.dealHS2(); } function showGameHS3(){ document.getElementById('gameHS3').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + Game.dealHS3(); } function showGameHS4(){ document.getElementById('gameHS4').style.display='block'; document.getElementById('selectModeHyperSet').style.display='none'; + Game.dealHS4(); } @@ -108,31 +115,42 @@ function showGameHS4(){ function showGame0(){ document.getElementById('game0').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + Game.deal0(); } function showGame(){ + document.getElementById('game').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + Game.deal(); + } function showGame1(){ document.getElementById('game1').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + + Game.deal1(); } function showGame2(){ document.getElementById('game2').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + Game.deal2(); + } function showGame3(){ document.getElementById('game3').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + Game.deal3(); + } function showGame4(){ document.getElementById('game4').style.display='block'; document.getElementById('selectModeSet').style.display='none'; + Game.deal4(); } @@ -214,50 +232,69 @@ function goSelect1(){ function goSelectMode(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game').style.display='none'; + document.getElementById('carte').innerHTML = ""; } function goSelectMode1(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game1').style.display='none'; + document.getElementById('carte1').innerHTML = ""; + } function goSelectMode2(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game2').style.display='none'; + document.getElementById('carte2').innerHTML = ""; + } function goSelectMode3(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game3').style.display='none'; + document.getElementById('carte3').innerHTML = ""; + } function goSelectMode4(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game4').style.display='none'; + document.getElementById('carte4').innerHTML = ""; + } function goSelectMode0(){ document.getElementById('selectModeSet').style.display='block'; document.getElementById('game0').style.display='none'; + document.getElementById('carte0').innerHTML = ""; + } function goSelectModeHyperSet(){ document.getElementById('selectModeHyperSet').style.display='block'; document.getElementById('gameHS').style.display='none'; + document.getElementById('carteHS').innerHTML = ""; + } function goSelectModeHyperSet0(){ document.getElementById('gameHS0').style.display='none'; document.getElementById('selectModeHyperSet').style.display='block'; + document.getElementById('carteHS0').innerHTML = ""; + } function goSelectModeHyperSet1(){ document.getElementById('gameHS1').style.display='none'; document.getElementById('selectModeHyperSet').style.display='block'; + document.getElementById('carteHS1').innerHTML = ""; } function goSelectModeHyperSet2(){ document.getElementById('gameHS2').style.display='none'; document.getElementById('selectModeHyperSet').style.display='block'; + document.getElementById('carteHS2').innerHTML = ""; } function goSelectModeHyperSet3(){ document.getElementById('gameHS3').style.display='none'; document.getElementById('selectModeHyperSet').style.display='block'; + document.getElementById('carteHS3').innerHTML = ""; } function goSelectModeHyperSet4(){ document.getElementById('gameHS4').style.display='none'; document.getElementById('selectModeHyperSet').style.display='block'; + document.getElementById('carteHS4').innerHTML = ""; } \ No newline at end of file diff --git a/HyperSet/vues/js/set.js b/HyperSet/vues/js/set.js index 5660109..9e5ac23 100644 --- a/HyperSet/vues/js/set.js +++ b/HyperSet/vues/js/set.js @@ -108,163 +108,258 @@ var Game = { + deal: function() { + var self = this; + var dealRequest; + self.selected = []; + self.score = 0; + self.set = 0; + self.$board= $('[data-display="game-board"]'); + self.$score = $('[data-display="score"]'); + self.$nbSets = $('[data-display="nbSets"]'); + + + // ajax request to get initial set of cards + dealRequest = $.ajax({ + url: 'set.php?action=deal', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards = data; + self.existingSet(); + self.displayCards.call(self); + self.setCardListeners(); + } + }); + }, + deal1: function() { + var self = this; + var dealRequest1; + self.cards1 = []; + self.selected1= []; + self.score1= 0 ; + self.set1= 0; + self.$score1= $('[data-display="score1"]'); + self.$nbSets1= $('[data-display="nbSets1"]'); + self.$board1= $('[data-display="game-board1"]'); + + dealRequest1 = $.ajax({ + url: 'set.php?action=deal1', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards1 = data; + self.existingSet1(); + self.displayCards1.call(self); + self.setCardListeners1(); + } + }); + }, - deal: function() { - var self = this; - var dealRequest; - var dealRequest1; - var dealRequest2; - var dealRequest3; - var dealRequest4; - var dealRequest0; - - var dealRequestHS; - var dealRequestHS0; - var dealRequestHS1; - var dealRequestHS2; - var dealRequestHS3; - var dealRequestHS4; - - - - // ajax request to get initial set of cards - dealRequest = $.ajax({ - url: 'set.php?action=deal', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards = data; - self.existingSet(); - self.displayCards.call(self); - self.setCardListeners(); - //self.setPageListeners(); - } - }); - - - dealRequest1 = $.ajax({ - url: 'set.php?action=deal1', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards1 = data; - self.existingSet1(); - self.displayCards1.call(self); - self.setCardListeners1(); - //self.setPageListeners1(); - } - }); + deal2: function() { + var dealRequest2; + var self = this; + self.cards2 = []; + self.selected2= []; + self.score2= 0 ; + self.set2= 0; + self.$score2= $('[data-display="score2"]'); + self.$nbSets2= $('[data-display="nbSets2"]'); + self.$board2= $('[data-display="game-board2"]'); + + dealRequest2 = $.ajax({ + url: 'set.php?action=deal2', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards2 = data; + self.displayCards2.call(self); + self.existingSet2(); + self.setCardListeners2(); + } + }); - dealRequest2 = $.ajax({ - url: 'set.php?action=deal2', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards2 = data; - self.displayCards2.call(self); - self.existingSet2(); - self.setCardListeners2(); - //self.setPageListeners2(); - } - }); + }, - dealRequest3 = $.ajax({ - url: 'set.php?action=deal3', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards3 = data; - self.displayCards3.call(self); - self.existingSet3(); - self.setCardListeners3(); - //self.setPageListeners3(); - } - }); + deal3: function() { + var dealRequest3; + var self = this; + self.cards3 = []; + self.selected3= []; + self.score3= 0 ; + self.set3= 0; + self.$score3= $('[data-display="score3"]'); + self.$nbSets3= $('[data-display="nbSets3"]'); + self.$board3= $('[data-display="game-board3"]'); + dealRequest3 = $.ajax({ + url: 'set.php?action=deal3', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards3 = data; + self.displayCards3.call(self); + self.existingSet3(); + self.setCardListeners3(); + } + }); + }, - dealRequest4 = $.ajax({ - url: 'set.php?action=deal4', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards4 = data; - self.displayCards4.call(self); - //self.existingSet4(); - self.setCardListeners4(); - //self.setPageListeners4(); - } - }); + deal4: function() { + var dealRequest4; + var self = this; + self.cards4 = []; + self.selected4= []; + self.score4= 0 ; + self.set4= 0; + self.$score4= $('[data-display="score4"]'); + self.$nbSets4= $('[data-display="nbSets4"]'); + self.$board4= $('[data-display="game-board4"]'); + dealRequest4 = $.ajax({ + url: 'set.php?action=deal4', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards4 = data; + self.displayCards4.call(self); + self.existingSet4(); + self.setCardListeners4(); + } + }); - dealRequest0 = $.ajax({ - url: 'set.php?action=deal0', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cards0 = data; - self.displayCards0.call(self); - self.existingSet0(); - self.setCardListeners0(); - //self.setPageListeners0(); - } - }); + }, + deal0: function() { + var dealRequest0; + var self = this; + self.cards0 = []; + self.selected0= []; + self.score0= 0 ; + self.set0= 0; + self.$score0= $('[data-display="score0"]'); + self.$nbSets0= $('[data-display="nbSets0"]'); + self.$board0= $('[data-display="game-board0"]'); + dealRequest0 = $.ajax({ + url: 'set.php?action=deal0', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cards0 = data; + self.displayCards0.call(self); + self.existingSet0(); + self.setCardListeners0(); + } + }); - dealRequestHS= $.ajax({ - url: 'set.php?action=dealHS', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cardsHS = data; - self.existingHyperSet(); - self.displayCardsHS.call(self); - self.setCardListenersHS(); - //self.setPageListenersHS(); - } - }); + }, + dealHS: function() { + var dealRequestHS; + var self = this; + self.cardsHS = []; + self.selectedHS= []; + self.scoreHS= 0 ; + self.setHS= 0; + self.$scoreHS= $('[data-display="scoreHS"]'); + self.$nbSetsHS= $('[data-display="nbSetsHS"]'); + self.$boardHS= $('[data-display="game-boardHS"]'); + + dealRequestHS= $.ajax({ + url: 'set.php?action=dealHS', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cardsHS = data; + self.existingHyperSet(); + self.displayCardsHS.call(self); + self.setCardListenersHS(); + } + }); - dealRequestHS0= $.ajax({ - url: 'set.php?action=dealHS0', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cardsHS0 = data; - self.existingHyperSet0(); - self.displayCardsHS0.call(self); - self.setCardListenersHS0(); - //self.setPageListenersHS0(); - } - }); + }, + dealHS0: function() { + var self = this; + var dealRequestHS0; + self.cardsHS0 = []; + self.selectedHS0= []; + self.scoreHS0= 0 ; + self.setHS0= 0; + self.$scoreHS0= $('[data-display="scoreHS0"]'); + self.$nbSetsHS0= $('[data-display="nbSetsHS0"]'); + self.$boardHS0= $('[data-display="game-boardHS0"]'); + dealRequestHS0= $.ajax({ + url: 'set.php?action=dealHS0', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cardsHS0 = data; + self.existingHyperSet0(); + self.displayCardsHS0.call(self); + self.setCardListenersHS0(); + } + }); + }, + dealHS1: function() { + var self = this; + var dealRequestHS1; + self.cardsHS1 = []; + self.selectedHS1= []; + self.scoreHS1= 0 ; + self.setHS1= 0; + self.$scoreHS1= $('[data-display="scoreHS1"]'); + self.$nbSetsHS1= $('[data-display="nbSetsHS1"]'); + self.$boardHS1= $('[data-display="game-boardHS1"]'); + dealRequestHS1= $.ajax({ + url: 'set.php?action=dealHS1', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cardsHS1 = data; + self.existingHyperSet1(); + self.displayCardsHS1.call(self); + self.setCardListenersHS1(); + } + }); + }, - dealRequestHS1= $.ajax({ - url: 'set.php?action=dealHS1', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cardsHS1 = data; - self.existingHyperSet1(); - self.displayCardsHS1.call(self); - self.setCardListenersHS1(); - //self.setPageListenersHS1(); - } - }); - dealRequestHS2= $.ajax({ - url: 'set.php?action=dealHS2', - type: 'GET', - dataType: 'json', - success: function (data) { - self.cardsHS2 = data; + dealHS2: function() { + var dealRequestHS2; + var self = this; + self.cardsHS2 = []; + self.selectedHS2= []; + self.scoreHS2= 0 ; + self.setHS2= 0; + self.$scoreHS2= $('[data-display="scoreHS2"]'); + self.$nbSetsHS2= $('[data-display="nbSetsHS2"]'); + self.$boardHS2= $('[data-display="game-boardHS2"]'); + + dealRequestHS2= $.ajax({ + url: 'set.php?action=dealHS2', + type: 'GET', + dataType: 'json', + success: function (data) { + self.cardsHS2 = data; self.existingHyperSet2(); self.displayCardsHS2.call(self); - self.setCardListenersHS2(); - //self.setPageListenersHS2(); - } - }); + self.setCardListenersHS2(); + } + }); + }, + dealHS3: function() { + var dealRequestHS3; + var self = this; + self.cardsHS3 = []; + self.selectedHS3= []; + self.scoreHS3= 0 ; + self.setHS3= 0; + self.$scoreHS3= $('[data-display="scoreHS3"]'); + self.$nbSetsHS3= $('[data-display="nbSetsHS3"]'); + self.$boardHS3= $('[data-display="game-boardHS3"]'); dealRequestHS3= $.ajax({ url: 'set.php?action=dealHS3', @@ -272,26 +367,39 @@ var Game = { dataType: 'json', success: function (data) { self.cardsHS3 = data; - //self.existingHyperSet3(); + self.existingHyperSet3(); self.displayCardsHS3.call(self); self.setCardListenersHS3(); - //self.setPageListenersHS2(); } }); + }, + dealHS4: function() { + var dealRequestHS4; + var self = this; + self.cardsHS4 = []; + self.selectedHS4= []; + self.scoreHS4= 0 ; + self.setHS4= 0; + self.$scoreHS4= $('[data-display="scoreHS4"]'); + self.$nbSetsHS4= $('[data-display="nbSetsHS4"]'); + self.$boardHS4= $('[data-display="game-boardHS4"]'); + dealRequestHS4= $.ajax({ url: 'set.php?action=dealHS4', type: 'GET', dataType: 'json', success: function (data) { self.cardsHS4 = data; - //self.existingHyperSet3(); + //self.existingHyperSet4(); self.displayCardsHS4.call(self); self.setCardListenersHS4(); - //self.setPageListenersHS2(); } }); - }, + + }, + + @@ -445,7 +553,7 @@ var Game = { self.$board3.append(cardNode); // display 4 cards per row - if ((index+1) % 10 === 0) { + if ((index+1) % 8 === 0) { self.$board3.append($('
')); } @@ -725,11 +833,10 @@ var Game = { displayCardsHS4: function() { var self = this; - if (self.cards4.length == 0) { + if (self.cardsHS4.length == 0) { return false; } - $.each(self.cardsHS4, function(index, card){ var cardNode = $('
', { class: "card" @@ -746,7 +853,7 @@ var Game = { }); var shapeNode = $("
"); - shapeNode.append( card.color + '
' + card.shape + '
' + card.fill + '
' + card.border + '
' + card.number); + shapeNode.append( card.color + '
' + card.shape + '
' + card.fill + '
' + card.border + '
' + card.number); /*for (var i = 0; i < card.number; i++) { cardNode.append(shapeNode.clone()); @@ -759,9 +866,7 @@ var Game = { if ((index+1) %6 === 0) { self.$boardHS4.append($('
')); } - }); - }, @@ -1201,8 +1306,8 @@ var Game = { if (shapes1[3] !== undefined && colors1[3] !== undefined && fills1[3] !== undefined && borders1[3] !== undefined && numbers1[3] !== undefined) { if (shapes1[3] === shapesall[a] && colors1[3] === colorsall[a] && fills1[3] === fillsall[a] && borders1[3] === bordersall[a] && numbers1[3] === numbersall[a]) { if (this.isSet4(shapes1) && this.isSet4(colors1) && this.isSet4(fills1) && this.isSet4(borders1) && this.isSet4(numbers1)) { - console.log('Set 4x5 : '); - console.log(shapes1, colors1, fills1, borders1, numbers1); + //console.log('Set 4x5 : '); + //console.log(shapes1, colors1, fills1, borders1, numbers1); self.set3 = self.set3 + 1; } @@ -1218,6 +1323,116 @@ var Game = { }, + + existingSet4: function() { + var colors1 = []; + var shapes1 =[]; + var fills1= []; + var borders1= []; + var numbers1= []; + var self = this; + var cartes = self.cards4; + var cartes1 = cartes; + var cartes2 = cartes; + var cartes3 = cartes; + + + var carte1, carte3, carte4; + var carte2; + var card4 = []; + var tCards = []; + + + var i, j, a, k, l; + + var colorsall= $.map(this.cards4, function(el) { return el.color;}); + var shapesall = $.map(this.cards4, function(el) { return el.shape; }); + var fillsall= $.map(this.cards4,function(el) { return el.fill; }); + var bordersall= $.map(this.cards4,function(el) { return el.border; }); + var numbersall = $.map(this.cards4, function(el) { return el.number;}); + + + for(i=0; i < cartes.length-3; i++) { + for (j = i + 1; j < cartes1.length - 2; j++) { + for (k = j + 1; k < cartes2.length-1; k++) { + for (l = k + 1; l < cartes2.length; l++) { + + + carte1 = cartes[i]; + carte2 = cartes1[j]; + carte3 = cartes2[k]; + carte4 = cartes3[l]; + + + tCards[0] = carte1; + tCards[1] = carte2; + tCards[2] = carte3; + tCards[3] = carte4; + + + + card4 = this.generateVirtualCard55(tCards); + + colors1.splice(0, 1, carte1.color); + colors1.splice(1, 1, carte2.color); + colors1.splice(2, 1, carte3.color); + colors1.splice(3, 1, card4[0].color); + colors1.splice(4, 1, carte4.color); + + + shapes1.splice(0, 1, carte1.shape); + shapes1.splice(1, 1, carte2.shape); + shapes1.splice(2, 1, carte3.shape); + shapes1.splice(3, 1, card4[0].shape); + shapes1.splice(4, 1, carte4.shape); + + + + fills1.splice(0, 1, carte1.fill); + fills1.splice(1, 1, carte2.fill); + fills1.splice(2, 1, carte3.fill); + fills1.splice(3, 1, card4[0].fill); + fills1.splice(4, 1, carte4.fill); + + + borders1.splice(0, 1, carte1.border); + borders1.splice(1, 1, carte2.border); + borders1.splice(2, 1, carte3.border); + borders1.splice(3, 1, card4[0].border); + borders1.splice(4, 1, carte4.border); + + + + numbers1.splice(0, 1, carte1.number); + numbers1.splice(1, 1, carte2.number); + numbers1.splice(2, 1, carte3.number); + numbers1.splice(3, 1, card4[0].number); + numbers1.splice(4, 1, carte4.number); + + + + //if(this.cardInListOfCards44(shapes1[3],colors1[3],fills1[3],numbers1[3] )){} + + for (a = l + 1; a < self.cards4.length; a++) { + if (shapes1[3] !== undefined && colors1[3] !== undefined && fills1[3] !== undefined && borders1[3] !== undefined && numbers1[3] !== undefined) { + if (shapes1[3] === shapesall[a] && colors1[3] === colorsall[a] && fills1[3] === fillsall[a] && borders1[3] === bordersall[a] && numbers1[3] === numbersall[a]) { + if (this.isSet5(shapes1) && this.isSet5(colors1) && this.isSet5(fills1) && this.isSet5(borders1) && this.isSet5(numbers1)) { + //console.log('Set 5x5 : '); + //console.log(shapes1, colors1, fills1, borders1, numbers1); + self.set4 = self.set4 + 1; + } + + } + } + } + } + } + } + } + this.$nbSets4.html(self.set4); + }, + + /* cardInListOfCards44 : function (shapes, colors, fills, numbers){ var colorsall= $.map(this.cards2, function(el) { return el.color;}); @@ -1570,8 +1785,6 @@ var Game = { numbers2.splice(2, 1, cardVirtualAC[0].number); - - colors3.splice(0, 1, carte1.color); colors3.splice(1, 1, card4BC[0].color); colors3.splice(2, 1, cardVirtualBC[0].color); @@ -2017,6 +2230,474 @@ var Game = { this.$nbSetsHS1.html(self.setHS1); }, +/* + existingHyperSet2: function() { + var colors1 = []; + var shapes1 =[]; + var fills1= []; + var numbers1= []; + var colors2 = []; + var shapes2 =[]; + var fills2= []; + var numbers2= []; + var colors3 = []; + var shapes3 =[]; + var fills3= []; + var numbers3= []; + + var colors4 = []; + var shapes4 =[]; + var fills4= []; + var numbers4= []; + var colors5 = []; + var shapes5 =[]; + var fills5= []; + var numbers5= []; + var colors6 = []; + var shapes6 =[]; + var fills6= []; + var numbers6= []; + var colors7 = []; + var shapes7 =[]; + var fills7= []; + var numbers7= []; + var colors8 = []; + var shapes8 =[]; + var fills8= []; + var numbers8= []; + + + + var self = this; + var cartes = self.cardsHS2; + var cartes1 = cartes; + var cartes2 = cartes; + var cartes3 = cartes; + var cartes4 = cartes; + + + var carte1, carte3, carte4, carte5; + var carte2; + var card6ABC = []; + var card6ABD = []; + var card6ABE = []; + var card6ACD = []; + var card6ACE = []; + var card6BCD = []; + var card6BCE = []; + var card6CDE = []; + + var cardVirtualABC = []; + var cardVirtualABD = []; + var cardVirtualABE = []; + var cardVirtualACD = []; + var cardVirtualACE = []; + var cardVirtualBCD = []; + var cardVirtualBCE = []; + var cardVirtualCDE = []; + + var tCardsABC = []; + var tCardsABD = []; + var tCardsABE = []; + var tCardsACD = []; + var tCardsACE = []; + var tCardsBCD = []; + var tCardsBCE = []; + var tCardsCDE = []; + + + + var i, j, a,l, m, k; + + var colorsall= $.map(this.cardsHS2, function(el) { return el.color;}); + var shapesall = $.map(this.cardsHS2, function(el) { return el.shape; }); + var fillsall= $.map(this.cardsHS2,function(el) { return el.fill; }); + var numbersall = $.map(this.cardsHS2, function(el) { return el.number;}); + + + for(i=0; i < cartes.length-4; i++) { + for (j = i + 1; j < cartes1.length - 3; j++) { + for (k = j + 1; k < cartes2.length-2; k++) { + for (l = k + 1; l < cartes3.length-1; l++) { + for (m = l + 1; m < cartes4.length; m++) { + + + carte1 = cartes[i]; + carte2 = cartes1[j]; + carte3 = cartes2[k]; + carte4 = cartes3[l]; + carte5 = cartes4[m]; + + + tCardsABC[0] = carte1; + tCardsABC[1] = carte2; + tCardsABC[2] = carte3; + + + tCardsABD[0] = carte1; + tCardsABD[1] = carte2; + tCardsABD[2] = carte4; + + tCardsABE[0] = carte1; + tCardsABE[1] = carte2; + tCardsABE[2] = carte5; + + tCardsACD[0] = carte1; + tCardsACD[1] = carte3; + tCardsACD[2] = carte4; + + tCardsACE[0] = carte1; + tCardsACE[1] = carte3; + tCardsACE[2] = carte5; + + tCardsBCD[0] = carte2; + tCardsBCD[1] = carte3; + tCardsBCD[2] = carte4; + + tCardsBCE[0] = carte2; + tCardsBCE[1] = carte3; + tCardsBCE[2] = carte5; + + tCardsCDE[0] = carte3; + tCardsCDE[1] = carte4; + tCardsCDE[2] = carte5; + + cardVirtualABC = this.generateVirtualCard44(tCardsABC); + cardVirtualABD = this.generateVirtualCard44(tCardsABD); + cardVirtualABE = this.generateVirtualCard44(tCardsABE); + cardVirtualACD = this.generateVirtualCard44(tCardsACD); + cardVirtualACE = this.generateVirtualCard44(tCardsACE); + cardVirtualBCD = this.generateVirtualCard44(tCardsBCD); + cardVirtualBCE = this.generateVirtualCard44(tCardsBCE); + cardVirtualCDE = this.generateVirtualCard44(tCardsCDE); + + + tCardsABC[0] = carte4; + tCardsABC[1] = carte5; + tCardsABC[2] = cardVirtualABC[0]; + + tCardsABD[0] = carte3; + tCardsABD[1] = carte5; + tCardsABD[2] = cardVirtualABD[0]; + + tCardsABE[0] = carte3; + tCardsABE[1] = carte4; + tCardsABE[2] = cardVirtualABE[0]; + + tCardsACD[0] = carte2; + tCardsACD[1] = carte5; + tCardsACD[2] = cardVirtualACD[0]; + + tCardsACE[0] = carte2; + tCardsACE[1] = carte4; + tCardsACE[2] = cardVirtualACE[0]; + + tCardsBCD[0] = carte1; + tCardsBCD[1] = carte5; + tCardsBCD[2] = cardVirtualBCD[0]; + + tCardsBCE[0] = carte1; + tCardsBCE[1] = carte4; + tCardsBCE[2] = cardVirtualBCE[0]; + + tCardsCDE[0] = carte1; + tCardsCDE[1] = carte2; + tCardsCDE[2] = cardVirtualCDE[0]; + + card6ABC = this.generateVirtualCard44(tCardsABC); + card6ABD = this.generateVirtualCard44(tCardsABD); + card6ABE = this.generateVirtualCard44(tCardsABE); + card6ACD = this.generateVirtualCard44(tCardsACD); + card6ACE = this.generateVirtualCard44(tCardsACE); + card6BCD = this.generateVirtualCard44(tCardsBCD); + card6BCE = this.generateVirtualCard44(tCardsBCE); + card6CDE = this.generateVirtualCard44(tCardsCDE); + + colors1.splice(0, 1, carte4.color); + colors1.splice(1, 1, carte5.color); + colors1.splice(2, 1, card6ABC[0].color); + colors1.splice(3, 1, cardVirtualABC[0].color); + + shapes1.splice(0, 1, carte4.shape); + shapes1.splice(1, 1, carte5.shape); + shapes1.splice(2, 1, card6ABC[0].shape); + shapes1.splice(3, 1, cardVirtualABC[0].shape); + + fills1.splice(0, 1, carte4.fill); + fills1.splice(1, 1, carte5.fill); + fills1.splice(2, 1, card6ABC[0].fill); + fills1.splice(3, 1, cardVirtualABC[0].fill); + + numbers1.splice(0, 1, carte4.number); + numbers1.splice(1, 1, carte5.number); + numbers1.splice(2, 1, card6ABC[0].number); + numbers1.splice(3, 1, cardVirtualABC[0].number); + + + colors2.splice(0, 1, carte3.color); + colors1.splice(1, 1, carte5.color); + colors2.splice(2, 1, card6ABD[0].color); + colors2.splice(3, 1, cardVirtualABD[0].color); + + shapes2.splice(0, 1, carte3.shape); + shapes1.splice(1, 1, carte5.shape); + shapes2.splice(2, 1, card6ABD[0].shape); + shapes2.splice(3, 1, cardVirtualABD[0].shape); + + fills2.splice(0, 1, carte3.fill); + fills1.splice(1, 1, carte5.fill); + fills2.splice(2, 1, card6ABD[0].fill); + fills2.splice(3, 1, cardVirtualABD[0].fill); + + numbers2.splice(0, 1, carte3.number); + numbers1.splice(1, 1, carte5.number); + numbers2.splice(2, 1, card6ABD[0].number); + numbers2.splice(3, 1, cardVirtualABD[0].number); + + + colors3.splice(0, 1, carte3.color); + colors3.splice(1, 1, carte4.color); + colors3.splice(2, 1, card6ABE[0].color); + colors3.splice(3, 1, cardVirtualABE[0].color); + + shapes3.splice(0, 1, carte3.shape); + shapes3.splice(1, 1, carte4.shape); + shapes3.splice(2, 1, card6ABE[0].shape); + shapes3.splice(3, 1, cardVirtualABE[0].shape); + + fills3.splice(0, 1, carte3.fill); + fills3.splice(1, 1, carte4.fill); + fills3.splice(2, 1, card6ABE[0].fill); + fills3.splice(3, 1, cardVirtualABE[0].fill); + + numbers3.splice(0, 1, carte3.number); + numbers3.splice(1, 1, carte4.number); + numbers3.splice(2, 1, card6ABE[0].number); + numbers3.splice(3, 1, cardVirtualABE[0].number); + + + + + colors4.splice(0, 1, carte2.color); + colors4.splice(1, 1, carte5.color); + colors4.splice(2, 1, card6ACD[0].color); + colors4.splice(3, 1, cardVirtualACD[0].color); + + shapes4.splice(0, 1, carte2.shape); + shapes4.splice(1, 1, carte5.shape); + shapes4.splice(2, 1, card6ACD[0].shape); + shapes4.splice(3, 1, cardVirtualACD[0].shape); + + fills4.splice(0, 1, carte2.fill); + fills4.splice(1, 1, carte5.fill); + fills4.splice(2, 1, card6ACD[0].fill); + fills4.splice(3, 1, cardVirtualACD[0].fill); + + numbers4.splice(0, 1, carte2.number); + numbers4.splice(1, 1, carte5.number); + numbers4.splice(2, 1, card6ACD[0].number); + numbers4.splice(3, 1, cardVirtualACD[0].number); + + + colors5.splice(0, 1, carte2.color); + colors5.splice(1, 1, carte4.color); + colors5.splice(2, 1, card6ACE[0].color); + colors5.splice(3, 1, cardVirtualACE[0].color); + + shapes5.splice(0, 1, carte2.shape); + shapes5.splice(1, 1, carte4.shape); + shapes5.splice(2, 1, card6ACE[0].shape); + shapes5.splice(3, 1, cardVirtualACE[0].shape); + + fills5.splice(0, 1, carte2.fill); + fills5.splice(1, 1, carte4.fill); + fills5.splice(2, 1, card6ACE[0].fill); + fills5.splice(3, 1, cardVirtualACE[0].fill); + + numbers5.splice(0, 1, carte2.number); + numbers5.splice(1, 1, carte4.number); + numbers5.splice(2, 1, card6ACE[0].number); + numbers5.splice(3, 1, cardVirtualACE[0].number); + + + colors6.splice(0, 1, carte1.color); + colors6.splice(1, 1, carte5.color); + colors6.splice(2, 1, card6BCD[0].color); + colors6.splice(3, 1, cardVirtualBCD[0].color); + + shapes6.splice(0, 1, carte1.shape); + shapes6.splice(1, 1, carte5.shape); + shapes6.splice(2, 1, card6BCD[0].shape); + shapes6.splice(3, 1, cardVirtualBCD[0].shape); + + fills6.splice(0, 1, carte1.fill); + fills6.splice(1, 1, carte5.fill); + fills6.splice(2, 1, card6BCD[0].fill); + fills6.splice(3, 1, cardVirtualBCD[0].fill); + + numbers6.splice(0, 1, carte1.number); + numbers6.splice(1, 1, carte5.number); + numbers6.splice(2, 1, card6BCD[0].number); + numbers6.splice(3, 1, cardVirtualBCD[0].number); + + + + colors7.splice(0, 1, carte1.color); + colors7.splice(1, 1, carte4.color); + colors7.splice(2, 1, card6BCE[0].color); + colors7.splice(3, 1, cardVirtualBCE[0].color); + + shapes7.splice(0, 1, carte1.shape); + shapes7.splice(1, 1, carte4.shape); + shapes7.splice(2, 1, card6BCE[0].shape); + shapes7.splice(3, 1, cardVirtualBCE[0].shape); + + fills7.splice(0, 1, carte1.fill); + fills7.splice(1, 1, carte4.fill); + fills7.splice(2, 1, card6BCE[0].fill); + fills7.splice(3, 1, cardVirtualBCE[0].fill); + + numbers7.splice(0, 1, carte1.number); + numbers7.splice(1, 1, carte4.number); + numbers7.splice(2, 1, card6BCE[0].number); + numbers7.splice(3, 1, cardVirtualBCE[0].number); + + + + colors8.splice(0, 1, carte1.color); + colors8.splice(1, 1, carte2.color); + colors8.splice(2, 1, card6CDE[0].color); + colors8.splice(3, 1, cardVirtualCDE[0].color); + + shapes8.splice(0, 1, carte1.shape); + shapes8.splice(1, 1, carte2.shape); + shapes8.splice(2, 1, card6CDE[0].shape); + shapes8.splice(3, 1, cardVirtualCDE[0].shape); + + fills8.splice(0, 1, carte1.fill); + fills8.splice(1, 1, carte2.fill); + fills8.splice(2, 1, card6CDE[0].fill); + fills8.splice(3, 1, cardVirtualCDE[0].fill); + + numbers8.splice(0, 1, carte1.number); + numbers8.splice(1, 1, carte2.number); + numbers8.splice(2, 1, card6CDE[0].number); + numbers8.splice(3, 1, cardVirtualCDE[0].number); + + //console.log('Card4 : ' + shapes1[0] + colors1[0] +fills1[0]+ numbers1[0] ); + + //if(this.cardInListOfCards44(shapes1[3],colors1[3],fills1[3],numbers1[3] )){} + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes1[2] !== undefined && colors1[2] !== undefined && fills1[2] !== undefined && numbers1[2] !== undefined) { + if (shapes1[3] !== undefined && colors1[3] !== undefined && fills1[3] !== undefined && numbers1[3] !== undefined) { + if (shapes1[2] === shapesall[a] && colors1[2] === colorsall[a] && fills1[2] === fillsall[a] && numbers1[2] === numbersall[a]) { + //console.log('ab'); + //console.log(shapes1, colors1, fills1, borders1, numbers1); + //console.log(carte1); + //console.log(carte2); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes2[2] !== undefined && colors2[2] !== undefined && fills2[2] !== undefined && numbers2[2] !== undefined) { + if (shapes2[3] !== undefined && colors2[3] !== undefined && fills2[3] !== undefined && numbers2[3] !== undefined) { + if (shapes2[2] === shapesall[a] && colors2[2] === colorsall[a] && fills2[2] === fillsall[a] && numbers2[2] === numbersall[a]) { + //console.log('ac'); + //console.log(shapes2, colors2, fills2, borders2, numbers2); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes3[2] !== undefined && colors3[2] !== undefined && fills3[2] !== undefined && numbers3[2] !== undefined) { + if (shapes3[3] !== undefined && colors3[3] !== undefined && fills3[3] !== undefined && numbers3[3] !== undefined) { + if (shapes3[2] === shapesall[a] && colors3[2] === colorsall[a] && fills3[2] === fillsall[a] && numbers3[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes4[2] !== undefined && colors4[2] !== undefined && fills4[2] !== undefined && numbers4[2] !== undefined) { + if (shapes4[3] !== undefined && colors4[3] !== undefined && fills4[3] !== undefined && numbers4[3] !== undefined) { + if (shapes4[2] === shapesall[a] && colors4[2] === colorsall[a] && fills4[2] === fillsall[a] && numbers4[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes5[2] !== undefined && colors5[2] !== undefined && fills5[2] !== undefined && numbers5[2] !== undefined) { + if (shapes5[3] !== undefined && colors5[3] !== undefined && fills5[3] !== undefined && numbers5[3] !== undefined) { + if (shapes5[2] === shapesall[a] && colors5[2] === colorsall[a] && fills5[2] === fillsall[a] && numbers5[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes6[2] !== undefined && colors6[2] !== undefined && fills6[2] !== undefined && numbers6[2] !== undefined) { + if (shapes6[3] !== undefined && colors6[3] !== undefined && fills6[3] !== undefined && numbers6[3] !== undefined) { + if (shapes6[2] === shapesall[a] && colors6[2] === colorsall[a] && fills6[2] === fillsall[a] && numbers6[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes7[2] !== undefined && colors7[2] !== undefined && fills7[2] !== undefined && numbers7[2] !== undefined) { + if (shapes7[3] !== undefined && colors7[3] !== undefined && fills7[3] !== undefined && numbers7[3] !== undefined) { + if (shapes7[2] === shapesall[a] && colors7[2] === colorsall[a] && fills7[2] === fillsall[a] && numbers7[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + + for (a = k + 1; a < self.cardsHS2.length; a++) { + if (shapes8[2] !== undefined && colors8[2] !== undefined && fills8[2] !== undefined && numbers8[2] !== undefined) { + if (shapes8[3] !== undefined && colors8[3] !== undefined && fills8[3] !== undefined && numbers8[3] !== undefined) { + if (shapes8[2] === shapesall[a] && colors8[2] === colorsall[a] && fills8[2] === fillsall[a] && numbers8[2] === numbersall[a]) { + //console.log('bc'); + //console.log(shapes3, colors3, fills3, borders3, numbers3); + self.setHS2 = self.setHS2 + 1; + } + } + } + } + + + } + } + } + } + } + + this.$nbSetsHS2.html(self.setHS2); + },*/ existingHyperSet2: function() { var colors1 = []; @@ -6304,7 +6985,6 @@ var Game = { -Game.deal(); /*