Advertisement
Jordimario

memory

Sep 24th, 2019
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  <script>
  2.   function preload(){data=loadJSON("https://jordimario.neocities.org/Giochi/Memory/carteMemory.json")}//carica le carte
  3.   frist=false //prima carta presa
  4. second=false//seconda carta presa
  5.   rim=14;           //carte rimanenti
  6.   fristDraw=false
  7.   wait=false      //ferma una volta che si è scelta due carte
  8.   N=-1            //Leva un bug che fa scegliere la stessa carta due volte
  9.   //document.getElementsByClassName("flip-card").length
  10. var arr=["0","0","1","1","2","2","3","3","4","4","5","5","6","6","7","7","8","8","9","9","10","10","11","11","12","12","13","13","14","14"] //array di carte
  11. arr.sort(function(a, b){return Math.floor(Math.random()*100)-Math.floor(Math.random()*100)}); //randomizza l'array
  12.  
  13. //var x = document.getElementsByClassName("flip-card-back");//prende gli elemnti retro della carta
  14. //var y = document.getElementsByClassName("flip-card-front");//prende gli elemnti retro della carta
  15.  
  16. //l'array di numeri una volta creato e mescolato posizionera i numeri nelle carte in ordine
  17.  
  18.   for(i=0;document.getElementsByClassName("flip-card-back")[i]!=undefined;i++)document.getElementsByClassName("flip-card-back")[i].innerHTML=arr[i]//posiziona per ogni carta un numero contenuto nell'array nell'array
  19.  
  20.  
  21. $(document).ready(function(){
  22.   for(i=0;document.getElementsByClassName("flip-card-front")[i]!=undefined;i++)$(".flip-card-front:eq("+i+")").html(i)
  23.  
  24.  
  25.  
  26.   $(".flip-card-front").click(function(){
  27.   if(!wait && $(this).text()!=N){//eseguira la funzione se il gioco non è in fase di 'wait' E se la carta è diversa
  28.     N=$(this).text()//prende il numero della carta generato dal jquery dentro la carta (il numero sulla pagina è invisibile) NB serve solo un elemento jquery per questo esercizio
  29.    
  30.     //N=/\d\d?/.exec(N)                                                                         //un numero puo essere di una cifra o di due cifre
  31.     document.getElementsByClassName("flip-card-inner")[N].style.transform = "rotateY(180deg)" //animzione per far firare la carta sul numero scritto dalla carta
  32.    
  33.     if(!fristDraw)  //se la prima carta non è stata qllora questo ciclo verra scelto
  34.     fristDraw=N     //il numero della carta verra memorizzata
  35.    
  36.     else{
  37.       secondDraw=N    //memorizza la seconda carta
  38.       wait=true       //setta il waiting per evitare di prendere piu di due carte alla volta e rompere lo script
  39.  
  40.         if(document.getElementsByClassName("flip-card-back")[fristDraw].innerHTML==document.getElementsByClassName("flip-card-back")[secondDraw].innerHTML)//confronta i due numeri delle carte
  41.         {
  42.          
  43.  
  44.           //alert("corretto")
  45.            setTimeout(function(){ //aspetta 3 secondi per rigirare le carte e levare i blocchi
  46.            document.getElementById("catches").innerHTML+="<div style=float:left><div class='flip-card'>"+$(".flip-card:eq("+secondDraw+")").html()+"</div></div>"//fa comparire le carte in un altra sezione
  47.            switch (document.getElementById("Impostazione").value){
  48.           case "0":
  49.           document.getElementsByClassName("flip-card")[fristDraw].style.visibility="hidden"   //fa scomparire le due carte
  50.           document.getElementsByClassName("flip-card")[secondDraw].style.visibility="hidden"   //fa scomparire le due carte
  51.           break;
  52.           case "1":
  53.           $(".flip-card:eq("+fristDraw+")").hide("slow")   //fa scomparire le due carte
  54.           $(".flip-card:eq("+secondDraw+")").hide("slow")  //fa scomparire le due carte
  55.           break;
  56.           default:
  57.           $(".flip-card:eq("+fristDraw+")").hide("slow")   //fa scomparire le due carte
  58.           $(".flip-card:eq("+secondDraw+")").hide("slow")  //fa scomparire le due carte
  59.           }
  60.           fristDraw=false                                     //fa ritornare la pesca della prima carta falsa
  61.           wait=false                                          //sblocca subito le carte
  62.           rim--
  63.            }, 1000)
  64.         }
  65.      
  66.         else{
  67.           //alert("sbagliato")
  68.           document.getElementById("Life").innerHTML++
  69.             setTimeout(function(){ //aspetta 3 secondi per rigirare le carte e nascondere i blocchi
  70.               document.getElementsByClassName("flip-card-inner")[secondDraw].style.transform = "rotateY(0deg)"
  71.               document.getElementsByClassName("flip-card-inner")[fristDraw].style.transform = "rotateY(0deg)"
  72.               fristDraw=false
  73.               wait=false
  74.             }, 1500);
  75.        
  76.         }
  77.      N=-1//Resetta La variabile N per far scegliere due volte la stessa carta
  78.     }
  79.  
  80.   }
  81. })
  82.  
  83. })
  84.  
  85. function draw(){
  86.   noCanvas()
  87.   for(pos=0;pos<data.pacchetti.length;pos++){ ///ciclo che continua finche l'indice non sarà piu grande del numero di pacchetti nel file json
  88.     var element = document.createElement("option");                 //crea un elemento "option
  89.     element.value=pos                                               //inserisce nel nuovo elmento il value dell'indice
  90.     var text = document.createTextNode(data.pacchetti[pos].label);  //crea il nome del pachhetto utilizzando la proprietà label del pacchetto
  91.     element.appendChild(text);                                      //fonde il nome del pacchetto all'elemento
  92.     var label = document.getElementById("Mazzo");                   //prende il l'oggetto in cui si vuole aggingere l'elemento
  93.     label.appendChild(element)                                      //inserisce nell'elemento selezionato l'elemento creato
  94.     }
  95.  
  96. var dbCarte=data.pacchetti[document.getElementById("Mazzo").value].carte
  97. dbCarte.sort(function(a, b){return Math.floor(Math.random()*100)-Math.floor(Math.random()*100)}); //randomizza l'array
  98.  
  99. for(arrpos=0;dbCarte[arrpos]!=undefined;arrpos++){
  100.  
  101. for(pos=0;document.getElementsByClassName("flip-card-back")[pos]!=undefined;pos++){  
  102.  
  103.     if(document.getElementsByClassName("flip-card-back")[pos].innerHTML==arrpos){
  104.       document.getElementsByClassName("flip-card-back")[pos].style.background="url("+dbCarte[arrpos]+") no-repeat right top"
  105.       document.getElementsByClassName("flip-card-back")[pos].style.backgroundSize="cover"
  106.     }
  107.   }
  108. }
  109. }
  110.  
  111. function cambioMazzo(){var dbCarte=data.pacchetti[document.getElementById("Mazzo").value].carte;dbCarte.sort(function(a, b){return Math.floor(Math.random()*100)-Math.floor(Math.random()*100)});for(arrpos=0;dbCarte[arrpos]!=undefined;arrpos++){for(pos=0;document.getElementsByClassName("flip-card-back")[pos]!=undefined;pos++){if(document.getElementsByClassName("flip-card-back")[pos].innerHTML==arrpos){document.getElementsByClassName("flip-card-back")[pos].style.background="url("+dbCarte[arrpos]+") no-repeat right top";document.getElementsByClassName("flip-card-back")[pos].style.backgroundSize="cover";}}}}///funzione uguale
  112.  
  113. m=0;s=00;
  114. ///Tempo Trascorso
  115. timeSet=setInterval(function(){
  116.   document.getElementById("Time").innerHTML= m +":"+ s
  117.   s++
  118.   if(s>=60){m++;s=0}
  119.  
  120.   if(rim<0){
  121.     alert("Yee Bravo")
  122.     clearInterval(timeSet);
  123.     }
  124.   }, 1000);
  125. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement