かつてパソコン雑誌で「暇つぶし」という名前のフリーソフトが紹介されていました。次々とあらわれる「暇」という文字をクリックして潰していくというもので、これをやっていると「俺って暇だなあ」という気持ちになるとのこと。

以前 本当に鳩でも分かるC#講座動く暇つぶしを作りました。今回はJavaScriptで同じようなものをつくります。

HTMLとCSS部分

HTML部分

style.css

JavaScript部分

タイマーで更新処理をおこない、更新時に暇という文字を追加して移動させます。

グローバル変数

最初にグローバル変数を示します。

app.js

Himaクラスの定義

暇という文字を表示・移動させるHimaクラスを定義します。

コンストラクタに渡す引数は出現位置のXY座標と消滅位置のXY座標です。出現した文字は消滅座標にむけて移動します。出現位置のXY座標と消滅位置のXY座標は、乱数を生成して決定します。また移動速度と文字の色も乱数を生成して設定します。

Math.random()とすることで0以上1未満の乱数を生成することができます。Math.random() * 3.5とすれば0以上3.5未満の乱数を生成することができます。またMath.floor( Math.random() * 6)とすれば0から5までの整数の乱数を生成することができます。

表示したい座標に表示できるように文字は絶対配置にします。

文字ではない部分をクリックしたときの処理を示します。

更新処理を示します。更新回数の下2桁が00,25, 50, 75のときは新しく文字を生成し、配列に格納します。生成される位置は外枠の上辺、下辺、左辺、右辺のいずれかの上で対辺にむけて移動します。

配列に格納されているオブジェクトのMove関数を呼び出して移動の処理をおこないます。そのあとIsDeadフラグが立っているオブジェクトを配列から除外します。最後にヒット数とミス数を画面下部に表示します。

このゲームの欠陥は効果音がないことと、始まりと終わりがなく延々と続いてしまうことです。次回はcanvasを使って同じようなものをつくります。