Visualizzazione risultati 1 fino 16 di 16

Discussione: Aiuto Javascript.

  1. #1
    Guest

    Predefinito Aiuto Javascript.

    Salve a tutti, volevo gentilmente chiedere un aiuto riguardante un semplice programma Javascript che dovrei svolgere. Essendo alle prime armi non so come fare. Il programma ha una traccia che scriverò quì di seguito, dove in teoria ho già iniziato a svolgerlo, senza però svolgere quella particolare richiesta che chiede la traccia.

    La traccia del programma è questa:

    "Dati tre pulsanti – DESTRO, SINISTRO e CENTRALE – scrivi un programma Javascript che visualizzi OK solo se si sono premuti i tre pulsanti nel seguente ordine: prima il SINISTRO, poi il DESTRO e poi il CENTRALE."

    Come dicevo sopra, ho iniziato a fare il programma solo che non saprei come fare per svolgere la funzione di premere in ordine i tre pulsanti, (Sinistro, Destro e Centrale) e far visualizzare ok solo se si sono premuti in questo ordine.

    Il programma che ho iniziato è questo:

    Codice:
    <html>
    <head>
    <script type="text/javascript">
    function sinistra()
    {
    alert ("Hai premuto il pulsante sinistro!");
    }
    function centrale()
    {
    alert ("Hai premuto il pulsante centrale!");
    }
    function destra()
    {
    alert ("Hai premuto il pulsante destro!");
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()"></button>
    <button type="button" onclick="centrale()"></button>
    <button type="button" onclick="destra()"></button>
    
    </center>
    </font>
    
    
    </body>
    </html>
    Chiedo gentilmente un aiuto, per la funzione dell'ordine dei tre pulsanti.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Userei una variabile globale per tener conto dello stato (e quindi dell'ultimo pulsante premuto).

    Essendo un esercizio, è bene che tu lo faccia da solo.

    p.s: occhio che i tag <center> e <font> sono deprecati! E anche le proprietà ad esempio background andrebbero sostituite con css.

    Ciao!
    Ultima modifica di alemoppo : 26-01-2015 alle ore 18.57.11

  3. #3
    Guest

    Predefinito

    Capisco, provvederò con i tag. Riguardo al programma non potrebbe darmi una mano? Sono alle prime armi e volevo un piccolo aiuto. La ringrazio comunque per la risposta!

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Ovviamente tutti gli alert() andrebbero tolti e lasciato soltanto l'ultimo che scrive "OK". Una minima modifica:

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var stato = 0;
    function sinistra()
    {
       if(stato == 0)
       {
          alert("Ok, hai premuto bene");
          //qui dovresti modificare "stato"
       }
       else
          alert ("Hai premuto il pulsante sinistro!");
    }
    function centrale()
    {
    alert ("Hai premuto il pulsante centrale!");
    }
    function destra()
    {
    alert ("Hai premuto il pulsante destro!");
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()"></button>
    <button type="button" onclick="centrale()"></button>
    <button type="button" onclick="destra()"></button>
    
    </center>
    </font>
    
    
    </body>
    </html>

  5. #5
    Guest

    Predefinito

    Innanzitutto ti ringrazio per l'aiuto, molto gentile

    Dunque, ho provveduto a rimuovere gli alert(), cosa mi resta da fare?

    Ecco l'aggiornamento:

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var stato = 0;
    function sinistra()
    {
       if(stato == 0)
       {
          alert("Ok, hai premuto bene");
          //qui dovresti modificare "stato"
       }
       else
          alert ("Hai premuto il pulsante sinistro!");
    }
    function centrale()
    {
    }
    function destra()
    {
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()"></button>
    <button type="button" onclick="centrale()"></button>
    <button type="button" onclick="destra()"></button>
    
    </center>
    </font>
    
    
    </body>
    </html>

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da bbbbbbbbbbbbbbbbbbbbbbbb Visualizza messaggio
    Dunque, ho provveduto a rimuovere gli alert(), cosa mi resta da fare?
    Finire l'esercizio . Non possiamo fartelo noi, altrimenti sarebbe inutile.

    Ciao!

  7. #7
    Guest

    Predefinito

    Se ci arrivavo l'avrei fatto, però essendo all'inizio trovo delle difficoltà e penso lei possa capirmi. Se è possibile aiutarmi con la soluzione, perchè non ho molto tempo per poter imparare ora il linguaggio. La ringrazio ancora per la risposta.

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Ti ho scritto una buona parte di soluzione. Praticamente ogni volta che entri in una funzione devi controllare se il tasto premuto precedentemente è quello corretto, controllando nella variabile "stato".

    Se non hai tempo di imparare il linguaggio, perché devi farci degli esercizi?

    Ciao!

  9. #9
    Guest

    Predefinito

    Si lo so e non basta ringraziarla... Spero mi comprenda ma non riesco veramente a venire alla soluzione , siccome sono alle primissime armi come può ben vedere e come si vede anche dal programma. Le chiedo per favore se non è troppo, di potermi dare una mano... Non riesco a capire molto, ho provato a fare ciò che lei mi ha detto, ma nulla...

    Ecco:

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var stato = 0;
    function sinistra()
    {
       if(stato == 0)
       {
          alert("Ok, hai premuto bene");
          //qui dovresti modificare "stato"
       }
       else
          alert ("Hai premuto il pulsante sinistro!");
    }
    function centrale()
    {
          if(stato == 1)
    {
          alert("Combinazione sbagliata!");
    }
    function destra()
    {
          if(stato == 2)
    {
          alert("Combinazione sbagliata!");
    }
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()"></button>
    <button type="button" onclick="centrale()"></button>
    <button type="button" onclick="destra()"></button>
    
    </center>
    </font>
    
    
    </body>
    </html>

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Bravo!, gli if che hai inserito sono corretti! Hai fatto un passo in avanti.

    Ora, se lo stato è corretto, quando l'utente preme il tasto corretto entra dentro l'if. Cosa deve succedere dentro l'if? E se non entra nell'if (perché ha premuto un tasto errato), cosa deve accadere?

    Ciao!

  11. #11
    Guest

    Predefinito

    dovrei inserire all'interno di

    Codice HTML:
     if(stato == 0)
    precisamente cosa?

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Dunque, diciamo che siamo a questo punto:

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var stato = 0;
    function sinistra()
    {
    	if(stato == 0)
    	{
    		//se siamo qui, ha premuto correttamente
    	}
    	else
    	{
    		//se siamo qui ha premuto il tasto errato
    	}
    }
    function centrale()
    {
    	if(stato == 2)
    	{
    		//se siamo qui, ha premuto tutta la sequenza corretta, quindi facciamo apparire l'ok!
    		alert("OK!");
    	}
    	//cosa deve accadere qui?
    }
    function destra()
    {
    	if(stato == 1)
    	{
    		//se siamo qui, ha premuto il tasto destro dopo il sinistro, quindi sta facendo la combinazione corretta!
    	}
    	else
    	{
    		//se siamo qui, ha premuto il tasto destro ma non dopo il sinistro
    	}
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()">sx</button>
    <button type="button" onclick="centrale()">cn</button>
    <button type="button" onclick="destra()">dx</button>
    
    </center>
    </font>
    Diciamo che ora rimane di modificare la variabile "stato" per rendere il tutto funzionante. Penso di averti detto troppo a questo punto.

    Ciao!

  13. #13
    Guest

    Predefinito

    Ci sono riuscito! Grazie mille, puoi dirmi se va bene, oppure devo fare qualche altra cosa quando si sbaglia combinazione?

    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var stato = 0;
    function sinistra()
    {
    	if(stato == 0)
    	{
        		stato = 1;
    		//se siamo qui, ha premuto correttamente
    	}
    	else
    	{
    		alert("Tasto sbagliato!");
    		stato = 0;
    		//se siamo qui ha premuto il tasto errato
    	}
    }
    function centrale()
    {
    	if(stato == 2)
    	{
    		//se siamo qui, ha premuto tutta la sequenza corretta, quindi facciamo apparire l'ok!
    		alert("OK!");
    		stato = 0;
    	}
    	else {
    		alert("Tasto sbagliato!");
    		stato = 0;
    	}
    }
    function destra()
    {
    	if(stato == 1)
    	{
    		stato = 2;
    		//se siamo qui, ha premuto il tasto destro dopo il sinistro, quindi sta facendo la combinazione corretta!
    	}
    	else
    	{
    		alert("Tasto sbagliato!");
    		stato = 0;
    		//se siamo qui, ha premuto il tasto destro ma non dopo il sinistro
    	}
    }
    </script>
    </head>
    
    
    <body background="buttons_05/sfondo.jpg">
    <center>
    
    <font size="56">
    <button type="button" onclick="sinistra()">sx</button>
    <button type="button" onclick="centrale()">cn</button>
    <button type="button" onclick="destra()">dx</button>
    
    </center>
    </font>
    </html>

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Ottimo!

    Io modificherei questa:
    Codice:
    function centrale()
    {
    	if(stato == 2)
    	{
    		//se siamo qui, ha premuto tutta la sequenza corretta, quindi facciamo apparire l'ok!
    		alert("OK!");
    		stato = 0;
    	}
    	else {
    		alert("Tasto sbagliato!");
    		stato = 0;
    	}
    }
    Semplicemente così:
    Codice:
    function centrale()
    {
    	if(stato == 2)
    	{
    		//se siamo qui, ha premuto tutta la sequenza corretta, quindi facciamo apparire l'ok!
    		alert("OK!");
    	}
    	stato = 0;
    }
    Perché "stato=0" deve eseguirlo comunque.

    Ovviamente va benissimo anche come hai fatto.

    Ciao!

  15. #15
    Guest

    Predefinito

    Fatto ! La ringrazio per l'immenso aiuto, molto gentile.

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da bbbbbbbbbbbbbbbbbbbbbbbb Visualizza messaggio
    [...]


    wow!...COMPLIMENTI...X)...lEI.. bbbbbbbbb...
    ma dove stà facendo questi corsi? x)...


    e lo sà ke type="text/javascript" può ometterlo... o sarà anke lei un pò PaZzEreLLo?? x)...
    ...nn lo vorrà essere +,me lo auguro... >_d...


    <font>e background="" sono deprecati..come dice il Saggio alemoppo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •