2012-03-12 11 views
6

मैं एक वेबसाइट के लिए .js फ़ाइल बनाने की कोशिश कर रहा हूं कि कोनामी कोड ऊपर, ऊपर, नीचे, नीचे, बाएं, दाएं, बाएं, दाएं, बी, ए, प्रारंभ (दर्ज करें) दर्ज करने पर एक वीडियो एम्बेड करें। हालांकि दाएं कुंजी दर्ज करते समय वेबपृष्ठ को "चलते रहें" जैसे कुछ दिखाना चाहिए, अगर गलत कुंजी दर्ज की जाती है तो उसे "गलत, पुनः प्रयास करें" प्रदर्शित करना चाहिए, और उन्हें शुरू करने की अनुमति देना चाहिए।प्रगतिशील कोनामी कोड

मैंने जावास्क्रिप्ट को काम करने के लिए मैंग किया है जहां सही कोड दर्ज करने पर यह एक चेतावनी प्रदर्शित करता है, और गलत कोड दर्ज करने से एक अलग कोड प्रदर्शित होता है।

मैं ऑनलाइन संसाधनों लेकिन उनमें से कोई का उपयोग कर बताएं कि किस तरह गलत पाने के लिए इतना कोड प्राप्त करने के लिए manged गया है, फिर भाग

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); 

} कोशिश;

किसी भी मदद की सराहना की जाएगी।

उत्तर

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

मदद के लिए बहुत धन्यवाद, सभी अन्य संगठनों एर उत्तर दिए गए हैं और साथ ही साथ काम करते हैं लेकिन यह एकमात्र कोड है जिसे मैं समझ सकता हूं। वैसे भी एक यूट्यूब वीडियो एम्बेड करने का कोई तरीका है जो सही कोड दर्ज होने के बाद दिखाई देगा? या एम्बेड कोड को .html फ़ाइल – Calsolum

+2

में लिखा जाना है यह बहस करने योग्य गीला है या नहीं, आपको 'वापसी' कुंजी (13) – NicolasMoise

2

आप की तरह कुछ कर सकता है

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); 
}; 

यहाँ बेला http://jsfiddle.net/b6kuZ/

0

यह मेरे लिए काम करता है:

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

संबंधित मुद्दे