No.26 実用?ソフト集の使い方-2

 前回は、一番簡単なJavaScriptの「実用?ソフト集」から、本当に実用になるソフトの使い方を紹介しましたが、今回は、実用?ソフトの「?」の方のソフトを、ふたつ選んで紹介します。

 ■ いらいらするゲーム

 誰でも、できればいらいらしたくない、と思っているはずです。それなのに、このゲームは余計にいらいらしてしまいます。
● ゲームを開始する
 ここをクリックしてください。[ゲームスタート] をクリックすると、緑色のゲームページが開きます。[ 10点 ], [ 5点 ] などのボタンをクリックすると、得点が増えていきますが、[ -1点 ], [ -5点 ] などのボタンをクリックすると、得点は減ってしまいます。

● 何でいらいらするのか?
 マイナス得点のボタンをクリックするのは簡単ですが、プラス得点のボタンをクリックしようとすると、逃げてしまって、普通にクリックできません。
 プラス得点のボタンにマウスカーソルを合わせようとすると、1点:0.1秒、5点:0.07秒、10点:0.03秒待ってから、ランダムな方向に逃げるようにしてあります。そのため、高い得点のボタンほど、クリックするのは難しくなっています。

● 次のステージに進む
 1ステージ目は、いらいらせず、のんびりやればクリアーできると思います。得点が100点に達すると、右のようなメッセージが表示され、[OK] をクリックすると、次のステージに進みます。
 このステージは、プラス得点のボタンが少ない上、マウスカーソルを合わせようとしてから、逃げるまでの時間が、1点:0.06秒、5点:0.03秒、10点:0.01秒と短くなっていて、難易度が大幅に上がっています。

● 注意
 得点を自分で書き換えたり、TabキーとEnterキーでボタンを押そうとすると、得点は0点にリセットされてしまいます。

 ■ 数字化ツール

 これは、漢字やひらがなをはじめ、特殊記号・改行など全てを、0から9の数字だけに変換するツールです。これで、漢字が読めなくても安心です。え、読めても意味がわからない。
 ここをクリックしてください。[元の文章] に文章をコピーして、[数字化↓] をクリックすると、数字だけになります。



● どうやって数字にするのか?
 「元の文章」と「数字化後」を比較してみます。

元の文章 数字化後
a 2097
f 30102
5025968
aaaa 2222097979797
afaf 232309710297102
aaaa数字化ツール 2222555555097979797259682338321270124841254012523

 「a」という文字に対応する数字は「97」です。同様に「f」は「102」、「数」は「25968」です。文字によって、対応する数字の桁数が違いますので、この数字を並べただけでは、元の文章に戻すことができなくなってしまいます。そのため、先頭にインデックスを加えています。数字化後の「2097」の、先頭の2は、1文字目に対応する数字が2桁であることを示しています。次の0は、ここまででインデックスが終わっているというマークです。
 元の文章を1文字ずつ読んで、対応する数字の桁数と、対応する数字を、それぞれつなげていきます。最後まで読んだら、間に0を加えて全部つなげます。それを70字で区切って改行を入れたのが、「数字化後」になります。

● 数字を解読して文章に戻す
 数字化したものを、元の文章に戻してみます。「232309710297102」を左から見ていって、0があったら、そこを境に、「2323」と「9710297102」に分けます。「2323」は、桁数を示しているので、「9710297102」は「97」「102」「97」「102」と分けることができますから、元の「afaf」という文章に戻すことができます。

 今回は、ふたつのソフトの動作を中心に説明してみました。JavaScript で、皆さんも面白いソフトを作ってください。