Advertisement
giganciprogramowania

gigant-fit

Jun 9th, 2021
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. //tablica która będzie przechowwać nazwy ćwiczeń
  2. let tabCwiczenia = [];
  3. // zmienna przechowująca info jak długo będziemy ćwiczyć
  4. let czasCwiczenia;
  5. //zmienna przechowująca info jak długo będziemy odpoczywać po każdym ćwiczeniu
  6. let czasOdpoczynku;
  7. //zmienna przechowująca nazwę aktualnie wykonywanego ćwiczenia
  8. let aktualneCwiczenie;
  9. //zmienna przechowująca liczbę ćwiczeń
  10. let liczbaCwiczen;
  11. //czas na przygotowanie do treningu domyślnie ustawiony na 5s
  12. let czasPrzygotowania;
  13. //czas ochłodzenia domyślnie będzie równy długości każdego ćwiczenia czyli jeśli każde ćwiczenie wykonujemy po 30s to czas ochłodzenia=30s
  14. let czasOchlodzenia;
  15. //zmienna mająca dostęp do naszych ćwiczeń, które widnieją na liście
  16. let cwiczenia;
  17.  
  18. let liczbaSerii=0;
  19.  
  20. //zmienne mające dostęp do dźwięków
  21. const dzwiekPrzygotowanie = document.getElementById('dzwiekPrzygotowanie');
  22. const dzwiekStart = document.getElementById('dzwiekStart');
  23. const dzwiekNastepneCwiczenie=document.getElementById('dzwiekNastepneCwiczenie');
  24.  
  25.  
  26. //po kliknięciu na przycisk dodaj dodajemy nowe ćwiczenie do listy
  27. document.getElementById('przyciskDodaj').addEventListener('click', function() {
  28. dodanieCwiczenia()
  29. });
  30.  
  31. //zdarzenie na kliknięcie przycisku enter
  32. document.addEventListener('keyup', function(event) {
  33. if (event.keyCode == 13) {
  34. dodanieCwiczenia()
  35. }
  36. });
  37.  
  38. //kliknięcie przycisku reset odświeżamy stronę
  39. document.getElementById('przyciskReset').addEventListener('click', function() {
  40. window.location.reload();
  41. });
  42.  
  43. //funkcja dodająca nowe ćwiczenie
  44. function dodanieCwiczenia(){
  45.  
  46. let nowyElement = document.getElementById('cwiczenie').value.trim();
  47.  
  48. if (nowyElement != '') {
  49. document.getElementById('komunikat').textContent = '';
  50. document.getElementById('cwiczenie').value = '';
  51. document.getElementById('listaCwiczen').innerHTML +=
  52. "<li class='nazwaCwiczenia'>" + nowyElement + '</li>';
  53. } else {
  54. document.getElementById('komunikat').textContent = 'Podaj nazwę ćwiczenia';
  55. }
  56. }
  57.  
  58. //usuwanie ćwiczenia po jego kliknięciu na liście
  59. const lista = document.getElementById('listaCwiczen');
  60.  
  61.  
  62. lista.addEventListener('click', function(e) {
  63.  
  64. const elementListy=e.target;
  65.  
  66. this.removeChild(elementListy);
  67.  
  68. });
  69.  
  70.  
  71.  
  72.  
  73.  
  74. //po kliknięciu na przycisk start uruchamiamy trening
  75.  
  76. document.getElementById('przyciskStart').addEventListener('click', function() {
  77.  
  78. //przypisujemy kolekcję elementów nodeList do zmiennej będą to wszystkie nasze ćwiczenia na liście
  79. cwiczenia=document.querySelectorAll('.nazwaCwiczenia');
  80. //czyścimy tablicę ćwiczeń
  81. tabCwiczenia=[];
  82. //uzupełniamy naszą tablicę elementami, każdy element to nazwa ćwiczenia pobrany z listy
  83. for(let i=0; i<cwiczenia.length;i++){
  84. tabCwiczenia.push(cwiczenia[i].textContent);
  85.  
  86. }
  87.  
  88. //ukrywamy listę ćwiczeń w UI
  89. lista.style.display='none';
  90.  
  91. //pobiermay dane wprowadzone przez użytkownika oraz ustawiamy wartości startowe
  92. czasCwiczenia = document.getElementById('czasCwiczenia').value;
  93. czasOdpoczynku = document.getElementById('czasOdpoczynku').value;
  94. czasOchlodzenia = czasCwiczenia;
  95. aktualneCwiczenie = 0;
  96. czasPrzygotowania = 5;
  97. liczbaCwiczen = tabCwiczenia.length;
  98.  
  99. //sprawdzamy czy użytkownik podał wystkie dane
  100. if (!czasCwiczenia || !czasOdpoczynku || !liczbaCwiczen) {
  101. document.getElementById('komunikat').textContent =
  102. 'Uzupełnij poprawnie informacje dotyczące treningu.';
  103. }
  104.  
  105. else {
  106.  
  107. //miejsce na Twój kod GIGANCIE
  108. console.log('trening można rozpocząć');
  109.  
  110. document.getElementById('przyciskStart').disabled = true;
  111. document.getElementById('przyciskDodaj').disabled = true;
  112. document.getElementById('komunikat').textContent ='';
  113. liczbaSerii++;
  114. document.getElementById('liczbaSerii').textContent=liczbaSerii+' SERIA';
  115.  
  116. //metodę setInterval przypisujemy od zmiennej żebyśmy mieli możliowść zatrzymywać odliczanie po zakończonym treningu
  117. const zegar = setInterval(function() {
  118. //Przygotowanie do treningu
  119.  
  120. if (czasPrzygotowania > 0) {
  121.  
  122. dzwiekPrzygotowanie.play();
  123. document.getElementById('treningInfo').innerHTML ='<h2>Przygotuj się: ' + czasPrzygotowania + '</h2>';
  124. czasPrzygotowania--;
  125. }
  126.  
  127. else {
  128.  
  129. //ćwiczenie w toku
  130.  
  131. if (czasCwiczenia > 0) {
  132. if (czasCwiczenia == 1) dzwiekNastepneCwiczenie.play();
  133.  
  134. else if(czasCwiczenia==czasOchlodzenia) dzwiekStart.play();
  135.  
  136. document.getElementById('treningInfo').innerHTML ='<h3>Liczba ćwiczeń: ' +liczbaCwiczen +'</h3>' +'<h3> Aktualne ćwiczenie: ' +
  137. tabCwiczenia[aktualneCwiczenie] +'</h3>' +' <h2>Ćwicz przez: ' +czasCwiczenia +'</h2>';
  138. czasCwiczenia--;
  139. }
  140.  
  141. else {
  142. //Odpoczynek pomiędzy ćwiczeniami
  143. if (czasOdpoczynku > 0 && liczbaCwiczen != 1) {
  144. document.getElementById('treningInfo').innerHTML ='<h2>Odpoczynek: ' +czasOdpoczynku +'</h2>' +'<h3>Następne ćwiczenie: ' +
  145. tabCwiczenia[aktualneCwiczenie + 1] +'</h3>';
  146.  
  147. czasOdpoczynku--;
  148. }
  149.  
  150. //Ochłodzenie po zakończonym ostatnim ćwiczeniu
  151. else if (liczbaCwiczen == 1 && czasOchlodzenia > 0) {
  152. document.getElementById('treningInfo').innerHTML ='<h2>Ochłodzenie : ' + czasOchlodzenia + '</h2>';
  153. czasOchlodzenia--;
  154. }
  155.  
  156. //Koniec treningu
  157. else {
  158.  
  159. dzwiekStart.play();
  160. document.getElementById('treningInfo').innerHTML ='<h2>Koniec treningu!</h2>';
  161. document.getElementById('przyciskStart').disabled = false;
  162. document.getElementById('przyciskDodaj').disabled = false;
  163. clearInterval(zegar);
  164. lista.style.display='block';
  165.  
  166. }
  167.  
  168. //następne ćwiczenie
  169. if (czasOdpoczynku == 0 && liczbaCwiczen > 1) {
  170. aktualneCwiczenie++;
  171. liczbaCwiczen--;
  172. czasCwiczenia = document.getElementById('czasCwiczenia').value;
  173. czasOdpoczynku = document.getElementById('czasOdpoczynku').value;
  174. dzwiekStart.play();
  175. }
  176.  
  177. }
  178.  
  179. }
  180.  
  181. }, 1000);
  182. }
  183. });
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement