Advertisement
Maty_Malol

Untitled

Mar 8th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let block = document.getElementsByClassName('demo');
  2. const condom = document.getElementById('condom');
  3. let xx = document.getElementById('disOX');
  4. const akapity = xx.getElementsByTagName('p');
  5. var z = 0;
  6. let Char = 'X';
  7. let Char2 = 'O';
  8. var win = 0;
  9. var lose = 0;
  10. const click = new Audio('yes.wav');
  11. let odswiez = 0;
  12. let nrAkapitu= 1;
  13. let msgEnd= '';
  14.  
  15. function zmieni(){
  16.     if(z == 0){z++}
  17.     else if(z == 1){z--}
  18.     spr(z);                    
  19. }                                   //Ustawianie kolejno X O
  20. function spr(z){
  21.     if(z == 0){Char='X';Char2='O'}
  22.     else{Char='O';Char2='X'}
  23. }
  24.        
  25. for(var i=0; i<block.length; i++){
  26.         block[i].addEventListener('click', wypelnijXO);     //Przypisanie do klekcji block wydarzen
  27.         block[i].addEventListener('click',szuka);
  28.         block[i].addEventListener('click',zmieni);
  29.         block[i].addEventListener('click',errDuble);
  30. };
  31.  
  32. function szuka(){
  33.     for(var i=0; i<3; i++){
  34.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //pierwszy poziomy rzad
  35.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  36.             if(win==3){ for (var i=0; i<3; i++) {block[i].classList.add('winek')} jesliWin();return}   
  37.             if(lose==3){for (var i=0; i<3; i++) {block[i].classList.add('winek')} jesliLose();return}
  38.         }
  39.         win=0;
  40.         lose=0;
  41.        
  42.         for(var i=3; i<6; i++){
  43.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //drugi poziomy rzad
  44.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  45.             if(win==3){ for (var i=3; i<6; i++) {block[i].classList.add('winek')} jesliWin();return}   
  46.             if(lose==3){for (var i=3; i<6; i++) {block[i].classList.add('winek')} jesliLose();return}
  47.         }
  48.         win=0;
  49.         lose=0;
  50.        
  51.         for(var i=6; i<9; i++){
  52.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //trzeci poziomy rzad
  53.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  54.             if(win==3){ for (var i=6; i<9; i++) {block[i].classList.add('winek')} jesliWin();return}
  55.             if(lose==3){for (var i=6; i<9; i++) {block[i].classList.add('winek')} jesliLose();return}
  56.         }
  57.         win=0;
  58.         lose=0;
  59.        
  60.         for(var i=0; i<block.length; i+=3){
  61.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //pierwszy pionowy rzad
  62.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  63.             if(win==3){ for (var i=0; i<block.length; i+=3) {block[i].classList.add('winek')} jesliWin();return}
  64.             if(lose==3){for (var i=0; i<block.length; i+=3) {block[i].classList.add('winek')} jesliLose();return}
  65.         }
  66.         win=0;
  67.         lose=0;
  68.        
  69.         for(var i=1; i<block.length; i+=3){
  70.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //drugi pionowy rzad
  71.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  72.             if(win==3){ for (var i=1; i<block.length; i+=3) {block[i].classList.add('winek')} jesliWin();return}
  73.             if(lose==3){for (var i=1; i<block.length; i+=3) {block[i].classList.add('winek')} jesliLose();return}
  74.         }
  75.         win=0;
  76.         lose=0;
  77.        
  78.             for(var i=2; i<block.length; i+=3){
  79.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //trzeci pionowy rzad
  80.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  81.             if(win==3){ for (var i=2; i<block.length; i+=3) {block[i].classList.add('winek')} jesliWin();return}
  82.             if(lose==3){for (var i=2; i<block.length; i+=3) {block[i].classList.add('winek')} jesliLose();return}
  83.         }
  84.         win=0;
  85.         lose=0;
  86.        
  87.         for(var i=2; i<7; i+=2){
  88.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //na ukos od lewej do prawej
  89.             if(block[i].textContent=='O'){lose++; usunDdawanieXO(i)}
  90.             if(win==3){ for (var i=2; i<7; i+=2) {block[i].classList.add('winek')} jesliWin();return}
  91.             if(lose==3){for (var i=2; i<7; i+=2) {block[i].classList.add('winek')} jesliLose();return}
  92.         }
  93.         win=0;
  94.         lose=0;
  95.        
  96.         for(var i=0; i<9; i+=4){
  97.             if(block[i].textContent=='X'){ win++; usunDdawanieXO(i)}                                //na ukos od prawej do lewej
  98.             if(block[i].textContent=='O'){lose++;usunDdawanieXO(i)}
  99.             if(win==3){ for (var i=0; i<block.length; i+=4) {block[i].classList.add('winek')} jesliWin();return}
  100.             if(lose==3){for (var i=0; i<block.length; i+=4) {block[i].classList.add('winek')} jesliLose();return}
  101.         }
  102.         win=0;
  103.         lose=0;
  104.         odswiez++;
  105.         if(odswiez==9&&win==0&&lose==0){setTimeout(endRem,1000);setTimeout(odNow,6000)}
  106. }
  107.  
  108. function wypelnijXO(){
  109.     this.textContent = Char; this.style.cursor="default"; var msg = 'Kolej : ' + Char2; akapity[nrAkapitu].textContent = msg; click.play();nrAkapitu++;     //Wypisanie X lub O zmiana kursora i puszczenie dzwieku        
  110. }
  111.  
  112. function usunDdawanieXO(i){
  113.     block[i].removeEventListener("click", wypelnijXO)                                               //Uniemozliwienie zmiany
  114. }
  115.  
  116. function jesliWin(){
  117.     stop();
  118.     for (var i=0; i<block.length; i++){ block[i].style.cursor="default"; usunDdawanieXO(i)}; const seekWin =    document.getElementsByClassName('winek');
  119.     for (var i=0; i<3; i++){seekWin[i].style.color='#009900'} ;setTimeout(endX,1000);               //Gdy wygraja X
  120.     setTimeout(odNow,4500)
  121. }
  122.  
  123. function jesliLose(){
  124.     stop();
  125.     for (var i=0; i<block.length; i++){ block[i].style.cursor="default"; usunDdawanieXO(i)}; const seekWin = document.getElementsByClassName('winek');
  126.     for (var i=0; i<3; i++){seekWin[i].style.color='red'} ;setTimeout(endY,1000);                   //Gdy wygraja O
  127.     setTimeout(odNow,5500)
  128. }
  129. function odNow(){
  130.     location.reload()       //Odswiezenie strony
  131. }
  132. function endX(){                                                                                                        //Animacje
  133.         condom.style.justifyContent='center';condom.innerHTML='<div id="EndX"><span></span><br><br><br><br>WIN</div>'; 
  134. }
  135. function endY(){
  136.         condom.style.justifyContent='center';condom.innerHTML='<div id="EndO"><span>WIN</span><span></span><span></span><span><span></span></span></div>'
  137. }
  138. function endRem(){
  139.         condom.style.justifyContent='center';condom.innerHTML='<div id="EndRemis"><span>Remis</span><span><span></span></span><span></span><span></span></div>';
  140. }
  141. function errDuble(){
  142.     this.removeEventListener('click',zmieni);                                                               //blad z double clickiem
  143.     this.removeEventListener('click',szuka);
  144. }
  145. function stop(){
  146.     for(var i=0;i<9;i++){
  147.     block[i].removeEventListener('click', wypelnijXO);
  148.     block[i].removeEventListener('click',szuka);                                                //Uniemozliwieni czegokolwiek  
  149.     block[i].removeEventListener('click',zmieni);                                               //po skoniczonej grze
  150.     block[i].removeEventListener('click',errDuble);
  151. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement