Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- function preload(){data=loadJSON("https://jordimario.neocities.org/Giochi/Memory/carteMemory.json")}//carica le carte
- frist=false //prima carta presa
- second=false//seconda carta presa
- rim=14; //carte rimanenti
- fristDraw=false
- wait=false //ferma una volta che si è scelta due carte
- N=-1 //Leva un bug che fa scegliere la stessa carta due volte
- //document.getElementsByClassName("flip-card").length
- 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
- arr.sort(function(a, b){return Math.floor(Math.random()*100)-Math.floor(Math.random()*100)}); //randomizza l'array
- //var x = document.getElementsByClassName("flip-card-back");//prende gli elemnti retro della carta
- //var y = document.getElementsByClassName("flip-card-front");//prende gli elemnti retro della carta
- //l'array di numeri una volta creato e mescolato posizionera i numeri nelle carte in ordine
- 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
- $(document).ready(function(){
- for(i=0;document.getElementsByClassName("flip-card-front")[i]!=undefined;i++)$(".flip-card-front:eq("+i+")").html(i)
- $(".flip-card-front").click(function(){
- if(!wait && $(this).text()!=N){//eseguira la funzione se il gioco non è in fase di 'wait' E se la carta è diversa
- 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
- //N=/\d\d?/.exec(N) //un numero puo essere di una cifra o di due cifre
- document.getElementsByClassName("flip-card-inner")[N].style.transform = "rotateY(180deg)" //animzione per far firare la carta sul numero scritto dalla carta
- if(!fristDraw) //se la prima carta non è stata qllora questo ciclo verra scelto
- fristDraw=N //il numero della carta verra memorizzata
- else{
- secondDraw=N //memorizza la seconda carta
- wait=true //setta il waiting per evitare di prendere piu di due carte alla volta e rompere lo script
- if(document.getElementsByClassName("flip-card-back")[fristDraw].innerHTML==document.getElementsByClassName("flip-card-back")[secondDraw].innerHTML)//confronta i due numeri delle carte
- {
- //alert("corretto")
- setTimeout(function(){ //aspetta 3 secondi per rigirare le carte e levare i blocchi
- 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
- switch (document.getElementById("Impostazione").value){
- case "0":
- document.getElementsByClassName("flip-card")[fristDraw].style.visibility="hidden" //fa scomparire le due carte
- document.getElementsByClassName("flip-card")[secondDraw].style.visibility="hidden" //fa scomparire le due carte
- break;
- case "1":
- $(".flip-card:eq("+fristDraw+")").hide("slow") //fa scomparire le due carte
- $(".flip-card:eq("+secondDraw+")").hide("slow") //fa scomparire le due carte
- break;
- default:
- $(".flip-card:eq("+fristDraw+")").hide("slow") //fa scomparire le due carte
- $(".flip-card:eq("+secondDraw+")").hide("slow") //fa scomparire le due carte
- }
- fristDraw=false //fa ritornare la pesca della prima carta falsa
- wait=false //sblocca subito le carte
- rim--
- }, 1000)
- }
- else{
- //alert("sbagliato")
- document.getElementById("Life").innerHTML++
- setTimeout(function(){ //aspetta 3 secondi per rigirare le carte e nascondere i blocchi
- document.getElementsByClassName("flip-card-inner")[secondDraw].style.transform = "rotateY(0deg)"
- document.getElementsByClassName("flip-card-inner")[fristDraw].style.transform = "rotateY(0deg)"
- fristDraw=false
- wait=false
- }, 1500);
- }
- N=-1//Resetta La variabile N per far scegliere due volte la stessa carta
- }
- }
- })
- })
- function draw(){
- noCanvas()
- 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
- var element = document.createElement("option"); //crea un elemento "option
- element.value=pos //inserisce nel nuovo elmento il value dell'indice
- var text = document.createTextNode(data.pacchetti[pos].label); //crea il nome del pachhetto utilizzando la proprietà label del pacchetto
- element.appendChild(text); //fonde il nome del pacchetto all'elemento
- var label = document.getElementById("Mazzo"); //prende il l'oggetto in cui si vuole aggingere l'elemento
- label.appendChild(element) //inserisce nell'elemento selezionato l'elemento creato
- }
- 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)}); //randomizza l'array
- 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"
- }
- }
- }
- }
- 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
- m=0;s=00;
- ///Tempo Trascorso
- timeSet=setInterval(function(){
- document.getElementById("Time").innerHTML= m +":"+ s
- s++
- if(s>=60){m++;s=0}
- if(rim<0){
- alert("Yee Bravo")
- clearInterval(timeSet);
- }
- }, 1000);
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement