//tablica przechowująca punkt graczy let punkty=[]; //punkty które zdobywa gracz po każdym rzucie kością let punktyRundy; //zmienna sterująca graczami jeśli równa 0 gra gracz1 jeśli równa 1 gra gracz2 //jako że w programowaniu numerujemy od 0, gracz1 będzie miał wartość 0 gracz2 wartość 1 ułatwi to pobieranie punktów z tablicy let aktualnyGracz; //zmienna boolowska sterująca rozgrywką jeśli true możemy grać jeśli false rozgrywka będzie niemożliwa let czyMoznaGrac; //dodajemy tablicę, która przechowa adresy do grafik z kością const obrazki=["https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-1.png?v=1610038358032", "https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-2.png?v=1610038358080", "https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-3.png?v=1610038358032", "https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-4.png?v=1610038358142", "https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-5.png?v=1610038358032", "https://cdn.glitch.com/8fbc579f-3346-47a0-abbc-945a83abb962%2Fkosc-6.png?v=1610038358193"]; //funkcja odpowiedzialna za przygotowanie nowej gry nowaGra(); function nowaGra(){ //zezwalamy na grę czyMoznaGrac=true; //grę zawsze rozpoczyna gracz 1 aktualnyGracz=0; //ukrywamy kosc na początku gry document.querySelector('.kosc').style.display='none'; //zerujemy wszystkie wyniki punkty=[0,0]; punktyRundy=0; //aktualizujemy interfejs użytkownika z punktami document.getElementById('wynik-0').textContent='0'; document.getElementById('wynik-1').textContent='0'; document.getElementById('aktualne-punkty-0').textContent='0'; document.getElementById('aktualne-punkty-1').textContent='0'; //zmieniamy nazwy na Gracz1 i Gracz2 ponieważ podczas rozgrywki będziemy modyfikować te elementy ustawiająć tekst zwycięstwo document.getElementById('nazwa-0').textContent = 'Gracz 1'; document.getElementById('nazwa-1').textContent = 'Gracz 2'; //usuwamy klasę zwycięstwo odpowiedzialną za podmianę tekstu Gracz1/2 na zwycięstwo document.querySelector('.gracz-0-panel').classList.remove('zwyciestwo'); document.querySelector('.gracz-1-panel').classList.remove('zwyciestwo'); // usuwamy klasę aktywny odpowiedzialną za wskazywanie aktualnego gracza document.querySelector('.gracz-0-panel').classList.remove('aktywny'); document.querySelector('.gracz-1-panel').classList.remove('aktywny'); //dodajemy klasę aktywny do Gracza1 ponieważ to on zawsze zaczyna grę document.querySelector('.gracz-0-panel').classList.add('aktywny'); } document.querySelector('.btn-nowa-gra').addEventListener('click', nowaGra); //dodajemy wykrywacz zdarzeń na naszej stronie, ten konkretny będzie wykrywać kliknięcie na przycisk Rzuć kością //tworzymy funkcję anonimową- taką bez nazwy, którą wykorzystamy tylko w tym danym kontekście i nie będziemy z niej mogli skorzystać poza document.querySelector('.btn-rzuc').addEventListener('click',function(){ if(czyMoznaGrac){ const liczbaOczek = Math.floor(Math.random()*6)+1 const koscObrazek=document.querySelector('.kosc'); koscObrazek.src=obrazki[liczbaOczek-1]; koscObrazek.style.display = 'block'; if(liczbaOczek!=1){ punktyRundy += liczbaOczek; document.querySelector('#aktualne-punkty-'+aktualnyGracz).textContent = punktyRundy; } else { nastepnyGracz(); } } }); function nastepnyGracz() { //tutaj będziemy robić dziś aktualnyGracz == 0 ? aktualnyGracz = 1 : aktualnyGracz = 0; punktyRundy = 0; //zerowanie wyswietlanych punktow document.getElementById('aktualne-punkty-0').textContent='0'; document.getElementById('aktualne-punkty-1').textContent='0'; //zmieniamy z reove na toggle document.querySelector('.gracz-0-panel').classList.toggle('aktywny'); document.querySelector('.gracz-1-panel').classList.toggle('aktywny'); }; document.querySelector('.btn-zatrzymaj').addEventListener('click', function() { if(czyMoznaGrac) { //dodac punkty do gracza ktory sie rusza aktualnie punkty[aktualnyGracz] += punktyRundy; document.querySelector('#wynik-'+aktualnyGracz).textContent = punkty[aktualnyGracz]; //sprawdzac wygrana if (punkty[aktualnyGracz] >= 100) { czyMoznaGrac = false; //zmiana nazwy i nie wyswietlanie kosci document.querySelector('#nazwa-'+aktualnyGracz).textContent = "Wygrana!"; document.querySelector('.kosc').style.display = 'none'; document.querySelector('.gracz-' + aktualnyGracz + '-panel').classList.add('zwyciestwo'); } else { //przelaczenie gracza gotowa juz fukcja nastepnyGracz(); } } });