Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.52 KB | None | 0 0
  1. // import {allCards} from './modules/cards.js';
  2.  
  3.  
  4. const allCards = [{
  5. name: 'kent',
  6. img: 'images/kent.jpg',
  7.  
  8. },
  9. {
  10. name: 'verkligen',
  11. img: 'images/verkligen.jpg',
  12. },
  13. {
  14. name: 'isola',
  15. img: 'images/isola.jpg',
  16. },
  17. {
  18. name: 'hagnesta-hill',
  19. img: 'images/hagnesta-hill.jpg',
  20. },
  21. {
  22. name: 'vapen-o-ammunition',
  23. img: 'images/vapen-o-ammunition.jpg',
  24. },
  25. {
  26. name: 'du-och-jag-doden',
  27. img: 'images/du-och-jag-doden.jpg',
  28. },
  29. {
  30. name: 'tillbaka-till-samtiden',
  31. img: 'images/tillbaka-till-samtiden.jpg',
  32. },
  33. {
  34. name: 'rod',
  35. img: 'images/rod.jpg',
  36. },
  37. {
  38. name: 'en-plats-i-solen',
  39. img: 'images/en-plats-i-solen.jpg',
  40. },
  41. {
  42. name: 'jag-ar-inte',
  43. img: 'images/jag-ar-inte.jpg',
  44. },
  45. {
  46. name: 'tigerdrottningen',
  47. img: 'images/tigerdrottningen.jpg',
  48. },
  49. {
  50. name: 'da-som-nu',
  51. img: 'images/da-som-nu.jpg',
  52. bg: 'images/ros.jpg',
  53.  
  54. },
  55. ];
  56.  
  57.  
  58. // Spara spelplan i variabel och placera ut kortbehållare
  59. const board = document.getElementById('board');
  60. const cardContainer = document.createElement('div');
  61. cardContainer.setAttribute('class', 'cardContainer');
  62. board.appendChild(cardContainer);
  63.  
  64. // Skapa kopior av varje kort
  65. var allCardsCopy = allCards;
  66. const doubleImg = allCards.concat(allCardsCopy);
  67.  
  68. // Blanda korten innan de skrivs ut
  69. shuffle(doubleImg);
  70.  
  71. // Skriv ut kortens framsidor med respektive bild och tilldela dem klass
  72. doubleImg.forEach(item => {
  73. var card = document.createElement('img');
  74. card.classList.add('card');
  75. card.dataset.value = item.name;
  76. card.dataset.imgvalue = item.img;
  77.  
  78. cardContainer.appendChild(card);
  79. })
  80.  
  81.  
  82.  
  83. // Funktion som blandar alla kort
  84. function shuffle(array) {
  85. for (let i = 0; i < doubleImg.length; i++) {
  86. const j = Math.floor(Math.random() * (i + 1));
  87. [array[i], array[j]] = [array[j], array[i]];
  88. }
  89. return array;
  90. }
  91.  
  92. // Gör två kort klickbara
  93. var flippedCards = 0;
  94. var guessOne = '';
  95. var guessTwo = '';
  96. var points = 0;
  97.  
  98. // Poäng och meddelande
  99. var message = document.getElementById("message");
  100. var displayPoints = document.getElementById("points");
  101. displayPoints.innerHTML = points;
  102.  
  103. cardContainer.addEventListener('click', function(event) {
  104. // Gör så att endast korten är klickbara
  105. if (event.target.dataset.value == undefined) {
  106. return;
  107. }
  108. if (flippedCards < 2) {
  109. flippedCards++;
  110. event.target.classList.add('selectedCard');
  111. }
  112. if (flippedCards == 1) {
  113. guessOne = event.target.dataset.value;
  114. event.target.classList.add('noTarget'); // Gör att bilden ej är klickbar igen
  115. }
  116. event.target.src = event.target.dataset.imgvalue;
  117.  
  118. if (flippedCards == 2) {
  119. var selections = document.querySelectorAll('.selectedCard');
  120. guessTwo = event.target.dataset.value;
  121. console.log(flippedCards);
  122. if (guessOne === guessTwo) {
  123.  
  124. displayPoints.innerHTML = points;
  125. selections.forEach(card => {
  126. // card.classList.add('wonCards');
  127.  
  128. });
  129. flippedCards = 0;
  130. guessOne, guessTwo = '';
  131. message.innerHTML = "Och jag vet, jag har rätt, du har fel";
  132. setTimeout(function() {
  133. message.innerHTML = '';
  134. }, 2000);
  135. } else {
  136. selections.forEach(card => {
  137. message.innerHTML = "Gör fel, gör om, gör rätt";
  138. setTimeout(function() {
  139. card.classList.remove('selectedCard');
  140. flippedCards = 0;
  141. guessOne, guessTwo = ''
  142. card.classList.remove('noTarget'); // Gör bilder klickbara igen
  143. message.innerHTML = '';
  144. event.target.src = 'images/ros.jpg';
  145. }, 150);
  146. });
  147. }
  148. }
  149. })
  150.  
  151. //Timer
  152. function countdown() {
  153. var timeInSeconds = 60;
  154.  
  155. function clockTicking() {
  156. var counter = document.getElementById("gametimer");
  157. timeInSeconds--;
  158. counter.innerHTML = "Tiden går: 0:" + (timeInSeconds < 10 ? "0" : "") + String(timeInSeconds);
  159. if (timeInSeconds > 0) {
  160. setTimeout(clockTicking, 1000);
  161. } else {
  162. //alert("Spelet är slut");
  163. }
  164. }
  165. clockTicking();
  166. }
  167. countdown()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement