• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript Wyłonienie zwycięzcy gra w kości

Object Storage Arubacloud
0 głosów
238 wizyt
pytanie zadane 1 czerwca 2018 w JavaScript przez Bartosz Kamiński Nowicjusz (170 p.)

Witam, są dwa przyciski losowania,po kliknieciu w przycisk losuje obrazek kostki(sa dwie kostki), nie umiem zrobić by po kliknieciu na dwa przyciski sprawdziło kto wyrzucil wiecej. Pomożecie?

	var numer = Math.floor(Math.random()*5)+1;
	var numer2 = Math.floor(Math.random()*5)+1;
	var kostka = "<img src=\"img/dice"+numer+".jpg\"/>";
	var kostka2 = "<img src=\"img/dice"+numer2+".jpg\"/>";
		
function rzutKostka()
	{

	document.getElementById("kostkaw").innerHTML = kostka;
		
	}
	

function rzutKostka2()
	{
		document.getElementById("kostkam").innerHTML = kostka2;

	}
	
	
<div id="kostkam" >
	<button type="submit" id="throwdicem" onclick="rzutKostka2()">Rzuć kostką</button>
	</div>
<div id="kostkaw">
  <button type="submit" id="throwdicew" onclick="rzutKostka()">Rzuć kostką</button>
 </div>
                 

 

 

 

1 odpowiedź

+1 głos
odpowiedź 1 czerwca 2018 przez shotokan Nałogowiec (39,660 p.)
wybrane 2 czerwca 2018 przez Bartosz Kamiński
 
Najlepsza

Wystarczy porównać zmienną numer ze zmienną numer2, która większa - wygrywa:)

komentarz 1 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)
Ale w jaka funkcje to obrac? Pierw musi sprawdzic czy dwie kostki sa wylosowane i wtedy porownac. Nwm jak funkcje zrobic by po wylosowaniu dwoch kostek porownalo ktory lepszy wynik
komentarz 1 czerwca 2018 przez shotokan Nałogowiec (39,660 p.)

Wnioskuję, że najpierw gracz klika pierwszy przycisk i losuje się kostka pierwsza, potem klika drugi przycisk i losuje się kostka druga więc do tego drugiego przycisku dodałbym instrukcję warunkową, która wyświetli wynik porównania tych zmiennych :)
Jak chcesz funkcję to utworzyłbym funkcję z tą instrukcją warunkową, a wywołanie tej funkcji umieściłbym w funkcji rzutKostka2().
Możesz (polecam), skorzystać z metody rejestracji zdarzeń czyli addEventListener().

komentarz 1 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)
Właśnie sa dwa przyciski i drugi gracz moze pierwszy wylosowac druga kostke a potem gracz pierwszy. Dlatego po wylosowaniu dwoch kostek funkcja powinna sprawdzic czy kostki zostaly wylosowany i porownac je
komentarz 1 czerwca 2018 przez shotokan Nałogowiec (39,660 p.)
Więc możesz pójść na łatwiznę i dodać trzeci przycisk - wynik - do niego przypiąć funkcję porównującą.
A jak nie to w obu funkcjach tworzysz instrukcję warunkową sprawdzającą, który przycisk wciśnięto i w zależności od tego wywołać funkcję sprawdzającą.
Jak sprawdzić, który przycisk kliknięto? Tworzysz zmienną i przypisujesz do niej np. 1 jeśli kliknięto w pierwszy przycisk lub 2 jeśli kliknięto w drugi przycisk :) Teraz tylko porównujesz wartość tej zmiennej i w zależności czy ma 1 czy 2 wywołujesz funkcję porównującą.
komentarz 1 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)
Pomozesz napisac ta instrukcje warunkowa bo nie za bardzo umiem albo jakis przyklad podobnej funkcji. Trzeci przycsik nie wchodzi w gre.
komentarz 1 czerwca 2018 przez shotokan Nałogowiec (39,660 p.)

Proszę bardzo:
kod JS

var numer = Math.floor(Math.random()*5)+1;
    var numer2 = Math.floor(Math.random()*5)+1;
    var kostka = "<img src=\"img/dice"+numer+".jpg\"/>";
    var kostka2 = "<img src=\"img/dice"+numer2+".jpg\"/>";
    var ktoryPrzycisk = 0;
         
function rzutKostka() {
 	ktoryPrzycisk++;
    document.getElementById("kostkaw").innerHTML = kostka;  
    if (ktoryPrzycisk == 2) {
    	zwyciezca();
    }
}
     
 
function rzutKostka2() {
    ktoryPrzycisk++;
    document.getElementById("kostkam").innerHTML = kostka2;
    if (ktoryPrzycisk == 2) {
    	zwyciezca();
    }
}
function zwyciezca() {
	if (numer > numer2) {
		document.getElementById("wynik").innerHTML = 'Wygrał gracz 1';
	}
	else if (numer < numer2) {
		document.getElementById("wynik").innerHTML = 'Wygrał gracz 2'; 
	}
	else {
		document.getElementById("wynik").innerHTML = 'Padł remis'; 
	}
}

kod HTML

<div id="kostkam" >
    <button type="submit" id="throwdicem" onclick="rzutKostka2()">Rzuć kostką</button>
    </div>
<div id="kostkaw">
  <button type="submit" id="throwdicew" onclick="rzutKostka()">Rzuć kostką</button>
 </div>
<div id="wynik"></div>

Zachęcam do przerobienia tego kodu, aby skorzystać z metody addEventListener(). :)

Podobne pytania

0 głosów
7 odpowiedzi 2,020 wizyt
+1 głos
2 odpowiedzi 169 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...