Problema con programma in Javascript : /

« Older   Newer »
 
  Share  
.
  1.     Like  
     
    .
    Avatar

    Hardcore Gamer

    Group
    Member
    Posts
    3,363
    Reputation
    0

    Status
    Offline
    Salve a tutti, mi presento, sono Tia ed è la prima volta che scrivo su questo forum ^^

    Sono venuto qui perchè ho un problema con un programma che sto facendo in HTML e Javascript, e sono alla ricerca di qualcuno che possa darmi un consiglio su come fare : )

    Allora, ora spiego: il mio obiettivo è creare una rudimentale slot machine, costituita da 3 serie di immagini (che ho allegato nel file .rar) che vengono avviate tutte assieme da un tasto "Avvia!" e vengono fermate ciascuna con l'apposito tasto, rispettivamente "Stop Slot 1!", "Stop Slot 2!" e "Stop Slot 3!". Il problema è che, una volta premuto il tasto "Avvia!", Firefox mi crasha : / Sapreste dirmi come devo modificare il programma in modo da fare funzionare il tutto correttamente?

    Inoltre, c'è anche un'altra funzione di cui vorrei dotare il programma per renderlo piu' completo: la possibilità di fare uscire a schermo un alert con scritto "Hai vinto!" nel caso in cui ogni slot si sia fermata sulla stessa immagine... E' possibile farlo?

    Qui sotto allego sia il programma che le immagini per chiunque sia interessato a darmi una mano ^^

    SPOILER (click to view)
    <html>
    <head>
    <script language="Javascript">
    a=new Array("Dado6.jpg","Dado1.jpg","Dado4.jpg","Dado2.jpg","Dado5.jpg","Dado3.jpg")
    b=new Array("Dado5.jpg","Dado2.jpg","Dado3.jpg","Dado4.jpg","Dado1.jpg","Dado6.jpg")
    c=new Array("Dado2.jpg","Dado4.jpg","Dado6.jpg","Dado1.jpg","Dado3.jpg","Dado5.jpg")
    x=0
    y=0
    z=0
    function carica()
    {
    if(x==5) x=0;
    if(x==4) x=5;
    if(x==3) x=4;
    if(x==2) x=3;
    if(x==1) x=2;
    if(x==0) x=1;
    document.images.p1.src=a[x];
    document.images.p2.src=b[x];
    document.images.p3.src=c[x];
    R=setTimeout("carica()",50);
    S=setTimeout("carica()",50);
    T=setTimeout("carica()",50);
    }
    function Ferma1()
    {
    clearTimeout(R);
    }
    function Ferma2()
    {
    clearTimeout(S);
    }
    function Ferma1()
    {
    clearTimeout(T);
    }
    </script>
    </head>
    <body>
    <form name="f1">
    <img src="Dado1.jpg" name="p1">
    <img src="Dado1.jpg" name="p2">
    <img src="Dado1.jpg" name="p3">

    <input type="button" name="max" value="Avvia!" onClick="carica()">

    <input type="button" name="Stop Slot 1" value="Stop Slot 1!" onClick="Ferma1()">
    <input type="button" name="Stop Slot 2" value="Stop Slot 2!" onClick="Ferma2()">
    <input type="button" name="Stop Slot 3" value="Stop Slot 3!" onClick="Ferma3()">
    </form>
    </body>
    </html>

    Immagini Slot Machine

    Grazie a tutti per l'eventuale aiuto ^^
     
    .
  2. Suhosin
        Like  
     
    .

    User deleted


    Ciao, ho fatto qualche modifica
    SPOILER (click to view)
    HTML
    <html>
    <head>
    </head>
    <body>
    <form name="f1">
    <img src="Dado1.jpg" name="p1">
    <img src="Dado1.jpg" name="p2">
    <img src="Dado1.jpg" name="p3">

    <input type="button" id="max" value="Avvia!" onClick="carica();">

    <input type="button" id="Stop1" value="Stop Slot 1!" onClick="ferma(1)">
    <input type="button" id="Stop2" value="Stop Slot 2!" onClick="ferma(2)">
    <input type="button" id="Stop3" value="Stop Slot 3!" onClick="ferma(3)">
    </form>
    <script type="text/javascript">
    a=new Array("Dado6.jpg","Dado1.jpg","Dado4.jpg","Dado2.jpg","Dado5.jpg","Dado3.jpg")
    b=new Array("Dado5.jpg","Dado2.jpg","Dado3.jpg","Dado4.jpg","Dado1.jpg","Dado6.jpg")
    c=new Array("Dado2.jpg","Dado4.jpg","Dado6.jpg","Dado1.jpg","Dado3.jpg","Dado5.jpg")

    function carica(){
    document.getElementById('max').disabled=true;
    tira(1);tira(2);tira(3);
    }

    function tira(dado){
    x = Math.round(Math.random()*(5));
    eval('document.images.p'+dado+'.src=a[x]');
    eval("dado"+dado+" = setTimeout('tira('+dado+')', 50)");
    }


    function ferma(dado){
    eval('clearTimeout(dado'+dado+')');
    document.getElementById('Stop'+dado).disabled=true;
    if(document.getElementById('Stop1').disabled && document.getElementById('Stop2').disabled && document.getElementById('Stop3').disabled){
    document.getElementById('max').disabled=false; document.getElementById('Stop1').disabled=false; document.getElementById('Stop2').disabled=false; document.getElementById('Stop3').disabled=false
    if(document.images.p1.src == document.images.p2.src && document.images.p2.src == document.images.p3.src){
    alert('Hai vinto!')
    }
    else{
    alert('Hai perso!')
    }
    }
    }
    </script>
    </body>
    </html>

    Le modifiche le ho fatte un po' velocemente e ci sono molte cose da rivedere, dopo un lungo stop devo ancora ripassare javascript. :P
     
    .
  3.     Like  
     
    .
    Avatar

    Hardcore Gamer

    Group
    Member
    Posts
    3,363
    Reputation
    0

    Status
    Offline
    Grazie mille, sei stato gentilissimo ^^
     
    .
2 replies since 1/2/2010, 18:49   196 views
  Share  
.