2012-03-12 12 views
6

Sto provando a creare un file .js per un sito Web che al momento dell'inserimento del codice konami Su, Su, Giù, Giù, Sinistra, Destra, Sinistra, Destra, B, A, Inizio (invio) sarà incorporare un video. Tuttavia mentre inserisci i tasti giusti, la pagina web dovrebbe mostrare qualcosa come "continua", se viene inserita una chiave errata dovrebbe visualizzare "sbagliato, riprova" e consentire loro di ricominciare.codice konami progressivo

Ho maneggiato per fare in modo che JavaScript funzioni quando, inserendo il codice corretto, visualizza un avviso e inserendo il codice sbagliato viene visualizzato un codice diverso.

ho consumassimo ottenere questo molto codice utilizzando le risorse online, ma nessuno di loro di spiegare come ottenere sbagliato, prova ancora parte

if (window.addEventListener) { 
    var keys = [], 
    konami = "38,38,40,40,37,39,37,39,66,65,13"; 

    window.addEventListener("keydown", function(e){ 
    keys.push(e.keyCode); 


    if (keys.toString().indexOf(konami) >= 0) 
    {    
     alert('Right'); 
     keys = []; 
    }; 

    if (keys.toString().indexOf(konami) < 0) 
    { 
     alert('Wrong'); 
     keys = []; 
    } 
}, true); 

};

Qualsiasi aiuto sarebbe molto apprezzato.

risposta

7
if (window.addEventListener) { 
    var index = 0; 
    var konami = [38,38,40,40,37,39,37,39,66,65,13]; 

    window.addEventListener("keydown", function(e){ 
     if (e.keyCode === konami[index]) 
     { 
      index++; //valid key at the valid point 

      if (index == konami.length) 
      { 
       alert("Correct"); 
      } else { 
       alert("Keep going"); 
      } 
     } else { 
      // incorrect code restart 
      index = 0; 
      alert("Wrong"); 
     } 
    }); 
} 
+0

grazie molto per l'aiuto, tutta la OTH le risposte fornite da e funzionano pure, ma questo è l'unico codice che posso capire. a proposito c'è un modo per incorporare un video di youtube che verrà mostrato una volta inserito il codice giusto? Oppure il codice embed deve essere scritto nel file .html – Calsolum

+2

È discutibile se non si debba includere la chiave 'return' (13) – NicolasMoise

2

Si potrebbe fare qualcosa di simile

if (window.addEventListener) { 
    var keys = [], 
    konami = "38,38,40,40,37,39,37,39,66,65,13".split(','); 

    window.addEventListener("keydown", function(e){ 
    keys.push(e.keyCode); 
     console.log(e.keyCode); 
    var lengthOfKeys = keys.length -1; 


    if (konami[lengthOfKeys] == keys[lengthOfKeys]) 
    {    
     alert('Right'); 
     if(konami.length === keys.length){ 
      alert('complete!'); 
     } 

    }else{ 
     alert('Wrong'); 
     keys = []; 
    } 
}, true); 
}; 

violino qui http://jsfiddle.net/b6kuZ/

0

Questo funziona per me:

if (window.addEventListener) { 
    var keys = [], 
    konami = "38,38,40,40,37,39,37,39,66,65,13"; 
    konami_arr = konami.split(','); 

    window.addEventListener("keydown", function(e){ 
     keys.push(e.keyCode); 

     var position = keys.length-1; 

     if(keys[position ] != konami_arr[position]) 
     { 
      alert('Wrong'); 
      keys = []; 
     } 
     else if (keys.join(',') == konami) 
     {    
      alert('Right'); 
      keys = []; 
     }; 
    }, true); 
} 

​jsFiddle exmaple

Problemi correlati