Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Instrukcja if i wartosc zmiennej BOOLEAN
lucwebdesigntom
post 5.04.2019, 23:16:07
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.12.2014

Ostrzeżenie: (0%)
-----


Witam
Nie moge zrozumiec dlaczego instrukcja if nie dziala prawidlowo w tym ponizszym kodzie.
Na poczatku zadeklarowalem zmienna
var oneVisible = false;

i juz na samym poczatku instrukcji
if(oneVisible == false)

powinna przypisac zmiennej
var oneVisible = true;

i sie zaczymac i sprawdzic instruckje poprawnie i za drugim razem powinno przejsce do
else[b] i zwiekszyc licznik o jeden :

[b]$('.score').html('Turn counter: '+turnCounter);


lecz niestety wykonanie tej instrukcji zwieksza mi licznik na dwa.
Z tego wynika ze ta instrukcja nie dziala.
Prosilbym o podpowiedzi cos jest nie tak)


Kod
var oneVisible = false;
var turnCounter = 0;  
var visible_nr;

function revealCard(nr)
{
    var opacityValue = $('#c'+nr).css('opacity');
    
        var obraz = "url(img/" + cards[nr] + ")";
        
        $('#c'+nr).css('background-image', obraz);
        $('#c'+nr).addClass('cardA');
        $('#c'+nr).removeClass('card');
        
        if(oneVisible == false)
        {
            oneVisible = true;
            alert('one');}
        else
        {
            turnCounter++;
                        $('.score').html('Turn counter: '+turnCounter);
            oneVisible = false;
            alert('two');}
}
Go to the top of the page
+Quote Post
gitbejbe
post 6.04.2019, 20:01:19
Post #2





Grupa: Zarejestrowani
Postów: 515
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Cytat
i juz na samym poczatku instrukcji
if(oneVisible == false)

powinna przypisac zmiennej
var oneVisible = true;

no i przypisuje.

Cytat
i sie ZACZYMAC
serio ?!

Cytat
i sie zaczymac i sprawdzic instruckje poprawnie i za drugim razem powinno przejsce do

no i przechodzi. Wklej jak wywołujesz funkcję, oraz czy gdzieś dalej manipulujesz zmienną turnCounter.
Go to the top of the page
+Quote Post
lucwebdesigntom
post 6.04.2019, 23:57:09
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.12.2014

Ostrzeżenie: (0%)
-----


Dzieki za odpowiedz
Tutaj jest caly kod funkcji:

Kod
var cards = ["ciri.png","geralt.png","jaskier.png","jaskier.png","iorweth.png","triss.png","geralt.png","yen.png","ciri.png","triss.png","yen.png","iorweth.png"];

var c0 = document.getElementById("c0");
var c1 = document.getElementById("c1");
var c2 = document.getElementById("c2");
var c3 = document.getElementById("c3");

var c4 = document.getElementById("c4");
var c5 = document.getElementById("c5");
var c6 = document.getElementById("c6");
var c7 = document.getElementById("c7");

var c8 = document.getElementById("c8");
var c9 = document.getElementById("c9");
var c10 = document.getElementById("c10");
var c11 = document.getElementById("c11");

c0.addEventListener("click", function() {revealCard(0); });
c1.addEventListener("click", function() {revealCard(1); });
c2.addEventListener("click", function() {revealCard(2); });
c3.addEventListener("click", function() {revealCard(3); });

c4.addEventListener("click", function() {revealCard(4); });
c5.addEventListener("click", function() {revealCard(5); });
c6.addEventListener("click", function() {revealCard(6); });
c7.addEventListener("click", function() {revealCard(7); });

c8.addEventListener("click", function() {revealCard(8); });
c9.addEventListener("click", function() {revealCard(9); });
c10.addEventListener("click", function() {revealCard(10); });
c11.addEventListener("click", function() {revealCard(11); });

var oneVisible = false;
var turnCounter = 0;  
var visible_nr;

function revealCard(nr)
{
    var opacityValue = $('#c'+nr).css('opacity');
    
        var obraz = "url(img/" + cards[nr] + ")";
        
        $('#c'+nr).css('background-image', obraz);
        $('#c'+nr).addClass('cardA');
        $('#c'+nr).removeClass('card');
        
        if(oneVisible == false)
        {
            oneVisible = true;
            alert('jeden');}
        else
        {
            turnCounter++; $('.score').html('Turn counter: '+turnCounter);
            oneVisible = false;
            alert('dwa');}
}


Gra nazywa sie odnalezienie 2 takich samych obrazkow z kart.
Kod dziala na zasadzie odkrywaniu kart. Jak sie odkryje 2 karty to powinnien sie licznik zwiekszyc o 1, natomiast w moim przypadku licznika zwieksza sie po odkryciu 1 karty i kolejnej.... licznik powinien sie zwiekszac o jeden po kazdym odkryciu 2 kart, 4 kart, 6 kart itd
Dzieki za podpowiedz
Go to the top of the page
+Quote Post
gitbejbe
post 7.04.2019, 18:23:40
Post #4





Grupa: Zarejestrowani
Postów: 515
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


o matko boska.... dobrze że tylko 12 kart biggrin.gif żeś nawymyślał z tymi getElementById i addEventListener

  1. <div class="card" data-id="0"></div>
  2. <div class="card" data-id="1"></div>
  3. <div class="card" data-id="2"></div>
  4. // itd
  5.  
  6.  
  7. $(function() {
  8.  
  9. var turnCounter = 0;
  10. var cards = ["ciri.png","geralt.png","jaskier.png","jaskier.png","iorweth.png","triss.png","geralt.png","yen.png","ciri.png","triss.png","yen.png","iorweth.png"];
  11.  
  12.  
  13. $('.card').on('click', function()
  14. {
  15. var id = $(this).data('id');
  16. var opacityValue = $(this).css('opacity');
  17. var obraz = "url(img/" + cards[id] + ")";
  18.  
  19. if($(this).hasClass('clicked')) {
  20. console.log('nie zwiekszam turnCounter bo ta karta została już odkryta');
  21. }
  22. else {
  23. $(this).addClass('clicked');
  24. turnCounter++;
  25. }
  26.  
  27. if(turnCounter % 2 == 0)){
  28. alert('no i masz co 2 karty');
  29. }
  30. });
  31.  
  32. });
  33.  
  34.  


Ten post edytował gitbejbe 7.04.2019, 18:38:46
Go to the top of the page
+Quote Post
lucwebdesigntom
post 8.04.2019, 20:06:47
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.12.2014

Ostrzeżenie: (0%)
-----


Dzieki za pomoc. Juz dokonczylem sobie ta gierke:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 20:04