Advertisement
giganciprogramowania

kzg strony starter

Aug 12th, 2024
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.06 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1" />
  6. <!-- tutaj dodaj tytuł dla strony-->
  7. <!-- tutaj dodaj ikonę dla strony-->
  8. <link rel="stylesheet" href="style.css" />
  9. <script src="script.js" defer></script>
  10. </head>
  11. <body>
  12. <!-- dodaj nagłówek h1 o treści z tytułem -->
  13. <div id="kontener">
  14. <div id="naglowek">
  15. <!-- dodaj nagłówek h2 z tekstem SteAIva i id="dymek"-->
  16. </div>
  17.  
  18. <div id="lewo">
  19. <!-- dodaj obrazek bohatera i ustaw mu wysokość 500 -->
  20. </div>
  21.  
  22. <div id="srodek">
  23. <div id="siatka">
  24. <button class="element" data-index="0" onclick="toggleActive(0)"></button>
  25. <button class="element" data-index="1" onclick="toggleActive(1)"></button>
  26. <button class="element" data-index="2" onclick="toggleActive(2)"></button>
  27. <button class="element" data-index="3" onclick="toggleActive(3)"></button>
  28. <button class="element" data-index="4" onclick="toggleActive(4)"></button>
  29. <button class="element" data-index="5" onclick="toggleActive(5)"></button>
  30. <button class="element" data-index="6" onclick="toggleActive(6)"></button>
  31. <button class="element" data-index="7" onclick="toggleActive(7)"></button>
  32. <button class="element" data-index="8" onclick="toggleActive(8)"></button>
  33. </div>
  34. </div>
  35.  
  36. <div id="prawo">
  37. <!-- dodaj nagłówek h2 z id="odpowiedz"-->
  38. </div>
  39. </div>
  40. </body>
  41. </html>
  42.  
  43.  
  44.  
  45. @import url('https://fonts.googleapis.com/css2?family=Bungee+Outline&family=Lato&family=Press+Start+2P&display=swap');
  46.  
  47. body {
  48. height: 100vh;
  49. /* obrazkowe tło */
  50. background-color: #6a8394;
  51. font-family: 'Lato', Arial, sans-serif;
  52. text-align: center;
  53. font-size: 18px;
  54. }
  55.  
  56. h1{
  57. font-family: 'Press Start 2P', Arial;
  58. /* kolor tekstu na zielony */
  59. text-shadow: black 5px 5px 2px;
  60. font-size: 60px;
  61. }
  62.  
  63. #kontener{
  64. background: #c6c6c6dd;
  65. min-height: 700px;
  66. width:60%;
  67. margin: 50px auto;
  68. padding: 40px;
  69. /* dodajemy ramkę do okienka */
  70. }
  71.  
  72. #naglowek{
  73. width: 100%;
  74. text-align: center;
  75. }
  76.  
  77. #lewo{
  78. width: 35%;
  79. float: left;
  80. text-align: right;
  81. }
  82.  
  83. #dymek{
  84. padding: 40px;
  85. margin: auto;
  86. max-width: 500px;
  87. min-height: 150px;
  88. background: url('https://cdn.glitch.global/ecf4df02-f0c0-4c48-ad05-84fc22c9a327/dymek.png?v=1723120143585') no-repeat;
  89. }
  90.  
  91. #srodek{
  92. width: 30%;
  93. float:left;
  94. text-align: center;
  95. padding-top: 50px;
  96. }
  97.  
  98. #prawo{
  99. width: 35%;
  100. float: left;
  101. text-align: center;
  102. }
  103.  
  104. #odpowiedz {
  105. padding: 35px;
  106. padding-top: 17%;
  107. background: url('https://cdn.glitch.global/ecf4df02-f0c0-4c48-ad05-84fc22c9a327/dymek-boczny.png?v=1723120143925') no-repeat;
  108. height: 300px;
  109. width: 250px;
  110. }
  111.  
  112.  
  113. #siatka {
  114. display: grid;
  115. justify-content: center;
  116. grid-template-columns: repeat(3, 100px);
  117. grid-template-rows: repeat(3, 100px);
  118. }
  119.  
  120. .element{
  121. width: 100px;
  122. height: 100px;
  123. background-color: #8b8b8b;
  124. border: 5px groove white;
  125. font-size: 24px;
  126. /* zmieniamy styl kursora na pointer */
  127. }
  128.  
  129. .element.active {
  130. background: url("https://cdn.glitch.global/ecf4df02-f0c0-4c48-ad05-84fc22c9a327/pytajnik.png?v=1723120145413") #fdbf89;
  131. color: #ffffff;
  132. }
  133.  
  134. /* Dodajemy regułę :hover zmieniającą kolor tła przycisku */
  135.  
  136.  
  137.  
  138.  
  139. /* Zdarzenie zapisujące do pamięci programu wszystkie przyciski istniejące na stronie, podczas pierwszego uruchomienia strony i zapisujące ich statusy aktywności(wciśnięty/niewciśnięty) */
  140. document.addEventListener("DOMContentLoaded", () => {
  141. const gridItems = document.querySelectorAll(".element");
  142.  
  143. window.toggleActive = function(index) {
  144. const item = gridItems[index];
  145. item.classList.toggle("active");
  146. checkCrafting();
  147. }
  148.  
  149. /* Funkcja sprawdzająca atualnie aktywne przyciski i porównująca je z nauczonymi wzorcami przedmiotów*/
  150. function checkCrafting() {
  151. const activeIndexes = [];
  152. gridItems.forEach((item, index) => {
  153. if (item.classList.contains("active")) {
  154. activeIndexes.push(index);
  155. }
  156. });
  157.  
  158. let result = "Hmm.. o co Ci może chodzić...";
  159.  
  160. //Instrukcje warunkowe sprawdzające konkretny wzorzec i przypisujące odpowiedni tekst
  161. if (arraysEqual(activeIndexes, [1, 4, 7])) {
  162. result = "Tworzymy łopatę lub miecz?";
  163. } else if (arraysEqual(activeIndexes, [0, 1, 2, 4, 7])) {
  164. result = "Tworzymy kilof?";
  165. } else if (arraysEqual(activeIndexes, [6, 4, 2])) {
  166. result = "Tworzymy nożyce?";
  167. } else if (arraysEqual(activeIndexes, [0, 1, 3, 4, 7])) {
  168. result = "Tworzymy siekierę?";
  169. } else if (arraysEqual(activeIndexes, [0, 1, 3, 5, 6, 7])) {
  170. result = "Tworzymy łuk?";
  171. } else if (arraysEqual(activeIndexes, [1, 2, 3, 5, 7, 8])) {
  172. result = "Tworzymy łuk?";
  173. } else if (arraysEqual(activeIndexes, [2, 4, 5, 6, 8])) {
  174. result = "Tworzymy wędkę?";
  175. } else if (arraysEqual(activeIndexes, [0, 1, 4, 7])) {
  176. result = "Tworzymy motykę?";
  177. } else if (arraysEqual(activeIndexes, [4, 7])) {
  178. result = "Tworzymy pochodnię lub dźwignię?";
  179. } else if (arraysEqual(activeIndexes, [0, 1, 2, 3, 4, 5, 6, 7, 8])) {
  180. result = "Nie tak łatwo stworzyć wszystko :)";
  181. }
  182.  
  183.  
  184. /* *ZADANIE*
  185. Po tej klamrze możemy dopisać kolejne przedmioty na wzór poprzednich.
  186. Komendę zaczynamy od "else if(...".
  187.  
  188. Przyciski opisane są w konfiguracji:
  189. 0 1 2
  190. 3 4 5
  191. 6 7 8
  192.  
  193. */
  194.  
  195. document.getElementById("odpowiedz").textContent = result;
  196. }
  197.  
  198. function arraysEqual(a, b) {
  199. return JSON.stringify(a) === JSON.stringify(b);
  200. }
  201. });
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement