diff --git a/README.md b/README.md index d363deb..524c2ab 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Konami Code Snippets -The Konami Code (sometimes called the Contra Code) is a cheat code that has appeared in many Konami video games. +The Konami Code (sometimes called the Contra Code) is a cheat code from many Konami video games. It is now often used as a gag, homage or an easter egg within many products or websites. @@ -10,7 +10,7 @@ It is now often used as a gag, homage or an easter egg within many products or w Read more about the Konami Code from the associated [Wikipedia entry](https://en.wikipedia.org/wiki/Konami_Code). -## Usage +## 🚀 Usage ### JSDelivr @@ -20,7 +20,7 @@ You can use this as a library within your web applications. Version 1.0 (+ hotfixes): -Latest Version: +Latest Version: #### Example @@ -29,7 +29,7 @@ Latest Version: (...content) - + + \ No newline at end of file diff --git a/examples/index.html b/examples/index.html new file mode 100644 index 0000000..ea7376c --- /dev/null +++ b/examples/index.html @@ -0,0 +1,22 @@ + + + Konami Code Snippets + + + +

Konami Code - O(1)

+ + Note: currently just lower case `b` and `a` keys. + + (as using event.code not deprecated event.keyCode) + + + + + \ No newline at end of file diff --git a/package.json b/package.json index caa02b7..20606b3 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "author": "Declan Teevan ", "license": "MIT", "packageManager": "pnpm@10.33.0", - "dependencies": { + "devDependencies": { "minify": "^15.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bd405a..4b59d40 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: importers: .: - dependencies: + devDependencies: minify: specifier: ^15.2.0 version: 15.2.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) diff --git a/src/core.js b/src/core.js index a2134bf..d0c14ad 100644 --- a/src/core.js +++ b/src/core.js @@ -1,15 +1,17 @@ -const keySequence = ["ArrowUp", "ArrowUp", "ArrowDown", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowLeft", "ArrowRight", "b", "a"]; -let sequenceStep = 0; +// SPDX-License-Identifier: MIT -let handleKonami = (e) => (callback) => { - if (keySequence[sequenceStep] === e.key) { - sequenceStep += 1; +const konamiSequence = ["ArrowUp", "ArrowUp", "ArrowDown", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowLeft", "ArrowRight", "b", "a"]; +let konamiStep = 0; - if (sequenceStep === keySequence.length) { - sequenceStep = 0; +let handleKonami = (callback) => (e) => { + if (konamiSequence[sequenceStep] === e.key) { + konamiStep += 1; + + if (konamiStep === konamiSequence.length) { + konamiStep = 0; callback(); } } else { - sequenceStep = 0; + konamiStep = 0; } } \ No newline at end of file diff --git a/src/core.min.js b/src/core.min.js index d3f3992..6d0c9f3 100644 --- a/src/core.min.js +++ b/src/core.min.js @@ -1 +1 @@ -const keySequence=["ArrowUp","ArrowUp","ArrowDown","ArrowDown","ArrowLeft","ArrowRight","ArrowLeft","ArrowRight","b","a"];let sequenceStep=0,handleKonami=e=>callback=>{keySequence[sequenceStep]===e.key?(sequenceStep+=1,sequenceStep===keySequence.length&&(sequenceStep=0,callback())):sequenceStep=0}; +const konamiSequence=["ArrowUp","ArrowUp","ArrowDown","ArrowDown","ArrowLeft","ArrowRight","ArrowLeft","ArrowRight","b","a"];let konamiStep=0,handleKonami=callback=>e=>{konamiSequence[sequenceStep]===e.key?(konamiStep+=1,konamiStep===konamiSequence.length&&(konamiStep=0,callback())):konamiStep=0};