千反田える検証Script
(2012/10/31)
1をa、2をb、27になったらaから振り直すように数字とアルファベットを結びつけるというルールで、1から順に数字にアルファベットを割り当てていくと、1000がちょうどLになるという話がTwitterで流れていました。すなわち、「千反田える」です。
私、気になります!
というわけで、JavaScriptで1000まで全部表示しちゃいましょう。
このJavaScriptはアニメ『氷菓』の「千反田える」を検証するものです。それ以外に効用は一切ありませんので、あらかじめご了承ください。
JavaScript解説
手抜き作成なので参考になるような部分はないと思いますが、一応、作成したJavaScriptのほうを公開しておきます。コメントでScriptの説明をしてありますので、気になる方はご覧ください。ただ、漢数字への変換は今後も使うことがないだろうから真面目に作る気がなかったので、今回は1000までの対応でいいやと超手抜き処理で変換をしています。
function checkl() {
/* 「千反田える」の文字拡大用に横幅に合わせて文字サイズを計算 */
var lsize=($('#dst').innerWidth()/6)+'px';
/* 名前用のあるふぁべっと部分の配列 */
var alp=Array('えい','びぃ','しぃ','でぃ','いー','えふ','じー','えいち','あい','じぇい','けい','える','えむ','えぬ','おー','ぴー','きゅー','あーる','えす','てぃー','ゆー','ぶい','だぶりゅ','えっくす','わい','ぜっと');
/*漢数字への変換用に配列を用意 */
var num=Array('0','一','二','三','四','五','六','七','八','九');
/* 各種変数の宣言 */
var lp,n1,n2,n3,n4,s1,s2,s3,work;
var rslt='';
/* 1~1000までループ */
for (lp=1;lp<1001;lp++) {
/* 各桁の数字を取得 */
n1=lp%10;
n2=Math.floor(lp/10)%10;
n3=Math.floor(lp/100)%10;
n4=Math.floor(lp/1000)%10;
/* 0以外ならば各位を追加 */
s1=(n4==0)?'':'千';
s2=(n3==0)?'':'百';
s3=(n2==0)?'':'十';
/* 漢数字に変換し、0を省略して一十とならないように処理 */
work=(num[n4]+s1+num[n3]+s2+num[n2]+s3+num[n1]).replace(/0/g,'').replace(/一十/,'十');
/* 先頭が一ならば除去(ただし1の場合は処理しない) */
if (work.length>1) work=work.replace(/^一/,'');
/* 名前への変換 */
work+='反田'+alp[(lp-1)%26];
/* 1000ならば拡大して赤くする */
if (lp==1000) work='<span style="color:#f00;font-size:'+lsize+'" id="chitandaeru">'+work+'<\/span>';
/* 処理結果を追加(1行ごとに改行も) */
rslt+=work+'<br>';
}
/* 結果を<div id="dst">に表示(※今回は文字サイズ算出とココのみjQueryを使用) */
/* jQueryを使わないなら、document.getElementById('dst').innerHTML(rslt); */
$('#dst').css({border:'solid 1px',padding:'1ex'}).html(rslt);
}