>& STDOUT

主にソフトウェアに関する日々の標準出力+標準エラー出力

コナミコマンドをJSで実装してみた。

Google社員にコナミファンでもいるの?w


に触発されて。
いままで何百人やったかわかりませんが、やってみました。こんだけ有名なお題なので、被ってたらごめんなさい。

//usage:
document.onkeydown = konamiCommandChecker;

//body
function konamiCommandChecker(e){
        var commandArray = new Array();
        var correctArray = new Array(38, 38, 40, 40, 37, 39, 37, 39, 66, 65);
        var hitCount = 0;
	commandArray.push(e.keyCode);
	if(commandArray[commandArray.length-1] == correctArray[commandArray.length-1]){
		hitCount++;
	}else{
		hitCount = 0;
		commandArray = new Array();
	}
	if(hitCount > 9){
		alert("fire!");
		hitCount = 0;
		commandArray = new Array();
	}
}

いまぱっと思いつくのこれぐらいです。いちおう、事前に何が入力されていても、シーケンスどおりの打鍵がされたらそれを拾うようにしてます。スーパーファミコングラディウスは左右をLRに変えないと、自爆しましたね。懐かしい。

つかいみち

blogのコメント書き込み時の画像認証(CAPTCHAっていうんでしたけ)の代わりに、コナミコマンド

if(hitCount > 9){
        InputSubmit.disabled = false;
}

とか。「コナミコマンド」とは、上上下下左右左右BA と連続して入力する行為、または名称を指します。…コモンセンスじゃない。らしい。