From 516332ef0e9995d655017a7dcd28c69a994c631a Mon Sep 17 00:00:00 2001 From: readhame Date: Mon, 8 Jun 2020 18:08:17 +0200 Subject: [PATCH] pb changement de couleur --- HyperSet/.idea/vcs.xml | 6 ++ HyperSet/.idea/workspace.xml | 18 +++- HyperSet/card.php | 18 ---- HyperSet/cardAttributes.php | 17 --- HyperSet/css/style.css | 79 -------------- HyperSet/deck.php | 62 ----------- HyperSet/functions.php | 7 -- HyperSet/game.php | 18 ---- HyperSet/images/diamond.png | Bin 2914 -> 0 bytes HyperSet/images/oval.png | Bin 1498 -> 0 bytes HyperSet/images/wave.png | Bin 2049 -> 0 bytes HyperSet/index.html | 21 ---- HyperSet/player.php | 14 --- HyperSet/set.js | 202 ----------------------------------- HyperSet/set.php | 18 ---- 15 files changed, 23 insertions(+), 457 deletions(-) create mode 100644 HyperSet/.idea/vcs.xml delete mode 100644 HyperSet/card.php delete mode 100644 HyperSet/cardAttributes.php delete mode 100644 HyperSet/css/style.css delete mode 100644 HyperSet/deck.php delete mode 100644 HyperSet/functions.php delete mode 100644 HyperSet/game.php delete mode 100644 HyperSet/images/diamond.png delete mode 100644 HyperSet/images/oval.png delete mode 100644 HyperSet/images/wave.png delete mode 100644 HyperSet/index.html delete mode 100644 HyperSet/player.php delete mode 100644 HyperSet/set.js delete mode 100644 HyperSet/set.php diff --git a/HyperSet/.idea/vcs.xml b/HyperSet/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/HyperSet/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/HyperSet/.idea/workspace.xml b/HyperSet/.idea/workspace.xml index fee62e4..6a45058 100644 --- a/HyperSet/.idea/workspace.xml +++ b/HyperSet/.idea/workspace.xml @@ -1,7 +1,13 @@ - + + + + + + + + + + @@ -95,5 +107,9 @@ + + + + \ No newline at end of file diff --git a/HyperSet/card.php b/HyperSet/card.php deleted file mode 100644 index f048680..0000000 --- a/HyperSet/card.php +++ /dev/null @@ -1,18 +0,0 @@ - $value) { - $this->{$attribute} = $value; - } - - $deck->cards[] = $this; - } -} \ No newline at end of file diff --git a/HyperSet/cardAttributes.php b/HyperSet/cardAttributes.php deleted file mode 100644 index 6b2679c..0000000 --- a/HyperSet/cardAttributes.php +++ /dev/null @@ -1,17 +0,0 @@ -color = $color; - $this->shape = $shape; - $this->fill = $fill; - $this->number = $number; - $this->id = $id; -} -} \ No newline at end of file diff --git a/HyperSet/css/style.css b/HyperSet/css/style.css deleted file mode 100644 index 3da4320..0000000 --- a/HyperSet/css/style.css +++ /dev/null @@ -1,79 +0,0 @@ -* { - box-sizing: border-box; -} - -body { - font-family: Arial, sans-serif; - text-align: center; -} - -h1 { - font-size: 40px; -} - -.submit { - margin-top: 2em; - font-size: 16px; - padding: 1em 3em; - background: #BADA55; - color: #000; -} - -.submit:disabled { - background: #C5DA83; - color: #666; -} - -.wrapper { - width: 1080px; - margin: 0 auto; -} - -.card { - display: inline-block; - width: 245px; - margin-right: 5px; - height: 200px; - border: 2px solid #ccc; -} -.card:hover { - border-color: #e2e2e2; -} - -.selected { - background: #eee; -} - -.game-board { - width: 1000px; - margin: 0 auto; -} - -.shape { - display: inline-block; - width: 70px; - height: 200px; - -webkit-mask-repeat: no-repeat; - -webkit-mask-position: 15px; -} -.diamond { - -webkit-mask-image: url('../images/diamond.png'); -} -.wave { - -webkit-mask-image: url('../images/wave.png'); -} -.oval { - -webkit-mask-image: url('../images/oval.png'); -} - -.green { - background: green; -} -.red { - background: red;; -} -.purple { - background: violet; -} - -/*solution pour avoir l'image en rainure ou vide a voir dans le css*/ \ No newline at end of file diff --git a/HyperSet/deck.php b/HyperSet/deck.php deleted file mode 100644 index 2662a56..0000000 --- a/HyperSet/deck.php +++ /dev/null @@ -1,62 +0,0 @@ -createDeck(); - } - - private function createDeck() { - // need one card of each combo of color/shape/fill/number - $colors = array('green', 'red', 'purple'); - $shapes = array('oval', 'diamond', 'wave'); - $fills = array('filled', 'shaded', 'empty'); - $numbers = array(1, 2, 3); - - $index = 1; - - foreach ($colors as $color) { - foreach ($shapes as $shape) { - foreach ($fills as $fill) { - foreach ($numbers as $number) { - $cardAttributes = new CardAttributes($color, $shape, $fill, $number, $index); - $card = new Card($cardAttributes, $this); - $index++; - } - } - } - - } - - } - - public function removeSet($cards) { - - } - - private function shuffle() { - shuffle($this->cards); - } - - - - public function deal() { - // shuffle the deck - $this->shuffle(); - - // remove 12 cards from the top and return them - $dealtCards = array_chop($this->cards, 12); - return $dealtCards; - } - - public function threeMore() { - return array_chop($this->cards, 3); - } - -} \ No newline at end of file diff --git a/HyperSet/functions.php b/HyperSet/functions.php deleted file mode 100644 index e32db6d..0000000 --- a/HyperSet/functions.php +++ /dev/null @@ -1,7 +0,0 @@ -deck = $deck; - } - - public function start() { - - // call the deck's deal function and return the cards dealt - return $this->deck->deal(); - - } -} \ No newline at end of file diff --git a/HyperSet/images/diamond.png b/HyperSet/images/diamond.png deleted file mode 100644 index 3805d19d835c87947aedb8ed5461b85273f816a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2914 zcmd^B`BRg38js_F1FcTA?O4w=-mT^UuSBRv08JG~fmU3#HYP6+F^41^T3b)5)~;Rc zA&OX}&?+9g+VO_m2{}jt0ZfDhkfK2$@0F7zZ`c>Bc7Is+AJ}K+{T|OepU-o?@4Uy> zuUqwI?8I0Cf$%14b#gksFUB9<=;8Q!>A)HfzP%?&$&zFUvn56Be1NcmE8GqcS$uX5 zkPfi9yLah3|?lIBr9z#gCpdV*+VwuV!jAR69|dRibZTr9v~rZ2Xc6VBocIA zMk4aKNu-Sn)2L}8CXmZpy(b^Y*t0H^vnP*3=aQCvL`*DZ-~@a?!X_5;cM8Oe;v~{@ zUIu<1Qd3C8=O&W8B+{QjWu>hrGKKj7aUq#HpF>?lBQ9D%rY)e-7trSs_J5fRYY~g$4N>ym8snhg^vm%zS_? z5$0zKg*#tXaeb~(A{6HeMMP%CLNbk*#^&$@Lz?G^v@`}wAeOKN9DtRaM8Y}9JRX<9 zOh}=nrc!Aumn@*sXekNwgyhr|`idnf%!HLoR?_2NVv~iO0zM#+yu@<B^YOtxT6hJ2sfH8Qugy&9ALxG??6djot)5mhYBD2c9c-wFH7Z!6hqNk4 zBL|grpd7=nP-MW1`P#jX2VPsVw@D3am9SC^sg9Ku3Y)NJ$HBhiQk(YQlySD?ogbm@@#02ZioOO3D*2_cQ1W*I1tU|~nVVS@FZ zFyhDj7PJu!p(eDU5p6=lh#Hjlhx!eu!Gs#ku-*(CtezJ404N1zPlCNNNU8=E&w_nM zSnrK^z%U4fK~DtH!m18$I~a1yA(;Y{DnYptR45_29IR7j z84!cYtuVp{I0O$4Vh?@oa2Sz-aw#OY``e_DqRroKfb~sYs~K*PK?)RoStHum!(gaihvJ=bH=>qCkEIE7Ll?0nqgB;q7qhihpt{Pp8F?UMAiqWep3(v;H?mxEaqSLvIQ1LeVc=DYnZrsQ* z-&_Qo_77K%sx}(vKIJgdi78b->=L9cpErhAT^=YZxyUKHG}CFQBu>3>x%wQt=3p0* zbL#MM>DujGznAqV2F8^Qzw-x6a%S17_gV^P(w&kY4WJT_&D9X+WjRW|jd|K- zPCv0ZF-u!=@0+`|TbGliE#r1+shezBA4--&aA!?=$zWCHTfzgL@?j{lq!g-6Ak6xD zM=`jH@x5MpOz487VHusr0doiYcBKd{!%U14+vbfxX*>XQ}g8^yu z#W5D&r>?@Wxs~^<-4mk?tjDDA=5y`bisLn56Zzu)gVu$<#rNa*`xnLMuKjja-rQr0 z)nA-%Z&ml^e2jUb=|7x~v-#P9JKW@cp)r zo=x>n;GCyy&6u+ZMg7^X)}z(pDP@}OWR{Ijgp;;<`KMHzcVx^Zf5)_dNRI4(;rH=z)0E4F|p7pC{}7;O%zN8ved(xw9*` z-2J20GpCZ8{nL%s?}M&v=eW_QE8aPGyOh<;kY1otj$WJ7_iNod`q?cvm^HqO4IW=#+AHOamW9O!w zRzt@m-{ZsmPbk$_jyvC?%V;~U39ui^keha zl1@=g=wZ{?OZS<=dyJoLH(D}NR&AOVNeb_)K~LQ}@zllrY?*oErM{m%UtYNsTYh;j wLHMm7gE{H`y<;cK`qY diff --git a/HyperSet/images/oval.png b/HyperSet/images/oval.png deleted file mode 100644 index 7d9a873f144dc969474e5b2af999b50b3bbd7562..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1498 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 B?8pEB diff --git a/HyperSet/index.html b/HyperSet/index.html deleted file mode 100644 index a39cced..0000000 --- a/HyperSet/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Set - - - - -
-

(TEST) Set

-

Find sets.

-

Sets found: 0

-
-
- - - - - diff --git a/HyperSet/player.php b/HyperSet/player.php deleted file mode 100644 index a785c06..0000000 --- a/HyperSet/player.php +++ /dev/null @@ -1,14 +0,0 @@ -score += $points; -} -} \ No newline at end of file diff --git a/HyperSet/set.js b/HyperSet/set.js deleted file mode 100644 index 010c81e..0000000 --- a/HyperSet/set.js +++ /dev/null @@ -1,202 +0,0 @@ -var Game = { - cards: [], - selected: [], - score: 0, - $board: $('[data-display="game-board"]'), - $score: $('[data-display="score"]'), - - deal: function() { - var self = this; - - // ajax request to get initial set of cards - var dealRequest = $.ajax({ - url: 'set.php?action=deal', - type: 'GET', - dataType: 'json', - success: function(data) { - self.cards = data; - self.displayCards.call(self); - self.setCardListeners(); - self.setPageListeners(); - } - }); - }, - - displayCards: function() { - var self = this; - - $.each(this.cards, function(index, card){ - var cardNode = $('
'); - cardNode.addClass('card'); - $(cardNode).data({ - 'id': card.id, - 'shape': card.shape, - 'color': card.color, - 'number': card.number - }); - - var shapeNode = $(''); - shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill); - - - for (var i = 0; i < card.number; i++) { - cardNode.append(shapeNode.clone()); - } - self.$board.append(cardNode); - - // display 4 cards per row - if ((index+1) % 4 === 0) { - self.$board.append($('
')); - } - }); - }, - - setCardListeners: function() { - var self = this; - - // what happens when a card is clicked: - this.$board.on('click', '.card', function(e) { - e.stopImmediatePropagation(); - var card = e.currentTarget; - - // if card is new, add it, otherwise remove it - var ids = $.map(self.selected, function(el) { return $(el).data("id");}); - if (ids.indexOf($(card).data('id')) >= 0) { - self.deselectCard(card); - } else { - self.selectCard(card); - } - - if (self.selected.length === 3) { - self.silentSubmission(); - } - }); - }, - - setPageListeners: function() { - var self = this; - - // if the user clicks on the page outside the game board, clear selected - $(document).on('click', function() { - self.clearSelections.call(self); - }); - }, - - selectCard: function(card) { - $(card).addClass('selected'); - this.selected.push(card); - - if (this.selected.length > 3) { - var removed = this.selected.shift(); - $(removed).removeClass('selected'); - } - - }, - - deselectCard: function(card) { - var self = this; - var index = self.selected.indexOf(card); - if (index > -1) { - self.selected.splice(index, 1); - } - $(card).removeClass('selected'); - }, - - clearSelections: function() { - $.each(this.selected, function(index, card) { - $(card).removeClass('selected'); - }); - this.selected = []; - }, - - validateSet: 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 numbers = $.map(self.selected, function(el) { return $(el).data("number"); }); - - - return (self.isSet(colors) && self.isSet(shapes) && self.isSet(numbers)); - }, - - isSet: function(arr) { - // a set means the attributes are either all the same or all different - var reduced = $.unique(arr); - return (reduced.length === 1 || reduced.length === 3); - }, - - silentSubmission: function() { - var valid = this.validateSet(); - if (valid) { - this.submitSet(); - } - }, - - submitSet: function() { - var self = this; - var ids = $.map(self.selected, function(el) { return $(el).data("id");}); - - // ajax request to get initial set of cards - var newCardRequest = $.ajax({ - url: 'set.php?action=submit', - type: 'GET', - dataType: 'json', - success: function(data) { - self.clearCards(ids); - // to do - implement game complete check on server - if (!data.gameComplete) { - self.updateCards(data); - self.increaseScore(); - } else { - self.gameWon(); - } - }, - error: function() { - console.log(arguments); - } - }); - - this.clearSelections(); - }, - - clearCards: function(ids) { - // remove submitted cards game's card array and clear the board - var self = this; - this.selected = []; - this.$board.empty(); - var cardIds = $.map(self.cards, function(card) { return card.id; }); - $.each(ids, function(idx, id) { - var location = cardIds.indexOf(id); - if (location > -1) { - cardIds.splice(location, 1); - self.cards.splice(location, 1); - } - }); - }, - - updateCards: function(newCards) { - this.cards = this.cards.concat(newCards); - this.displayCards(); - }, - - increaseScore: function() { - this.$score.html(++this.score); - }, - - startRound: function() { - // todo - // reset timer to 30 seconds - }, - - gameWon: function() { - alert("you won!"); - }, - - gameLost: function() { - alert("you lost :("); - } - -}; - -$(document).ready(Game.deal()); \ No newline at end of file diff --git a/HyperSet/set.php b/HyperSet/set.php deleted file mode 100644 index 592d3c0..0000000 --- a/HyperSet/set.php +++ /dev/null @@ -1,18 +0,0 @@ -start()); -} else if (isset($_GET['action']) && $_GET['action'] == 'submit'){ - $deck = $_SESSION['deck']; - echo json_encode($deck->threeMore()); -} \ No newline at end of file