|
|
|
@ -1,28 +1,69 @@
|
|
|
|
|
var colorr = 0;
|
|
|
|
|
var mode = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
document.getElementById('playSimpleSet').addEventListener('click', function(){ mode = 0;});
|
|
|
|
|
document.getElementById('playSimpleSetLast').addEventListener('click',function(){mode = 1;});
|
|
|
|
|
document.getElementById('playSetFour').addEventListener('click',function(){ mode = 2;});
|
|
|
|
|
document.getElementById('playSimpleSetFive').addEventListener('click', function(){mode = 3;} );
|
|
|
|
|
document.getElementById('playSetFive').addEventListener('click', function(){mode = 4;} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Game = {
|
|
|
|
|
cards: [],
|
|
|
|
|
selected: [],
|
|
|
|
|
setCards: [],
|
|
|
|
|
nbSets: 0,
|
|
|
|
|
score: 0,
|
|
|
|
|
$board: $('[data-display="game-board"]'),
|
|
|
|
|
$score: $('[data-display="score"]'),
|
|
|
|
|
$nbSets: $('[data-display="nbSets"]'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cards1 : [],
|
|
|
|
|
selected1: [],
|
|
|
|
|
score1: 0 ,
|
|
|
|
|
$score1: $('[data-display="score1"]'),
|
|
|
|
|
$nbSets1: $('[data-display="nbSets1"]'),
|
|
|
|
|
$board1: $('[data-display="game-board1"]'),
|
|
|
|
|
|
|
|
|
|
cards2 : [],
|
|
|
|
|
selected2: [],
|
|
|
|
|
score2: 0 ,
|
|
|
|
|
$score2: $('[data-display="score2"]'),
|
|
|
|
|
$nbSets2: $('[data-display="nbSets2"]'),
|
|
|
|
|
$board2: $('[data-display="game-board2"]'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cards3 : [],
|
|
|
|
|
selected3: [],
|
|
|
|
|
score3: 0 ,
|
|
|
|
|
$score3: $('[data-display="score3"]'),
|
|
|
|
|
$nbSets3: $('[data-display="nbSets3"]'),
|
|
|
|
|
$board3: $('[data-display="game-board3"]'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cards4: [],
|
|
|
|
|
selected4 : [],
|
|
|
|
|
score4: 0,
|
|
|
|
|
$score4: $('[data-display="score4"]'),
|
|
|
|
|
$nbSets4: $('[data-display="nbSets4"]'),
|
|
|
|
|
$board4: $('[data-display="game-board4"]'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
deal: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (colorr === 0 || colorr === null) {
|
|
|
|
|
var dealRequest;
|
|
|
|
|
var dealRequest1;
|
|
|
|
|
var dealRequest2;
|
|
|
|
|
var dealRequest3;
|
|
|
|
|
var dealRequest4;
|
|
|
|
|
|
|
|
|
|
// ajax request to get initial set of cards
|
|
|
|
|
var dealRequest = $.ajax({
|
|
|
|
|
dealRequest = $.ajax({
|
|
|
|
|
url: 'set.php?action=deal',
|
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function(data) {
|
|
|
|
|
success: function (data) {
|
|
|
|
|
self.cards = data;
|
|
|
|
|
self.displayCards.call(self);
|
|
|
|
|
self.existingSet();
|
|
|
|
@ -30,31 +71,65 @@ var Game = {
|
|
|
|
|
self.setPageListeners();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}else if (colorr === 1){
|
|
|
|
|
var dealRequest1 = $.ajax({
|
|
|
|
|
|
|
|
|
|
dealRequest1 = $.ajax({
|
|
|
|
|
url: 'set.php?action=deal1',
|
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function(data) {
|
|
|
|
|
success: function (data) {
|
|
|
|
|
self.cards1 = data;
|
|
|
|
|
self.displayCards1.call(self);
|
|
|
|
|
self.existingSet1();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dealRequest2 = $.ajax({
|
|
|
|
|
url: 'set.php?action=deal2',
|
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function (data) {
|
|
|
|
|
self.cards = data;
|
|
|
|
|
self.displayCards.call(self);
|
|
|
|
|
self.setCardListeners();
|
|
|
|
|
self.setPageListeners();
|
|
|
|
|
self.displayCards2.call(self);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dealRequest3 = $.ajax({
|
|
|
|
|
url: 'set.php?action=deal3',
|
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function (data) {
|
|
|
|
|
self.cards = data;
|
|
|
|
|
self.displayCards3.call(self);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dealRequest4 = $.ajax({
|
|
|
|
|
url: 'set.php?action=deal4',
|
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function (data) {
|
|
|
|
|
self.cards = data;
|
|
|
|
|
self.displayCards4.call(self);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
displayCards: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.cards.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(self.cards, function(index, card){
|
|
|
|
|
var cardNode = $('<div>', {
|
|
|
|
|
class: "card"
|
|
|
|
|
}).appendTo(self.$board);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(this.cards, function(index, card){
|
|
|
|
|
var cardNode = $('<div>');
|
|
|
|
|
cardNode.addClass('card');
|
|
|
|
|
$(cardNode).data({
|
|
|
|
|
cardNode.data({
|
|
|
|
|
'id': card.id,
|
|
|
|
|
'shape': card.shape,
|
|
|
|
|
'fill': card.fill,
|
|
|
|
@ -62,17 +137,8 @@ var Game = {
|
|
|
|
|
'number': card.number
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//var Canvas_width=100;
|
|
|
|
|
//var Canvas_height=200;
|
|
|
|
|
|
|
|
|
|
var shapeNode = $("<canvas></canvas>");
|
|
|
|
|
shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill);
|
|
|
|
|
/*var canvasContext=shapeNode[0].getContext("2d");
|
|
|
|
|
canvasContext.beginPath();
|
|
|
|
|
|
|
|
|
|
canvasContext.rect(0, 0, Canvas_width, Canvas_height);
|
|
|
|
|
canvasContext.fillStyle = "#000000";
|
|
|
|
|
canvasContext.fill();*/
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < card.number; i++) {
|
|
|
|
|
cardNode.append(shapeNode.clone());
|
|
|
|
@ -84,16 +150,162 @@ var Game = {
|
|
|
|
|
self.$board.append($('<div>'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*colors = $.map(cardNode, function(ele) { return $(ele).data("color");});
|
|
|
|
|
shapes = $.map(cardNode, function(ele) { return $(ele).data("shape"); });
|
|
|
|
|
fills= $.map(cardNode, function(ele) { return $(ele).data("fill"); });
|
|
|
|
|
numbers = $.map(cardNode, function(ele) { return $(ele).data("number"); });*/
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
displayCards1: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.cards1.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(self.cards1, function(index, card){
|
|
|
|
|
var cardNode = $('<div>', {
|
|
|
|
|
class: "card"
|
|
|
|
|
}).appendTo(self.$board1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cardNode.data({
|
|
|
|
|
'id': card.id,
|
|
|
|
|
'shape': card.shape,
|
|
|
|
|
'fill': card.fill,
|
|
|
|
|
'color': card.color,
|
|
|
|
|
'border': card.border,
|
|
|
|
|
'number': card.number
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var shapeNode = $("<canvas></canvas>");
|
|
|
|
|
shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill + ' ' + card.border);
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < card.number; i++) {
|
|
|
|
|
cardNode.append(shapeNode.clone());
|
|
|
|
|
}
|
|
|
|
|
self.$board1.append(cardNode);
|
|
|
|
|
|
|
|
|
|
// display 4 cards per row
|
|
|
|
|
if ((index+1) % 3 === 0) {
|
|
|
|
|
self.$board1.append($('<div>'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
displayCards2: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.cards1.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(self.cards2, function(index, card){
|
|
|
|
|
var cardNode = $('<div>', {
|
|
|
|
|
class: "card"
|
|
|
|
|
}).appendTo(self.$board2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cardNode.data({
|
|
|
|
|
'id': card.id,
|
|
|
|
|
'shape': card.shape,
|
|
|
|
|
'fill': card.fill,
|
|
|
|
|
'color': card.color,
|
|
|
|
|
'number': card.number
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var shapeNode = $("<canvas></canvas>");
|
|
|
|
|
shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill );
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < card.number; i++) {
|
|
|
|
|
cardNode.append(shapeNode.clone());
|
|
|
|
|
}
|
|
|
|
|
self.$board2.append(cardNode);
|
|
|
|
|
|
|
|
|
|
// display 4 cards per row
|
|
|
|
|
if ((index+1) % 3 === 0) {
|
|
|
|
|
self.$board2.append($('<div>'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
displayCards3: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.cards1.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(self.cards3, function(index, card){
|
|
|
|
|
var cardNode = $('<div>', {
|
|
|
|
|
class: "card"
|
|
|
|
|
}).appendTo(self.$board3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cardNode.data({
|
|
|
|
|
'id': card.id,
|
|
|
|
|
'shape': card.shape,
|
|
|
|
|
'fill': card.fill,
|
|
|
|
|
'color': card.color,
|
|
|
|
|
'border': card.border,
|
|
|
|
|
'number': card.number
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var shapeNode = $("<canvas></canvas>");
|
|
|
|
|
shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill + ' ' + card.border);
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < card.number; i++) {
|
|
|
|
|
cardNode.append(shapeNode.clone());
|
|
|
|
|
}
|
|
|
|
|
self.$board3.append(cardNode);
|
|
|
|
|
|
|
|
|
|
// display 4 cards per row
|
|
|
|
|
if ((index+1) % 3 === 0) {
|
|
|
|
|
self.$board3.append($('<div>'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
displayCards4: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.cards1.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$.each(self.cards4, function(index, card){
|
|
|
|
|
var cardNode = $('<div>', {
|
|
|
|
|
class: "card"
|
|
|
|
|
}).appendTo(self.$board4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cardNode.data({
|
|
|
|
|
'id': card.id,
|
|
|
|
|
'shape': card.shape,
|
|
|
|
|
'fill': card.fill,
|
|
|
|
|
'color': card.color,
|
|
|
|
|
'border': card.border,
|
|
|
|
|
'number': card.number
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var shapeNode = $("<canvas></canvas>");
|
|
|
|
|
shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill + ' ' + card.border);
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < card.number; i++) {
|
|
|
|
|
cardNode.append(shapeNode.clone());
|
|
|
|
|
}
|
|
|
|
|
self.$board4.append(cardNode);
|
|
|
|
|
|
|
|
|
|
// display 4 cards per row
|
|
|
|
|
if ((index+1) % 3 === 0) {
|
|
|
|
|
self.$board4.append($('<div>'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
existingSet: function() {
|
|
|
|
@ -113,24 +325,17 @@ var Game = {
|
|
|
|
|
var carte2;
|
|
|
|
|
var carte3;
|
|
|
|
|
|
|
|
|
|
//var a[1] = cartes[0];
|
|
|
|
|
//console.log(a);
|
|
|
|
|
|
|
|
|
|
var i, j, k;
|
|
|
|
|
var isSet = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(i=0; i<cartes.length-2; i++) {
|
|
|
|
|
//isSet.splice(0, 1, cartes[i]);
|
|
|
|
|
for (j = i+1; j < cartes1.length-1; j++) {
|
|
|
|
|
for (k = j+1; k < cartes2.length; k++) {
|
|
|
|
|
carte1 = cartes[i];
|
|
|
|
|
carte2 = cartes1[j];
|
|
|
|
|
carte3 = cartes2[k];
|
|
|
|
|
|
|
|
|
|
//console.log(carte1, carte2, carte3);
|
|
|
|
|
//console.log(i, j , k);
|
|
|
|
|
|
|
|
|
|
colors.splice(0,1,carte1.color);
|
|
|
|
|
colors.splice(1,1,carte2.color);
|
|
|
|
|
colors.splice(2,1,carte3.color);
|
|
|
|
@ -153,16 +358,82 @@ var Game = {
|
|
|
|
|
if (valid) {
|
|
|
|
|
cpt = cpt + 1;
|
|
|
|
|
}
|
|
|
|
|
//console.log(valid);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//console.log(carte1, carte2,carte3);
|
|
|
|
|
this.$nbSets.html(cpt);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
existingSet1: function() {
|
|
|
|
|
var colors = [];
|
|
|
|
|
var shapes =[];
|
|
|
|
|
var fills= [];
|
|
|
|
|
var borders = [];
|
|
|
|
|
var numbers= [];
|
|
|
|
|
var valid;
|
|
|
|
|
var self = this;
|
|
|
|
|
var cartes = self.cards1;
|
|
|
|
|
var cartes1 = cartes;
|
|
|
|
|
var cartes2 = cartes;
|
|
|
|
|
var cpt=0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var carte1;
|
|
|
|
|
var carte2;
|
|
|
|
|
var carte3;
|
|
|
|
|
|
|
|
|
|
var i, j, k;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(i=0; i<cartes.length-2; i++) {
|
|
|
|
|
for (j = i+1; j < cartes1.length-1; j++) {
|
|
|
|
|
for (k = j+1; k < cartes2.length; k++) {
|
|
|
|
|
carte1 = cartes[i];
|
|
|
|
|
carte2 = cartes1[j];
|
|
|
|
|
carte3 = cartes2[k];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
colors.splice(0,1,carte1.color);
|
|
|
|
|
colors.splice(1,1,carte2.color);
|
|
|
|
|
colors.splice(2,1,carte3.color);
|
|
|
|
|
|
|
|
|
|
shapes.splice(0,1,carte1.shape);
|
|
|
|
|
shapes.splice(1,1,carte2.shape);
|
|
|
|
|
shapes.splice(2,1,carte3.shape);
|
|
|
|
|
|
|
|
|
|
fills.splice(0,1,carte1.fill);
|
|
|
|
|
fills.splice(1,1,carte2.fill);
|
|
|
|
|
fills.splice(2,1,carte3.fill);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
borders.splice(0,1,carte1.border);
|
|
|
|
|
borders.splice(1,1,carte2.border);
|
|
|
|
|
borders.splice(2,1,carte3.border);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
numbers.splice(0,1,carte1.number);
|
|
|
|
|
numbers.splice(1,1,carte2.number);
|
|
|
|
|
numbers.splice(2,1,carte3.number);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
valid = self.isSet(colors) && self.isSet(shapes) && self.isSet(fills) && self.isSet(numbers) && self.isSet(borders) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (valid) {
|
|
|
|
|
cpt = cpt + 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.$nbSets1.html(cpt);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
setCardListeners: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
@ -237,17 +508,93 @@ var Game = {
|
|
|
|
|
return (self.isSet(colors) && self.isSet(shapes) && self.isSet(fills) && self.isSet(numbers));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
validateSet35: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
var colors = $.map(self.selected, function(el) { return $(el).data("color");});
|
|
|
|
|
var shapes = $.map(self.selected, function(el) { return $(el).data("shape"); });
|
|
|
|
|
var fills= $.map(self.selected, function(el) { return $(el).data("fill"); });
|
|
|
|
|
var borders= $.map(self.selected, function(el) { return $(el).data("border"); });
|
|
|
|
|
var numbers = $.map(self.selected, function(el) { return $(el).data("number"); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (self.isSet(colors) && self.isSet(shapes) && self.isSet(fills) && self.isSet(borders) && self.isSet(numbers));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
validateSet44: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
var colors = $.map(self.selected, function(el) { return $(el).data("color");});
|
|
|
|
|
var shapes = $.map(self.selected, function(el) { return $(el).data("shape"); });
|
|
|
|
|
var fills= $.map(self.selected, function(el) { return $(el).data("fill"); });
|
|
|
|
|
var numbers = $.map(self.selected, function(el) { return $(el).data("number"); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (self.isSet4(colors) && self.isSet4(shapes) && self.isSet4(fills) && self.isSet4(numbers));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
validateSet45: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
var colors = $.map(self.selected, function(el) { return $(el).data("color");});
|
|
|
|
|
var shapes = $.map(self.selected, function(el) { return $(el).data("shape"); });
|
|
|
|
|
var fills= $.map(self.selected, function(el) { return $(el).data("fill"); });
|
|
|
|
|
var borders= $.map(self.selected, function(el) { return $(el).data("border"); });
|
|
|
|
|
var numbers = $.map(self.selected, function(el) { return $(el).data("number"); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (self.isSet4(colors) && self.isSet4(shapes) && self.isSet4(borders) && self.isSet4(fills) && self.isSet4(numbers));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
validateSet55: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
var colors = $.map(self.selected, function(el) { return $(el).data("color");});
|
|
|
|
|
var shapes = $.map(self.selected, function(el) { return $(el).data("shape"); });
|
|
|
|
|
var fills= $.map(self.selected, function(el) { return $(el).data("fill"); });
|
|
|
|
|
var borders= $.map(self.selected, function(el) { return $(el).data("border"); });
|
|
|
|
|
var numbers = $.map(self.selected, function(el) { return $(el).data("number"); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (self.isSet5(colors) && self.isSet5(shapes) && self.isSet5(fills) && self.isSet5(borders) && self.isSet5(numbers));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
isSet: function(arr) {
|
|
|
|
|
var unique = [];
|
|
|
|
|
$.each(arr, function(i, el){
|
|
|
|
|
if($.inArray(el, unique) === -1) unique.push(el);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//console.log(unique);
|
|
|
|
|
return unique.length === 1 || unique.length === 3;
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
isSet4: function(arr) {
|
|
|
|
|
var unique = [];
|
|
|
|
|
$.each(arr, function(i, el){
|
|
|
|
|
if($.inArray(el, unique) === -1) unique.push(el);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//console.log(unique);
|
|
|
|
|
return unique.length === 1 || unique.length === 4;
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
isSet5: function(arr) {
|
|
|
|
|
var unique = [];
|
|
|
|
|
$.each(arr, function(i, el){
|
|
|
|
|
if($.inArray(el, unique) === -1) unique.push(el);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//console.log(unique);
|
|
|
|
|
return unique.length === 1 || unique.length === 5;
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
silentSubmission: function() {
|
|
|
|
|
var valid = this.validateSet();
|
|
|
|
|
if (valid) {
|
|
|
|
@ -328,7 +675,38 @@ var Game = {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(Game.deal());
|
|
|
|
|
Game.deal();
|
|
|
|
|
/*
|
|
|
|
|
var canvases = $('.red');
|
|
|
|
|
console.log(canvases);
|
|
|
|
|
|
|
|
|
|
canvases.each(function(i, c) {
|
|
|
|
|
var context = c.getContext('2d');
|
|
|
|
|
console.log(c);
|
|
|
|
|
|
|
|
|
|
drawDiamond(context, 50, 50, 75, 100);
|
|
|
|
|
context.fillStyle = "red";
|
|
|
|
|
context.fill();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function drawDiamond(context, x, y, width, height){
|
|
|
|
|
context.save();
|
|
|
|
|
context.beginPath();
|
|
|
|
|
context.moveTo(x, y);
|
|
|
|
|
// top left edge
|
|
|
|
|
context.lineTo(x - width / 2, y + height / 2);
|
|
|
|
|
// bottom left edge
|
|
|
|
|
context.lineTo(x, y + height);
|
|
|
|
|
// bottom right edge
|
|
|
|
|
context.lineTo(x + width / 2, y + height / 2);
|
|
|
|
|
|
|
|
|
|
// closing the path automatically creates
|
|
|
|
|
// the top right edge
|
|
|
|
|
context.closePath();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context.restore();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
var canvases = $( ".red" );
|
|
|
|
|