diff --git a/assets/Audio/film-ujasov-kino.mp3 b/assets/Audio/film-ujasov-kino.mp3 new file mode 100644 index 00000000..176c2bc5 Binary files /dev/null and b/assets/Audio/film-ujasov-kino.mp3 differ diff --git a/assets/Favicon/FavIcon.png b/assets/Favicon/FavIcon.png new file mode 100644 index 00000000..d1e96a4a Binary files /dev/null and b/assets/Favicon/FavIcon.png differ diff --git a/assets/Gif/you-died.gif b/assets/Gif/you-died.gif new file mode 100644 index 00000000..9cb4395a Binary files /dev/null and b/assets/Gif/you-died.gif differ diff --git a/assets/Scroll/scroll.png b/assets/Scroll/scroll.png new file mode 100644 index 00000000..34346ca4 Binary files /dev/null and b/assets/Scroll/scroll.png differ diff --git a/data/ancients.js b/data/ancients.js index e19926c1..b4a5cd11 100644 --- a/data/ancients.js +++ b/data/ancients.js @@ -1,5 +1,3 @@ -import Ancients from '../assets/Ancients/index' - const ancientsData = [ { id: 'azathoth', @@ -81,6 +79,4 @@ const ancientsData = [ brownCards: 4, }, }, -] - -export default ancientsData \ No newline at end of file +]; \ No newline at end of file diff --git a/data/difficulties.js b/data/difficulties.js index 34102556..e4687573 100644 --- a/data/difficulties.js +++ b/data/difficulties.js @@ -11,6 +11,4 @@ const difficulties = [ id: 'hard', name: 'Высокая' }, -] - -export default difficulties \ No newline at end of file +] \ No newline at end of file diff --git a/data/mythicCards/blue/index.js b/data/mythicCards/blue/indexBlue.js similarity index 54% rename from data/mythicCards/blue/index.js rename to data/mythicCards/blue/indexBlue.js index 6439ca19..3aa346ac 100644 --- a/data/mythicCards/blue/index.js +++ b/data/mythicCards/blue/indexBlue.js @@ -1,78 +1,76 @@ -import blueCardsAssets from '../../../assets/MythicCards/blue'; - -const cardsData = [ +const cardsDataBlue = [ { id: 'blue1', - cardFace: blueCardsAssets.blue1, + cardFace: './assets/MythicCards/blue/blue1.png', difficulty: 'hard', color:'blue' }, { id: 'blue2', - cardFace: blueCardsAssets.blue2, + cardFace: './assets/MythicCards/blue/blue2.png', difficulty: 'hard', color:'blue' }, { id: 'blue3', - cardFace: blueCardsAssets.blue3, + cardFace: './assets/MythicCards/blue/blue3.png', difficulty: 'easy', color:'blue' }, { id: 'blue4', - cardFace: blueCardsAssets.blue4, + cardFace: './assets/MythicCards/blue/blue4.png', difficulty: 'easy', color:'blue' }, { id: 'blue5', - cardFace: blueCardsAssets.blue5, + cardFace: './assets/MythicCards/blue/blue5.png', difficulty: 'easy', color:'blue' }, { id: 'blue6', - cardFace: blueCardsAssets.blue6, + cardFace: './assets/MythicCards/blue/blue6.png', difficulty: 'hard', color:'blue' }, { id: 'blue7', - cardFace: blueCardsAssets.blue7, + cardFace: './assets/MythicCards/blue/blue7.png', difficulty: 'normal', color:'blue' }, { id: 'blue8', - cardFace: blueCardsAssets.blue8, + cardFace: './assets/MythicCards/blue/blue8.png', difficulty: 'hard', color:'blue' }, { id: 'blue9', - cardFace: blueCardsAssets.blue9, + cardFace: './assets/MythicCards/blue/blue9.png', difficulty: 'normal', color:'blue' }, { id: 'blue10', - cardFace: blueCardsAssets.blue10, + cardFace: './assets/MythicCards/blue/blue10.png', difficulty: 'easy', color:'blue' }, { id: 'blue11', - cardFace: blueCardsAssets.blue11, + cardFace: './assets/MythicCards/blue/blue11.png', difficulty: 'normal', color:'blue' }, { id: 'blue12', - cardFace: blueCardsAssets.blue12, + cardFace: './assets/MythicCards/blue/blue12.png', difficulty: 'normal', color:'blue' }, ] -export default cardsData \ No newline at end of file +export default cardsDataBlue; \ No newline at end of file diff --git a/data/mythicCards/brown/index.js b/data/mythicCards/brown/indexBrown.js similarity index 54% rename from data/mythicCards/brown/index.js rename to data/mythicCards/brown/indexBrown.js index 0bce7522..409c4a5a 100644 --- a/data/mythicCards/brown/index.js +++ b/data/mythicCards/brown/indexBrown.js @@ -1,132 +1,130 @@ -import brownCardsAssets from '../../../assets/MythicCards/brown'; - -const cardsData = [ +const cardsDataBrown = [ { id: 'brown1', - cardFace: brownCardsAssets.brown1, + cardFace: './assets/MythicCards/brown/brown1.png', difficulty: 'normal', color:'brown' }, { id: 'brown2', - cardFace: brownCardsAssets.brown2, + cardFace: './assets/MythicCards/brown/brown2.png', difficulty: 'normal', color:'brown' }, { id: 'brown3', - cardFace: brownCardsAssets.brown3, + cardFace: './assets/MythicCards/brown/brown3.png', difficulty: 'normal', color:'brown' }, { id: 'brown4', - cardFace: brownCardsAssets.brown4, + cardFace: './assets/MythicCards/brown/brown4.png', difficulty: 'normal', color:'brown' }, { id: 'brown5', - cardFace: brownCardsAssets.brown5, + cardFace: './assets/MythicCards/brown/brown5.png', difficulty: 'normal', color:'brown' }, { id: 'brown6', - cardFace: brownCardsAssets.brown6, + cardFace: './assets/MythicCards/brown/brown6.png', difficulty: 'hard', color:'brown' }, { id: 'brown7', - cardFace: brownCardsAssets.brown7, + cardFace: './assets/MythicCards/brown/brown7.png', difficulty: 'hard', color:'brown' }, { id: 'brown8', - cardFace: brownCardsAssets.brown8, + cardFace: './assets/MythicCards/brown/brown8.png', difficulty: 'hard', color:'brown' }, { id: 'brown9', - cardFace: brownCardsAssets.brown9, + cardFace: './assets/MythicCards/brown/brown9.png', difficulty: 'hard', color:'brown' }, { id: 'brown10', - cardFace: brownCardsAssets.brown10, + cardFace: './assets/MythicCards/brown/brown10.png', difficulty: 'hard', color:'brown' }, { id: 'brown11', - cardFace: brownCardsAssets.brown11, + cardFace: './assets/MythicCards/brown/brown11.png', difficulty: 'easy', color:'brown' }, { id: 'brown12', - cardFace: brownCardsAssets.brown12, + cardFace: './assets/MythicCards/brown/brown12.png', difficulty: 'easy', color:'brown' }, { id: 'brown13', - cardFace: brownCardsAssets.brown13, + cardFace: './assets/MythicCards/brown/brown13.png', difficulty: 'easy', color:'brown' }, { id: 'brown14', - cardFace: brownCardsAssets.brown14, + cardFace: './assets/MythicCards/brown/brown14.png', difficulty: 'easy', color:'brown' }, { id: 'brown15', - cardFace: brownCardsAssets.brown15, + cardFace: './assets/MythicCards/brown/brown15.png', difficulty: 'normal', color:'brown' }, { id: 'brown16', - cardFace: brownCardsAssets.brown16, + cardFace: './assets/MythicCards/brown/brown16.png', difficulty: 'normal', color:'brown' }, { id: 'brown17', - cardFace: brownCardsAssets.brown17, + cardFace: './assets/MythicCards/brown/brown17.png', difficulty: 'normal', color:'brown' }, { id: 'brown18', - cardFace: brownCardsAssets.brown18, + cardFace: './assets/MythicCards/brown/brown18.png', difficulty: 'normal', color:'brown' }, { id: 'brown19', - cardFace: brownCardsAssets.brown19, + cardFace: './assets/MythicCards/brown/brown19.png', difficulty: 'normal', color:'brown' }, { id: 'brown20', - cardFace: brownCardsAssets.brown20, + cardFace: './assets/MythicCards/brown/brown20.png', difficulty: 'normal', color:'brown' }, { id: 'brown21', - cardFace: brownCardsAssets.brown21, + cardFace: './assets/MythicCards/brown/brown21.png', difficulty: 'easy', color:'brown' }, ] -export default cardsData \ No newline at end of file +export default cardsDataBrown; \ No newline at end of file diff --git a/data/mythicCards/green/index.js b/data/mythicCards/green/indexGreen.js similarity index 54% rename from data/mythicCards/green/index.js rename to data/mythicCards/green/indexGreen.js index cca6e9df..499f705e 100644 --- a/data/mythicCards/green/index.js +++ b/data/mythicCards/green/indexGreen.js @@ -1,114 +1,112 @@ -import greenCardsAssets from '../../../assets/MythicCards/green'; - -const cardsData = [ +const cardsDataGreen = [ { id: 'green1', - cardFace: greenCardsAssets.green1, + cardFace: './assets/MythicCards/green/green1.png', difficulty: 'easy', color:'green' }, { id: 'green2', - cardFace: greenCardsAssets.green2, + cardFace: './assets/MythicCards/green/green2.png', difficulty: 'hard', color:'green' }, { id: 'green3', - cardFace: greenCardsAssets.green3, + cardFace: './assets/MythicCards/green/green3.png', difficulty: 'hard', color:'green' }, { id: 'green4', - cardFace: greenCardsAssets.green4, + cardFace: './assets/MythicCards/green/green4.png', difficulty: 'hard', color:'green' }, { id: 'green5', - cardFace: greenCardsAssets.green5, + cardFace: './assets/MythicCards/green/green5.png', difficulty: 'hard', color:'green' }, { id: 'green6', - cardFace: greenCardsAssets.green6, + cardFace: './assets/MythicCards/green/green6.png', difficulty: 'hard', color:'green' }, { id: 'green7', - cardFace: greenCardsAssets.green7, + cardFace: './assets/MythicCards/green/green7.png', difficulty: 'normal', color:'green' }, { id: 'green8', - cardFace: greenCardsAssets.green8, + cardFace: './assets/MythicCards/green/green8.png', difficulty: 'normal', color:'green' }, { id: 'green9', - cardFace: greenCardsAssets.green9, + cardFace: './assets/MythicCards/green/green9.png', difficulty: 'normal', color:'green' }, { id: 'green10', - cardFace: greenCardsAssets.green10, + cardFace: './assets/MythicCards/green/green10.png', difficulty: 'normal', color:'green' }, { id: 'green11', - cardFace: greenCardsAssets.green11, + cardFace: './assets/MythicCards/green/green11.png', difficulty: 'normal', color:'green' }, { id: 'green12', - cardFace: greenCardsAssets.green12, + cardFace: './assets/MythicCards/green/green12.png', difficulty: 'easy', color:'green' }, { id: 'green13', - cardFace: greenCardsAssets.green13, + cardFace: './assets/MythicCards/green/green13.png', difficulty: 'normal', color:'green' }, { id: 'green14', - cardFace: greenCardsAssets.green14, + cardFace: './assets/MythicCards/green/green14.png', difficulty: 'normal', color:'green' }, { id: 'green15', - cardFace: greenCardsAssets.green15, + cardFace: './assets/MythicCards/green/green15.png', difficulty: 'normal', color:'green' }, { id: 'green16', - cardFace: greenCardsAssets.green16, + cardFace: './assets/MythicCards/green/green16.png', difficulty: 'easy', color:'green' }, { id: 'green17', - cardFace: greenCardsAssets.green17, + cardFace: './assets/MythicCards/green/green17.png', difficulty: 'easy', color:'green' }, { id: 'green18', - cardFace: greenCardsAssets.green18, + cardFace: './assets/MythicCards/green/green18.png', difficulty: 'easy', color:'green' }, ] -export default cardsData \ No newline at end of file +export default cardsDataGreen; \ No newline at end of file diff --git a/data/mythicCards/index.js b/data/mythicCards/index.js index f11a5592..f698acc4 100644 --- a/data/mythicCards/index.js +++ b/data/mythicCards/index.js @@ -1,6 +1,6 @@ import brownCards from './brown'; import blueCards from './blue'; -import greenCards from './green'; +import greenCards from './green/indexGreen'; export { brownCards, diff --git a/index.html b/index.html index 5c148709..3547f23f 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,7 @@ + Codejam @@ -15,16 +16,18 @@
- Cthulthu - ShubNiggurath - IogSothoth - Azathoth + Cthulthu + ShubNiggurath + IogSothoth + Azathoth
-
+
Очень легкий
Легкий
-
Обычная
+
Обычный
Высокий
Очень высокий
@@ -34,42 +37,42 @@
Первая стадия
- - - + + +
Вторая стадия
- - - + + +
Третья стадия
- - - + + +
- mythicCardBackground -
-
- + mythicCardBackground
+
- - - + + + + \ No newline at end of file diff --git a/index.js b/index.js index 78d7f809..15fe9412 100644 --- a/index.js +++ b/index.js @@ -1,53 +1,2589 @@ -const rain = document.querySelector('.rain'); +import cardsDataGreen from './data/mythicCards/green/indexGreen.js'; +import cardsDataBrown from './data/mythicCards/brown/indexBrown.js'; +import cardsDataBlue from './data/mythicCards/blue/indexBlue.js'; +// --------------------------------------- const knife = new Audio('./assets/Audio/6802dff441a6d4e (mp3cut.net).mp3'); -const soundCard = new Audio('./assets/Audio/mb_card_deal_08.mp3'); -const scream1 = new Audio('./assets/Audio/monster1.mp3'); -const scream2 = new Audio('./assets/Audio/monster2.mp3'); -const scream3 = new Audio('./assets/Audio/monster3.mp3'); -const scream4 = new Audio('./assets/Audio/monster4.mp3'); - -const choiceDifficulty = document.querySelectorAll(".difficulty"); -const takeCard = document.querySelectorAll(".deck"); -const monster1 = document.querySelectorAll(".card1"); -const monster2 = document.querySelectorAll(".card2"); -const monster3 = document.querySelectorAll(".card3"); -const monster4 = document.querySelectorAll(".card4"); - -choiceDifficulty.forEach(difficult => { - difficult.addEventListener("click", () => { +const rain = document.querySelector('audio'); +const music = new Audio('./assets/Audio/film-ujasov-kino.mp3'); +const difficulty = document.querySelectorAll(".difficulty"); +const takeCard = document.querySelector(".deck"); +const card1 = document.querySelector('.card1'); +const card2 = document.querySelector('.card2'); +const card3 = document.querySelector('.card3'); +const card4 = document.querySelector('.card4'); + +function playAudio(item, audio, volume) { + item.addEventListener("click", () => { + audio.play(); + }); + audio.volume = volume; +} + +difficulty.forEach(item => { + item.addEventListener("click", () => { knife.play(); + knife.volume = .1; }); }); -takeCard.forEach(card => { - card.addEventListener("click", () => { - soundCard.play(); - }); + +playAudio(card1, new Audio('./assets/Audio/monster1.mp3'), .1); +playAudio(card2, new Audio('./assets/Audio/monster2.mp3'), .1); +playAudio(card3, new Audio('./assets/Audio/monster3.mp3'), .1); +playAudio(card4, new Audio('./assets/Audio/monster4.mp3'), .1); +playAudio(takeCard, new Audio('./assets/Audio/mb_card_deal_08.mp3'), .1); + +rain.volume = .5; + +// --------------------------------------- +const cards = document.querySelectorAll('.ancient-cards img') +const deck = document.querySelector('.deck-of-cards'); + +cards.forEach(card => { + card.addEventListener('click', () => { + cards.forEach(card => card.classList.remove('fire-border')); + card.classList.add('fire-border'); + }) }); -monster1.forEach(card => { - card.addEventListener("click", () => { - scream1.play(); - }); + +difficulty.forEach(item => { + item.addEventListener('click', () => { + difficulty.forEach(item => item.classList.remove('fire-border')); + item.classList.add('fire-border'); + deck.classList.add('show'); + }) }); -monster2.forEach(card => { - card.addEventListener("click", () => { - scream2.play(); - }); + +// --------------------------------------- +const firstGreen = document.querySelector('.first-green'); +const firstBrown = document.querySelector('.first-brown'); +const firstBlue = document.querySelector('.first-blue'); +const secondGreen = document.querySelector('.second-green'); +const secondBrown = document.querySelector('.second-brown'); +const secondBlue = document.querySelector('.second-blue'); +const thirdGreen = document.querySelector('.third-green'); +const thirdBrown = document.querySelector('.third-brown'); +const thirdBlue = document.querySelector('.third-blue'); + +const difficultyBlock = document.querySelector('.difficulty-level'); + +card1.addEventListener('click', () => { + firstGreen.value = 0; + firstBrown.value = 2; + firstBlue.value = 2; + secondGreen.value = 1; + secondBrown.value = 3; + secondBlue.value = 0; + thirdGreen.value = 3; + thirdBrown.value = 4; + thirdBlue.value = 0; + difficultyBlock.classList.add('show'); + difficultyBlock.classList.remove('hide'); }); -monster3.forEach(card => { - card.addEventListener("click", () => { - scream3.play(); - }); + +card2.addEventListener('click', () => { + firstGreen.value = 1; + firstBrown.value = 2; + firstBlue.value = 1; + secondGreen.value = 3; + secondBrown.value = 2; + secondBlue.value = 1; + thirdGreen.value = 2; + thirdBrown.value = 4; + thirdBlue.value = 0; + difficultyBlock.classList.add('show'); + difficultyBlock.classList.remove('hide'); }); -monster4.forEach(card => { - card.addEventListener("click", () => { - scream4.play(); + +card3.addEventListener('click', () => { + firstGreen.value = 0; + firstBrown.value = 2; + firstBlue.value = 1; + secondGreen.value = 2; + secondBrown.value = 3; + secondBlue.value = 1; + thirdGreen.value = 3; + thirdBrown.value = 4; + thirdBlue.value = 0; + difficultyBlock.classList.add('show'); + difficultyBlock.classList.remove('hide'); +}); + +card4.addEventListener('click', () => { + firstGreen.value = 1; + firstBrown.value = 2; + firstBlue.value = 1; + secondGreen.value = 2; + secondBrown.value = 3; + secondBlue.value = 1; + thirdGreen.value = 2; + thirdBrown.value = 4; + thirdBlue.value = 0; + difficultyBlock.classList.add('show'); + difficultyBlock.classList.remove('hide'); +}); + +// --------------------------------------- + +let arrayOfGreenEasy = []; // 5 +let arrayOfBrownEasy = []; // 5 +let arrayOfBlueEasy = []; // 4 + +let arrayOfGreenNormal = []; // 8 +let arrayOfBrownNormal = []; // 11 +let arrayOfBlueNormal = []; // 4 + +let arrayOfGreenHard = []; // 5 +let arrayOfBrownHard = []; // 5 +let arrayOfBlueHard = []; // 4 + +for (let i = 0; i < cardsDataGreen.length; i++) { + if (cardsDataGreen[i].difficulty === 'easy') { + arrayOfGreenEasy.push(cardsDataGreen[i]); + } else if (cardsDataGreen[i].difficulty === 'normal') { + arrayOfGreenNormal.push(cardsDataGreen[i]); + } else { + arrayOfGreenHard.push(cardsDataGreen[i]); + } +} + +for (let i = 0; i < cardsDataBrown.length; i++) { + if (cardsDataBrown[i].difficulty === 'easy') { + arrayOfBrownEasy.push(cardsDataBrown[i]); + } else if (cardsDataBrown[i].difficulty === 'normal') { + arrayOfBrownNormal.push(cardsDataBrown[i]); + } else { + arrayOfBrownHard.push(cardsDataBrown[i]); + } +} + +for (let i = 0; i < cardsDataBlue.length; i++) { + if (cardsDataBlue[i].difficulty === 'easy') { + arrayOfBlueEasy.push(cardsDataBlue[i]); + } else if (cardsDataBlue[i].difficulty === 'normal') { + arrayOfBlueNormal.push(cardsDataBlue[i]); + } else { + arrayOfBlueHard.push(cardsDataBlue[i]); + } +} + +// --------------------------------------- + +const veryEasyDifficult = document.querySelector('.very-easy'); +const easyDifficult = document.querySelector('.easy'); +const normalDifficult = document.querySelector('.normal'); +const hardDifficult = document.querySelector('.hard'); +const veryHardDifficult = document.querySelector('.very-hard'); + +let deckFirstStage = []; +let deckSecondStage = []; +let deckThirdStage = []; + +function sumCardsValues(color) { + + if (color === 'green') { + return +firstGreen.value + +secondGreen.value + +thirdGreen.value; + } + if (color === 'brown') { + return +firstBrown.value + +secondBrown.value + +thirdBrown.value; + } + if (color === 'blue') { + return +firstBlue.value + +secondBlue.value + +thirdBlue.value; + } +} + +function shuffle(array) { + array.sort(() => Math.random() - 0.5); +} + +card1.addEventListener('click', () => { + + takeCard.classList.remove('hide'); + + veryEasyDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasy[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = thirdGreen.value; + while (value_5 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = firstBlue.value; + while (value_6 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_6--; + } + + // ----------------------------------- // + + let firstCards = firstBrownArray.concat(firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + }); + + easyDifficult.addEventListener('click', () => { + + let arrayOfGreenEasyAndVeryEasy = arrayOfGreenEasy.concat(arrayOfGreenNormal); + let arrayOfBrownEasyAndVeryEasy = arrayOfBrownEasy.concat(arrayOfBrownNormal); + let arrayOfBlueEasyAndVeryEasy = arrayOfBlueEasy.concat(arrayOfBlueNormal); + + shuffle(arrayOfGreenEasyAndVeryEasy); + shuffle(arrayOfBrownEasyAndVeryEasy); + shuffle(arrayOfBlueEasyAndVeryEasy); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('brown'); i++) { + requiredCardsBrown.push(arrayOfBrownEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasyAndVeryEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = thirdGreen.value; + while (value_5 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = firstBlue.value; + while (value_6 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_6--; + } + + // ----------------------------------- // + + let firstCards = firstBrownArray.concat(firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + normalDifficult.addEventListener('click', () => { + + let arrayOfGreen = arrayOfGreenEasy.concat(arrayOfGreenNormal, arrayOfGreenHard); + let arrayOfBrown = arrayOfBrownEasy.concat(arrayOfBrownNormal, arrayOfBrownHard); + let arrayOfBlue = arrayOfBlueEasy.concat(arrayOfBlueNormal, arrayOfBlueHard); + + shuffle(arrayOfGreen); + shuffle(arrayOfBrown); + shuffle(arrayOfBlue); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreen[i]); + } + + for (let i = 0; i < sumCardsValues('brown'); i++) { + requiredCardsBrown.push(arrayOfBrown[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlue[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + hardDifficult.addEventListener('click', () => { + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenNormalAndHard[i]); + } + + for (let i = 0; i < sumCardsValues('brown'); i++) { + requiredCardsBrown.push(arrayOfBrownNormalAndHard[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueNormalAndHard[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + veryHardDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenHard[i]); + } + + if (arrayOfBrownHard.length <= sumCardsValues('brown')) { + arrayOfBrownHard.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownHard.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueHard[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + }) + }); -rain.volume = 0; -knife.volume = .1; -scream1.volume = .5; -scream2.volume = .5; -scream3.volume = .5; -scream4.volume = .5; +card2.addEventListener('click', () => { + + takeCard.classList.remove('hide'); + + veryEasyDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }); + + easyDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstBrownArray.concat(firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + normalDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + hardDifficult.addEventListener('click', () => { + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + veryHardDifficult.addEventListener('click', () => { + + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + +}); + +card3.addEventListener('click', () => { + + takeCard.classList.remove('hide'); + + veryEasyDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasy[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstBrown.value + while (value_0 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_0--; + } + + let value_1 = secondBrown.value; + while (value_1 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBlue.value; + while (value_2 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = thirdGreen.value; + while (value_5 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = firstBlue.value; + while (value_6 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_6--; + } + + // ----------------------------------- // + + let firstCards = firstBrownArray.concat(firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }); + + easyDifficult.addEventListener('click', () => { + + let arrayOfGreenEasyAndVeryEasy = arrayOfGreenEasy.concat(arrayOfGreenNormal); + let arrayOfBrownEasyAndVeryEasy = arrayOfBrownEasy.concat(arrayOfBrownNormal); + let arrayOfBlueEasyAndVeryEasy = arrayOfBlueEasy.concat(arrayOfBlueNormal); + + shuffle(arrayOfGreenEasyAndVeryEasy); + shuffle(arrayOfBrownEasyAndVeryEasy); + shuffle(arrayOfBlueEasyAndVeryEasy); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('brown'); i++) { + requiredCardsBrown.push(arrayOfBrownEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasyAndVeryEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstBrown.value + while (value_0 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_0--; + } + + let value_1 = secondBrown.value; + while (value_1 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBlue.value; + while (value_2 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = thirdGreen.value; + while (value_5 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = firstBlue.value; + while (value_6 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_6--; + } + + // ----------------------------------- // + + let firstCards = firstBrownArray.concat(firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + normalDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + hardDifficult.addEventListener('click', () => { + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + veryHardDifficult.addEventListener('click', () => { + + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value; + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value; + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = thirdBrown.value; + while (value_3 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_3--; + } + + let value_4 = secondGreen.value; + while (value_4 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_4--; + } + + let value_5 = secondBlue.value; + while (value_5 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + +}); + +card4.addEventListener('click', () => { + + takeCard.classList.remove('hide'); + + veryEasyDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasy[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = secondBlue.value; + while (value_3 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_3--; + } + + let value_4 = thirdBrown.value; + while (value_4 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_4--; + } + + let value_5 = secondGreen.value; + while (value_5 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }); + + easyDifficult.addEventListener('click', () => { + + let arrayOfGreenEasyAndVeryEasy = arrayOfGreenEasy.concat(arrayOfGreenNormal); + let arrayOfBrownEasyAndVeryEasy = arrayOfBrownEasy.concat(arrayOfBrownNormal); + let arrayOfBlueEasyAndVeryEasy = arrayOfBlueEasy.concat(arrayOfBlueNormal); + + shuffle(arrayOfGreenEasyAndVeryEasy); + shuffle(arrayOfBrownEasyAndVeryEasy); + shuffle(arrayOfBlueEasyAndVeryEasy); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + for (let i = 0; i < sumCardsValues('green'); i++) { + requiredCardsGreen.push(arrayOfGreenEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('brown'); i++) { + requiredCardsBrown.push(arrayOfBrownEasyAndVeryEasy[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasyAndVeryEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = secondBlue.value; + while (value_3 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_3--; + } + + let value_4 = thirdBrown.value; + while (value_4 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_4--; + } + + let value_5 = secondGreen.value; + while (value_5 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + normalDifficult.addEventListener('click', () => { + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = secondBlue.value; + while (value_3 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_3--; + } + + let value_4 = thirdBrown.value; + while (value_4 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_4--; + } + + let value_5 = secondGreen.value; + while (value_5 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + hardDifficult.addEventListener('click', () => { + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = secondBlue.value; + while (value_3 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_3--; + } + + let value_4 = thirdBrown.value; + while (value_4 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_4--; + } + + let value_5 = secondGreen.value; + while (value_5 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + + veryHardDifficult.addEventListener('click', () => { + + + let arrayOfGreenNormalAndHard = arrayOfGreenNormal.concat(arrayOfGreenHard); + let arrayOfBrownNormalAndHard = arrayOfBrownNormal.concat(arrayOfBrownHard); + let arrayOfBlueNormalAndHard = arrayOfBlueNormal.concat(arrayOfBlueHard); + + shuffle(arrayOfGreenNormalAndHard); + shuffle(arrayOfBrownNormalAndHard); + shuffle(arrayOfBlueNormalAndHard); + + // ----------------------------------- // + + let requiredCardsGreen = []; + let requiredCardsBrown = []; + let requiredCardsBlue = []; + + if (arrayOfGreenEasy.length <= sumCardsValues('green')) { + arrayOfGreenEasy.forEach(item => requiredCardsGreen.push(item)); + } + + for (let i = 0; i < sumCardsValues('green') - arrayOfGreenEasy.length; i++) { + requiredCardsGreen.push(arrayOfGreenNormal[i]); + } + + if (arrayOfBrownEasy.length <= sumCardsValues('brown')) { + arrayOfBrownEasy.forEach(item => requiredCardsBrown.push(item)); + } + + for (let i = 0; i < sumCardsValues('brown') - arrayOfBrownEasy.length; i++) { + requiredCardsBrown.push(arrayOfBrownNormal[i]); + } + + for (let i = 0; i < sumCardsValues('blue'); i++) { + requiredCardsBlue.push(arrayOfBlueEasy[i]); + } + + shuffle(requiredCardsGreen); + shuffle(requiredCardsBrown); + shuffle(requiredCardsBlue); + + // ----------------------------------- // + + let firstGreenArray = []; + let firstBrownArray = []; + let firstBlueArray = []; + + let secondGreenArray = []; + let secondBrownArray = []; + let secondBlueArray = []; + + let thirdGreenArray = []; + let thirdBrownArray = []; + + let value_0 = firstGreen.value + while (value_0 > 0) { + firstGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_0--; + } + + let value_1 = firstBrown.value + while (value_1 > 0) { + firstBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_1--; + } + + let value_2 = secondBrown.value; + while (value_2 > 0) { + secondBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_2--; + } + + let value_3 = secondBlue.value; + while (value_3 > 0) { + secondBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_3--; + } + + let value_4 = thirdBrown.value; + while (value_4 > 0) { + thirdBrownArray.push(requiredCardsBrown[0]); + requiredCardsBrown = requiredCardsBrown.filter(function (item) { return item !== requiredCardsBrown[0] }); + value_4--; + } + + let value_5 = secondGreen.value; + while (value_5 > 0) { + secondGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_5--; + } + + let value_6 = thirdGreen.value; + while (value_6 > 0) { + thirdGreenArray.push(requiredCardsGreen[0]); + requiredCardsGreen = requiredCardsGreen.filter(function (item) { return item !== requiredCardsGreen[0] }); + value_6--; + } + + let value_7 = firstBlue.value; + while (value_7 > 0) { + firstBlueArray.push(requiredCardsBlue[0]); + requiredCardsBlue = requiredCardsBlue.filter(function (item) { return item !== requiredCardsBlue[0] }); + value_7--; + } + + // ----------------------------------- // + + let firstCards = firstGreenArray.concat(firstBrownArray, firstBlueArray); + let secondCards = secondGreenArray.concat(secondBrownArray, secondBlueArray); + let thirdCards = thirdGreenArray.concat(thirdBrownArray); + + shuffle(firstCards); + shuffle(secondCards); + shuffle(thirdCards); + + deckFirstStage = firstCards; + deckSecondStage = secondCards; + deckThirdStage = thirdCards; + + }) + +}); + +// --------------------------------------- + +const randomCard = document.querySelector('.random-card'); + +takeCard.addEventListener('click', () => { + + randomCard.classList.add('show'); + + if (deckFirstStage.length > 0) { + randomCard.style.background = `url(${deckFirstStage[0].cardFace}) center/cover`; + if (deckFirstStage[0].color === 'green') { + firstGreen.value--; + } + if (deckFirstStage[0].color === 'brown') { + firstBrown.value--; + } + if (deckFirstStage[0].color === 'blue') { + firstBlue.value--; + } + deckFirstStage.shift(); + + } else if (deckFirstStage.length === 0 && deckSecondStage.length > 0) { + randomCard.style.background = `url(${deckSecondStage[0].cardFace}) center/cover`; + if (deckSecondStage[0].color === 'green') { + secondGreen.value--; + } + if (deckSecondStage[0].color === 'brown') { + secondBrown.value--; + } + if (deckSecondStage[0].color === 'blue') { + secondBlue.value--; + } + deckSecondStage.shift(); + + } else if (deckSecondStage.length === 0 && deckThirdStage.length > 0) { + randomCard.style.background = `url(${deckThirdStage[0].cardFace}) center/cover`; + if (deckThirdStage[0].color === 'green') { + thirdGreen.value--; + } + if (deckThirdStage[0].color === 'brown') { + thirdBrown.value--; + } + if (deckThirdStage[0].color === 'blue') { + thirdBlue.value--; + } + deckThirdStage.shift(); + } + + if (deckFirstStage.length === 0 && deckSecondStage.length === 0 && deckThirdStage.length === 0) { + takeCard.classList.add('hide'); + difficultyBlock.classList.add('hide'); + card1.classList.remove('fire-border'); + card2.classList.remove('fire-border'); + card3.classList.remove('fire-border'); + card4.classList.remove('fire-border'); + difficulty.forEach(item => item.classList.remove('fire-border')); + music.play(); + } + +}) \ No newline at end of file diff --git a/style.css b/style.css index d85457df..fd02626c 100644 --- a/style.css +++ b/style.css @@ -1,7 +1,8 @@ body { position: relative; margin: 0; - height: 100vh; + height: 100%; + overflow: hidden; } .background { @@ -20,9 +21,9 @@ body { width: 100%; height: 100vh; background-image: url(./assets/Rain/water.png); - -webkit-animation: water 0.3s linear infinite; - animation: water 0.3s linear infinite; - padding: 15px; + -webkit-animation: water 0.4s linear infinite; + animation: water 0.4s linear infinite; + padding: 30px; } @-webkit-keyframes water { @@ -44,26 +45,17 @@ body { } .ancient-cards { display: flex; + align-items: center; justify-content: center; flex-wrap: wrap; max-width: 35vw; } .ancient-cards img { + position: relative; padding: 10px; - opacity: 0.7; border-radius: 30px; cursor: pointer; - transition-duration: 1s; - border: 20px solid transparent; - -o-border-image: url(/assets/Gif/fire-65.gif) 47%/0/0 stretch; - border-image: url(/assets/Gif/fire-65.gif) 47%/0/0 stretch; -} -.ancient-cards img:hover { - opacity: 1; - transition-duration: 1s; - border: 10px solid transparent; - -o-border-image: url(/assets/Gif/fire-65.gif) 47%/2/0 stretch; - border-image: url(/assets/Gif/fire-65.gif) 47%/2/0 stretch; + transition-duration: 0.2s; } .difficulty { @@ -73,7 +65,7 @@ body { background-image: url(./assets/mythicCardBackground.png); background-position: center; background-size: cover; - opacity: 0.5; + opacity: 0.3; transition-duration: 1s; cursor: pointer; border: 5px solid transparent; @@ -91,15 +83,23 @@ body { .difficulty:not(:last-child) { margin-bottom: 15px; } -.difficulty_level { +.difficulty-level { + max-width: 30vw; + background-image: url(./assets/Scroll/scroll.png); + background-repeat: no-repeat; + background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; - padding: 50px; + padding: 100px; + transform: scale(0); + transition-duration: 2s; } .deck-of-cards { + transform: scale(0); + transition-duration: 2s; display: flex; flex-direction: column; align-items: center; @@ -125,15 +125,18 @@ body { display: flex; align-items: center; justify-content: center; + z-index: 1; } .stages__quantity input { + position: relative; width: 50px; height: 50px; border-radius: 50%; - padding: 20px; + text-align: center; font-size: 20px; color: white; pointer-events: none; + z-index: 2; } .stages__quantity input:not(:last-child) { margin-right: 10px; @@ -152,17 +155,20 @@ body { } .working { + position: relative; display: flex; justify-content: center; align-items: center; } .inverted-deck { + position: relative; + z-index: 2; margin-right: 50px; } .inverted-deck .deck { border-radius: 30px; - opacity: 0.8; + opacity: 0.4; transition-duration: 1s; cursor: pointer; } @@ -172,9 +178,40 @@ body { } .random-card { + position: relative; + z-index: 1; width: 200px; height: 280px; - border: 1px solid red; border-radius: 30px; opacity: 0.8; + transition-duration: 0.5s; + transform: translateX(-250px); +} + +.fire-border { + border: 10px solid transparent; + -o-border-image: url(./assets/Gif/fire-65.gif) 47%/1/0 stretch; + border-image: url(./assets/Gif/fire-65.gif) 47%/1/0 stretch; + transform: scale(1.1); + opacity: 1; + transition-duration: 1s; +} + +.show { + transform: scale(1); + transition-duration: 2s; +} + +.hide { + transform: scale(0); + transition-duration: 1s; +} + +.random-card.show { + transform: translateX(0px) rotateY(360deg); + transition-duration: 1s; +} + +.none-click { + pointer-events: none; }/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/style.css.map b/style.css.map index b8f028c1..da264af7 100644 --- a/style.css.map +++ b/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA;EACI,kBAAA;EACA,SAAA;EACA,aAAA;ACCJ;;ADEA;EACI,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,yDAAA;EACA,6BAAA;EACA,sBAAA;ACCJ;;ADEA;EACI,aAAA;EACA,8BAAA;EACA,kBAAA;EACA,WAAA;EACA,aAAA;EACA,8CAAA;EACA,6CAAA;UAAA,qCAAA;EACA,aAAA;ACCJ;;ADEA;EACI;IACI,+BAAA;ECCN;EDEE;IACI,6BAAA;ECAN;AACF;;ADPA;EACI;IACI,+BAAA;ECCN;EDEE;IACI,6BAAA;ECAN;AACF;ADGA;EACI,aAAA;EACA,uBAAA;EACA,eAAA;EACA,eAAA;ACDJ;ADGI;EACI,aAAA;EACA,YAAA;EACA,mBAAA;EACA,eAAA;EACA,uBAAA;EACA,8BAAA;EACA,6DAAA;KAAA,0DAAA;ACDR;ADGQ;EACI,UAAA;EACA,uBAAA;EACA,8BAAA;EACA,6DAAA;KAAA,0DAAA;ACDZ;;ADMA;EACI,aAAA;EACA,YAAA;EACA,eAAA;EACA,wDAAA;EACA,2BAAA;EACA,sBAAA;EACA,YAAA;EACA,uBAAA;EACA,eAAA;EACA,6BAAA;EACA,mBAAA;EACA,6DAAA;KAAA,0DAAA;ACHJ;ADKI;EACI,UAAA;EACA,uBAAA;EACA,8BAAA;EACA,6DAAA;KAAA,0DAAA;ACHR;ADMI;EACI,mBAAA;ACJR;ADOI;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;EACA,aAAA;ACLR;;ADSA;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,6BAAA;EACA,oBAAA;EACA,mBAAA;EACA,eAAA;ACNJ;;ADSA;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;ACNJ;ADQI;EACI,mBAAA;EACA,gBAAA;EACA,YAAA;EACA,eAAA;ACNR;ADSI;EACI,aAAA;EACA,mBAAA;EACA,uBAAA;ACPR;ADSQ;EACI,WAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,eAAA;EACA,YAAA;EACA,oBAAA;ACPZ;ADSY;EACI,kBAAA;ACPhB;;ADaA;EACI,uBAAA;ACVJ;;ADaA;EACI,uBAAA;ACVJ;;ADaA;EACI,sBAAA;ACVJ;;ADaA;EACI,aAAA;EACA,uBAAA;EACA,mBAAA;ACVJ;;ADaA;EACI,kBAAA;ACVJ;ADYI;EACI,mBAAA;EACA,YAAA;EACA,uBAAA;EACA,eAAA;ACVR;ADWQ;EACI,UAAA;EACA,uBAAA;ACTZ;;ADcA;EACI,YAAA;EACA,aAAA;EACA,qBAAA;EACA,mBAAA;EACA,YAAA;ACXJ","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA;EACI,kBAAA;EACA,SAAA;EACA,YAAA;EACA,gBAAA;ACCJ;;ADEA;EACI,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,yDAAA;EACA,6BAAA;EACA,sBAAA;ACCJ;;ADEA;EACI,aAAA;EACA,8BAAA;EACA,kBAAA;EACA,WAAA;EACA,aAAA;EACA,8CAAA;EACA,6CAAA;UAAA,qCAAA;EACA,aAAA;ACCJ;;ADEA;EACI;IACI,+BAAA;ECCN;EDEE;IACI,6BAAA;ECAN;AACF;;ADPA;EACI;IACI,+BAAA;ECCN;EDEE;IACI,6BAAA;ECAN;AACF;ADGA;EACI,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,eAAA;EACA,eAAA;ACDJ;ADGI;EACI,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,yBAAA;ACDR;;ADKA;EACI,aAAA;EACA,YAAA;EACA,eAAA;EACA,wDAAA;EACA,2BAAA;EACA,sBAAA;EACA,YAAA;EACA,uBAAA;EACA,eAAA;EACA,6BAAA;EACA,mBAAA;EACA,6DAAA;KAAA,0DAAA;ACFJ;ADII;EACI,UAAA;EACA,uBAAA;EACA,8BAAA;EACA,6DAAA;KAAA,0DAAA;ACFR;ADKI;EACI,mBAAA;ACHR;ADMI;EACI,eAAA;EACA,iDAAA;EACA,4BAAA;EACA,2BAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;EACA,cAAA;EACA,mBAAA;EACA,uBAAA;ACJR;;ADQA;EACI,mBAAA;EACA,uBAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,6BAAA;EACA,oBAAA;EACA,mBAAA;EACA,eAAA;ACLJ;;ADQA;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;ACLJ;ADOI;EACI,mBAAA;EACA,gBAAA;EACA,YAAA;EACA,eAAA;ACLR;ADQI;EACI,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,UAAA;ACNR;ADQQ;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,oBAAA;EACA,UAAA;ACNZ;ADQY;EACI,kBAAA;ACNhB;;ADYA;EACI,uBAAA;ACTJ;;ADYA;EACI,uBAAA;ACTJ;;ADYA;EACI,sBAAA;ACTJ;;ADYA;EACI,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;ACTJ;;ADoBA;EACI,kBAAA;EACA,UAAA;EACA,kBAAA;ACjBJ;ADmBI;EACI,mBAAA;EACA,YAAA;EACA,uBAAA;EACA,eAAA;ACjBR;ADmBQ;EACI,UAAA;EACA,uBAAA;ACjBZ;;ADsBA;EACI,kBAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,YAAA;EACA,yBAAA;EACA,6BAAA;ACnBJ;;ADsBA;EACI,8BAAA;EACA,8DAAA;KAAA,2DAAA;EACA,qBAAA;EACA,UAAA;EACA,uBAAA;ACnBJ;;ADsBA;EACI,mBAAA;EACA,uBAAA;ACnBJ;;ADsBA;EACI,mBAAA;EACA,uBAAA;ACnBJ;;ADsBA;EACI,0CAAA;EACA,uBAAA;ACnBJ;;ADsBA;EACI,oBAAA;ACnBJ","file":"style.css"} \ No newline at end of file diff --git a/style.scss b/style.scss index 690d4d8f..93937085 100644 --- a/style.scss +++ b/style.scss @@ -1,7 +1,8 @@ body { position: relative; margin: 0; - height: 100vh; + height: 100%; + overflow: hidden; } .background { @@ -20,8 +21,8 @@ body { width: 100%; height: 100vh; background-image: url(./assets/Rain/water.png); - animation: water .3s linear infinite; - padding: 15px; + animation: water .4s linear infinite; + padding: 30px; } @keyframes water { @@ -36,25 +37,17 @@ body { .ancient-cards { display: flex; + align-items: center; justify-content: center; flex-wrap: wrap; max-width: 35vw; img { + position: relative; padding: 10px; - opacity: .7; border-radius: 30px; cursor: pointer; - transition-duration: 1s; - border: 20px solid transparent; - border-image: url(/assets/Gif/fire-65.gif) 47%/0/0 stretch; - - &:hover { - opacity: 1; - transition-duration: 1s; - border: 10px solid transparent; - border-image: url(/assets/Gif/fire-65.gif) 47%/2/0 stretch; - } + transition-duration: .2s; } } @@ -65,13 +58,13 @@ body { background-image: url(./assets/mythicCardBackground.png); background-position: center; background-size: cover; - opacity: .5; + opacity: .3; transition-duration: 1s; cursor: pointer; border: 5px solid transparent; border-radius: 10px; border-image: url(/assets/Gif/fire-65.gif) 47%/0/0 stretch; - + &:hover { opacity: 1; transition-duration: 1s; @@ -83,16 +76,24 @@ body { margin-bottom: 15px; } - &_level { + &-level { + max-width: 30vw; + background-image: url(./assets/Scroll/scroll.png); + background-repeat: no-repeat; + background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; - padding: 50px; + padding: 100px; + transform: scale(0); + transition-duration: 2s; } } .deck-of-cards { + transform: scale(0); + transition-duration: 2s; display: flex; flex-direction: column; align-items: center; @@ -119,15 +120,18 @@ body { display: flex; align-items: center; justify-content: center; + z-index: 1; input { + position: relative; width: 50px; height: 50px; border-radius: 50%; - padding: 20px; + text-align: center; font-size: 20px; color: white; pointer-events: none; + z-index: 2; &:not(:last-child) { margin-right: 10px; @@ -149,19 +153,31 @@ body { } .working { + position: relative; display: flex; justify-content: center; align-items: center; } +// .deck-of-playing-cards { +// position: absolute; +// border: 1px solid red; +// width: 200px; +// height: 280px; +// border-radius: 30px; +// } + .inverted-deck { + position: relative; + z-index: 2; margin-right: 50px; .deck { border-radius: 30px; - opacity: .8; + opacity: .4; transition-duration: 1s; cursor: pointer; + &:hover { opacity: 1; transition-duration: 1s; @@ -170,9 +186,39 @@ body { } .random-card { + position: relative; + z-index: 1; width: 200px; height: 280px; - border: 1px solid red; border-radius: 30px; opacity: .8; + transition-duration: .5s; + transform: translateX(-250px); +} + +.fire-border { + border: 10px solid transparent; + border-image: url(./assets/Gif/fire-65.gif) 47%/1/0 stretch; + transform: scale(1.1); + opacity: 1; + transition-duration: 1s; +} + +.show { + transform: scale(1); + transition-duration: 2s; +} + +.hide { + transform: scale(0); + transition-duration: 1s; +} + +.random-card.show { + transform: translateX(0px) rotateY(360deg); + transition-duration: 1s; +} + +.none-click { + pointer-events: none; } \ No newline at end of file