初心者SEのとりあえずメモ日記

初心者SEが技術的な事とかを、とりあえずメモしておくための日記です。

Twitterの隠しコマンド

   

1.Twitterの隠しコマンド

Twitterで、世界一有名なコマンドであるコナミコマンド「上上下下左右左右BA」を入力すると、鳥が回転するというのが、ちょっとした話題になっています。

どうせ釣りだろうと思いつつも、試してみたらホントに回ったので驚きました。

コナミコマンドを入力してみる

この鳥が、
twitter1.png
くるっと回ります。
twitter2.png

こういう遊び心はすごく好きなのですが、誰が発見したのですかね?
誰も気づいてくれないから、内部からわざと漏らしてたりして。

 

スポンサーリンク

 

2.隠しコマンドの仕組み

ちなみに、この回転処理は、javascript内に書かれていました。

define("app/ui/konami_watcher",["module","require","exports","core/component"],function(module, require, exports) {
function konamiWatcher(){this.defaultAttrs({logoSelector:".topbar .Icon--bird",konami:"38,38,40,40,37,39,37,39,66,65"}),this.handleCodeEntered=function(){var a=this.select("logoSelector");a.css("transition","all 1s ease"),a.css("transform","rotate(360deg)"),setTimeout(this.undoCSS.bind(this),1050)},this.undoCSS=function(){var a=this.select("logoSelector");a.css({transition:"all 0s ease",transform:""}),setTimeout(function(){this.select("logoSelector").css("transition","")}.bind(this),0)},this.logKeystroke=function(a,b){this.keys.push(a.keyCode),this.keys.toString().indexOf(this.attr.konami)>=0?(this.keys=[],this.handleCodeEntered()):this.attr.konami.indexOf(a.keyCode)<0&&(this.keys=[])},this.after("initialize",function(){this.keys=[],this.on(document,"keydown",this.logKeystroke)})}var defineComponent=require("core/component"),KonamiWatcher=defineComponent(konamiWatcher);module.exports=KonamiWatcher
});

「konami:」の横にある数字の羅列、これがコナミコマンドのキーコードです。「38=↑」「65=A」とかですね。

なので、BAを大文字入力しようとしてShiftキーを押した場合、入力したキーコードの順番にShift(=16)が含まれてしまうため、鳥は回転しません。

キーコードで判定しているため、BAは小文字のbaでOKです。

 


 - その他
 -

  シェアしていただけるとうれしいです

  関連記事

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です