Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema risultato js e versione browser

    Sono arrivato alla creazione di un gioco fino a questo punto:

    codice:
    <html>
    <head>
    <title>Giochiamo</title>
    <script src="jquery.js" type="text/javascript"></script>
    <style type="text/css"> 
    <!-- 
    /*
     TABELLE 
    */
    #tab, #tab2, #tab3 {
    	width: auto;
    	height: auto;
    	background-color: #000;
    	border: 25px solid;
    	float: left;
    }
    /*
     TR NASCOSTI 
    */
    #content2, #content3, #content5, #content6 {
      display:none;
    }
    /*
     CELLE PULSANTI E NUMERI, CELLA PULSANTE VERIFICA, CELLA AIUTO, CELLA SCELTE, CELLA SPIEGAZIONI 
    */
    #crost1, #crost2, #crost3, #bot, #bot2, #gtr, #gtr2 {
      border: 3px solid #0000FF;
    	text-align: center;
    	font-family: Arial Black;
    	color: #FF0000;
    	background-color: #66ff66;
    }
    #crost1, #crost2, #crost3, #bot, #bot2 {
    	font-size: 40px;
    }
    #crost1, #crost2, #crost3, #bot, #bot2 {
    	height: 50px;
    }
    #crost1, #crost2, #crost3, #bot {
    	width: 100px;
    }
    #bot, #bot2, #gtr, #gtr2 {
    	cursor: pointer;
    }
    #gtr, #gtr2 {
    	width: 200px;
    	height: 196px;
    }
    /*
     MOVIMENTO CELLA SPIEGAZIONI 
    */
    .button-x {
    	cursor: pointer;
    	width: 100%;
    	height: 20px;
    	text-align: center;
    }
    #pax {
    width: 100%;
    height: 140px;
    position:relative;
    overflow:hidden;
    } 
    -->
    </style>
    <script type="text/javascript"> 
    <!--
    /** VARIABILI GLOBALI, RIUTILIZZATE PIU' VOLTE DURANTE IL GIOCO **/
    var tot1;
    var tot2;
    var mex1 = "VITTORIA GIOCATORE!!!";
    var mex2 = "VITTORIA COMPUTER!!!";
    var mex3 = "ERRORE!!!\nRICARICA LA PAGINA PER SICUREZZA";
    var mex4 = "HAI CLICCATO TROPPE VOLTE!!!\nPORTA PAZIENZA!!!";
    /** FUNZIONE INIZIALE RICHIAMATA POI DA XREM() PER RINIZIARE **/
    window.onload = function cresto() {
    /** NELLE TRE CELLE NUMERI VIENE SCRITTO 0, COSI' QUANDO RINIZIA IL GIOCO
    NON RIMANE TRACCIA DEI NUMERI PRECEDENTI. INOLTRE LA PRIMA FILA DI CELLE PULSANTI
    RIAPPARE (RESA INVISIBILE DOPO LA SCELTA DELL'ULTIMO NUMERO) **/
    document.getElementById("crost1").innerHTML=0;
    document.getElementById("crost2").innerHTML=0;
    document.getElementById("crost3").innerHTML=0;
    document.getElementById("content").style.display="block";
    /** VARIABILI CHE PRELEVANO IL CONTENUTO DALLE TRE CELLE NUMERI
    E VENGONO SOMMATE PER IL CONFRONTO **/
    A = document.getElementById('crost1');
    B = document.getElementById('crost2');
    C = document.getElementById('crost3');
    A2 = A*100;
    B2 = B*10;
    tot1 = A2+B2+C;
    /** OPERAZIONE MATEMATICA DI JS PER AVERE UN NUMERO A CASO A TRE CIFRE CON 1, 2, E 3.
    IL NUMERO DI POSSIBILITA' SONO 27 **/
    er1 = Math.floor(Math.random()*2+1);
    er2 = Math.floor(Math.random()*2+1);
    er3 = Math.floor(Math.random()*2+1);
    er11 = er1*100;
    er21 = er2*10;
    tot2 = er11+er21+er3;
    /** AIUTO PER IL GIOCATORE. SE ER3 (L'ULTIMO NUMERO) E' 2 ALLORA SCRIVE IL PRIMO MESSAGGIO,
    ATRIMENTI IL SECONDO. E' STATO AGGIUNTO ANCHE IL RISULTATO DELL'OPERAZIONE DI JS
    SOLTANTO PER TESTARE IL GIOCO. QUANDO SARA' ULTIMATO ESSO VERRA' TOLTO. QUANDO MI VERRANNO IN MENTE
    AGGIUNGERO' ALTRI AIUTI **/
    var mex3 = er3 == 2 ? "Numero Pari" : "Numero Dispari";
    document.getElementById("gtr").innerHTML=mex3+"
    "+tot2;
    /** LA CELLA PULSANTE VERIFICA VIENE DISABILITATA FINO A DOPO LA SCELTA DELL'ULTIMO NUMERO **/
    document.getElementById("bot2").disabled=true;
    };
    /** FUNZIONE TROPPI CLIC **/
    function troppi() {
    /** VIENE LANCIATO UN ALERT CON IL MESSAGGIO CONTENUTO NELLA VARIABILE MEX4 **/
    alert(mex4)};
    /** PRIMA FUNZIONE PER TROVARE IL NUMERO **/
    function xre(x) {
    /** NELLA FUNZIONE XRE, SE X VALE 1 SCRIVE, NELLA PRIMA CELLA NUMERI, 1 **/
    if (x == 1) {
    document.getElementById("crost1").innerHTML=1};
    /** NELLA FUNZIONE XRE, SE X VALE 2 SCRIVE, NELLA PRIMA CELLA NUMERI, 2 **/
    else if (x == 2) {
    document.getElementById("crost1").innerHTML=2};
    /** NELLA FUNZIONE XRE, SE X VALE 3 SCRIVE, NELLA PRIMA CELLA NUMERI, 3 **/
    else if (x == 3) {
    document.getElementById("crost1").innerHTML=3};
    /** NELLA FUNZIONE XRE, IN CASO DI MANCATO NUMERO (IMPOSSIBILE, MA INSERITO PER OGNI EVENIENZA)
    SCATTA UN ALLERT CHE AVVERTE DELL'ERRORE E CONSIGLIA DI RICARICARE LA PAGINA **/
    else {alert(mex3)};
    /** LA PRIMA FILA DI CELLE PULSANTI SCOMPARE E APPARE LA SECONDA FILA **/
    document.getElementById("content").style.display="none";
    document.getElementById("content2").style.display="block";
    };
    /** SECONDA FUNZIONE PER TROVARE IL NUMERO **/
    function xre2(y) {
    /** NELLA FUNZIONE XRE2, SE Y VALE 1 SCRIVE, NELLA SECONDA CELLA NUMERI, 1 **/
    if (y == 1) {
    document.getElementById("crost2").innerHTML=1;};
    /** NELLA FUNZIONE XRE2, SE Y VALE 2 SCRIVE, NELLA SECONDA CELLA NUMERI, 2 **/
    else if (y == 2) {
    document.getElementById("crost2").innerHTML=2;};
    /** NELLA FUNZIONE XRE2, SE Y VALE 3 SCRIVE, NELLA SECONDA CELLA NUMERI, 3 **/
    else if (y == 3) {
    document.getElementById("crost2").innerHTML=3;};
    /** NELLA FUNZIONE XRE2, IN CASO DI MANCATO NUMERO (IMPOSSIBILE, MA INSERITO PER OGNI EVENIENZA)
    SCATTA UN ALLERT CHE AVVERTE DELL'ERRORE E CONSIGLIA DI RICARICARE LA PAGINA **/
    else {alert(mex3)};
    /** LA SECONDA FILA DI CELLE PULSANTI SCOMPARE E APPARE LA TERZA FILA **/
    document.getElementById("content2").style.display="none";
    document.getElementById("content3").style.display="block";
    };
    /** TERZA FUNZIONE PER TROVARE IL NUMERO **/
    function xre3(z) {
    /** NELLA FUNZIONE XRE3, SE Z VALE 1 SCRIVE, NELLA TERZA CELLA NUMERI, 1 **/
    if (z == 1) {
    document.getElementById("crost3").innerHTML=1;};
    /** NELLA FUNZIONE XRE3, SE Z VALE 2 SCRIVE, NELLA TERZA CELLA NUMERI, 2 **/
    else if (z == 2) {
    document.getElementById("crost3").innerHTML=2;};
    /** NELLA FUNZIONE XRE3, SE Z VALE 3 SCRIVE, NELLA TERZA CELLA NUMERI, 3 **/
    else if (z == 3) {
    document.getElementById("crost3").innerHTML=3;};
    /** NELLA FUNZIONE XRE3, IN CASO DI MANCATO NUMERO (IMPOSSIBILE, MA INSERITO PER OGNI EVENIENZA)
    SCATTA UN ALLERT CHE AVVERTE DELL'ERRORE E CONSIGLIA DI RICARICARE LA PAGINA **/
    else {alert(mex3)};
    /** LA TERZA FILA DI CELLE PULSANTI SCOMPARE E VIENE ABILITATA LA CELLA PULSANTE VERIFICA **/
    document.getElementById("content3").style.display="none";
    document.getElementById("bot2").disabled=false;
    };
    /** FUNZIONE DI VERIFICA **/
    function xrem() {
    /** SE LA VARIABILE TOT1 E' UGUALE A TOT2, LA VARIABILE ALE PRENDE IL TESTO DELLA VARIABILE MEX1,
    IN CASO CONTRARIO IL TESTO PRESO SARA' DELLA VARIABILE MEX2 **/
    /** PARTE NON FUNZIONANTE, QUALSIASI RISULTATO SIA, ANCHE SCRIVENDO IL RISULTATO GIUSTO, TOT1 E' DIVERSO DA TOT2.
    NON TROVATA SOLUZIONE **/
    ale = tot1 == tot2 ? mex1 : mex2;
    /** DOPO LA VERIFICA VIENE LANCIATO UNA ALERT CON LA VARIABILE ALE **/
    alert(ale);
    /** IL GIOCO RINIZIA DA CAPO **/
    cresto();
    };
    /** BORDO MULTICOLORE **/
    function cambiacolore()
    {
    /** GENERO TRE NUMERI RANDOM DI VALORE COMPRESO TRA 1 E 256 **/
    var r = Math.round(Math.random()*256);
    var b = Math.round(Math.random()*256);
    var g = Math.round(Math.random()*256);
    var n = 0;
    /** CREO UN COLORE RGB LE TRE VARIABILI CALCOLATE **/
    colore_rgb1 = "rgb(" + r + "," + b + ", " + g + ")";
    colore_rgb2 = "rgb(" + r + "," + b + ", " + n + ")";
    colore_rgb3 = "rgb(" + r + "," + n + ", " + g + ")";
    /** APPLICO IL COLORE AL BORDO DELLA TABELLA **/
    tab.style.borderColor = colore_rgb1;
    tab2.style.borderColor = colore_rgb2;
    tab3.style.borderColor = colore_rgb3;
    }
    /** TEMPORIZZO IL TUTTO **/
    setInterval(cambiacolore,100);
    // -->
    </script>
    </head>
    <body>
    
    <table id="tab2">
    <tr>
    
    <td id="gtr"></td>
    </tr>
    </table>
    
    <table id="tab">
    <tr>
    
    
    <td id="crost1"></td>
    
    <td id="crost2"></td>
    
    <td id="crost3"></td>
    </tr>
    
    
    <tr id="content">
    <td id="bot" onclick="xre(1);" ondblclick="troppi()">1</td>
    <td id="bot" onclick="xre(2);" ondblclick="troppi()">2</td>
    <td id="bot" onclick="xre(3);" ondblclick="troppi()">3</td>
    </tr>
    
    <tr id="content2">
    <td id="bot" onclick="xre2(1);" ondblclick="troppi()">1</td>
    <td id="bot" onclick="xre2(2);" ondblclick="troppi()">2</td>
    <td id="bot" onclick="xre2(3);" ondblclick="troppi()">3</td>
    </tr>
    
    <tr id="content3">
    <td id="bot" onclick="xre3(1);" ondblclick="troppi()">1</td>
    <td id="bot" onclick="xre3(2);" ondblclick="troppi()">2</td>
    <td id="bot" onclick="xre3(3);" ondblclick="troppi()">3</td>
    </tr>
    
    <tr>
    <td colspan="3" id="bot2" onclick="xrem();">Verifica</td>
    </tr>
    </table>
    
    <table id="tab3">
    <tr id="#content4">
    
    <td id="gtr2">
    <div class="button-x">
    <center>
    Down
    Up
    Stop
    Top
    </center>
    </div>
    
    
    <SCRIPT language="JavaScript1.2"> 
    //Manual Scroller- © Dynamic Drive 2001
    //For full source code, visit http://www.dynamicdrive.com
    //specify speed of scroll (greater=faster)
    var speed=2
    iens6=document.all||document.getElementById
    ns4=document.layers
    if (iens6){
    document.write('<div id="pax">')
    document.write('<div id="pax2" style="position:absolute; width:90%; left:0px; top:0px;">')
    }
    </script>
    <ilayer name="nscontainer" clip="0,0,155,160">
    <layer name="nscontent" visibility="hidden">
    Lo scopo del gioco è di indovinare il numero pensato dal computer.
    Una volta fatto partire il gioco, il computer prende un numero a caso composto da tre cifre con i numeri 1, 2 e 3.
    Il giocatore deve cercare di indovinare il numero premendo in successione i pulsanti 1, 2 e 3 (esempio viene premuto 1 3 2).
    Se il numero scelto dal giocatore è uguale a quello che è stato scelto dal computer allora vince il giocatore, altrimenti vince il computer.
    Si hanno tre aiuti per facilitare il gioco.
    </layer>
    </ilayer>
    </td>
    </tr>
    </table>
    <script type="text/javascript"> 
    <!--
    if (iens6){
    document.write('</div></div>')
    var crossobj=document.getElementById? document.getElementById("pax2") : document.all.pax2
    var contentheight=crossobj.offsetHeight
    }
    else if (ns4){
    var crossobj=document.nscontainer.document.nscontent
    var contentheight=crossobj.clip.height
    }
    function movedown(){
    if (window.moveupvar) clearTimeout(moveupvar)
    if (iens6&&parseInt(crossobj.style.top)>=(contentheight*(-1)+100))
    crossobj.style.top=parseInt(crossobj.style.top)-speed+"px"
    else if (ns4&&crossobj.top>=(contentheight*(-1)+100))
    crossobj.top-=speed
    movedownvar=setTimeout("movedown()",20)
    }
    function moveup(){
    if (window.movedownvar) clearTimeout(movedownvar)
    if (iens6&&parseInt(crossobj.style.top)<=0)
    crossobj.style.top=parseInt(crossobj.style.top)+speed+"px"
    else if (ns4&&crossobj.top<=0)
    crossobj.top+=speed
    moveupvar=setTimeout("moveup()",20)
    }
    function stopscroll(){
    if (window.moveupvar) clearTimeout(moveupvar)
    if (window.movedownvar) clearTimeout(movedownvar)
    }
    function movetop(){
    stopscroll()
    if (iens6)
    crossobj.style.top=0+"px"
    else if (ns4)
    crossobj.top=0
    }
    function getcontent_height(){
    if (iens6)
    contentheight=crossobj.offsetHeight
    else if (ns4)
    document.nscontainer.document.nscontent.visibility="show"
    }
    // -->
    </script>
    </body>
    </html>
    Per visualizzare il sito è: CLICCA QUI

    Il problema viene nella funzione xrem(): quando viene schiacciato il tasto "Verifica" il codice dovrebbe verificare che "TOT1" sia uguale a "TOT2" (ale = tot1 == tot2 ? mex1 : mex2; allert(ale); ), ma qualsiasi risultato esso sia per il codice sono due numeri diversi... Come faccio a risolvere il problema?

    Poi c'è un secondo problema... Io ho sia ie sia google chrome... il codice funziona solo su ie e non sul secondo e non sò sulle altre versioni... come faccio a risolvere il problema?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    iens6=document.all||document.getElementById
    ns4=document.layers
    Questo è un indizio perché funziona solo con IE (funzionerebbe anche su netscape) per rendere questo codice funzionante anche su (firefox, chrome, safari, etc...) bisognerebbe modificarlo drasticamente (e forse riscriverlo)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ah.... e sai la soluzione al primo problema?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    No
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ah... il problema è k se non trovo la soluzione, ank rifacendolo sarei bloccato lo stesso... vabbe grazie del tuo aiuto...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.