Javascriptで隠しコマンドを書いてみた
公開日:
最終更新日:
ファミコンとかスーファミとかであったコナミコマンドを実装してみたと思ったので、書いてみました。
配列を変えると色々変えれます。スト2のコマンドとか、入力フォームにして、ダビスタの金持ち牧場とか
サンプルというか
このページのどこでもいいので『上上下下左右左右BA』と押してください。
あっ!PCでお願いします。
コード
Javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Var kakushiCommand = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; var inputCommand = []; document.onkeydown = function(e) { inputCommand.push(e.keyCode); var inputCommandLen = inputCommand.length; var inputCode = inputCommand[inputCommandLen - 1]; var commandCode = kakushiCommand[inputCommandLen - 1]; if (inputCode === commandCode) { if (inputCommandLen === kakushiCommand.length) { window.alert('横取り40万!!') inputCommand.length = 0; } } else { inputCommand.length = 0; } } |
解説
1 |
Var kakushiCommand = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; |
キーボードのキーコードを配列に入れてます。
1 2 3 |
var inputCommand = []; document.onkeydown = function(e) { inputCommand.push(e.keyCode); |
キーボードが押されたら、押されたキーコードをinputCommand配列に入れます。
1 2 3 4 5 6 7 8 9 10 11 12 |
var inputCommandLen = inputCommand.length; var inputCode = inputCommand[inputCommandLen - 1]; var commandCode = kakushiCommand[inputCommandLen - 1]; if (inputCode === commandCode) { if (inputCommandLen === kakushiCommand.length) { window.alert('横取り40万!!') inputCommand.length = 0; } } else { inputCommand.length = 0; } } |
inputCommandLenに入力された文字数を格納
inputCodeに最後に押された文字コードを入れる(配列は0から数えるので-1)
commandCodeに押された所と同じ所のkakushiCommandの文字コードを入れる
inputCodeとcommandCodeが一緒で配列の長さが同じなら実行!!してinputCommand配列を0に戻す
inputCodeとcommandCodeが一緒じゃなかったらinputCommand配列を0に戻す
となってます。
結構短い記述でいけるので、実装すると面白いかもです。
よろしければコメントをどうぞ