難易度
ボールがゆっくり落ちてきて、うんちも少なめ。はじめてでも安心。
「扉をあける」を押すと、上からボールが落ちてきます。かごを左右に動かしてキャッチ!うんち(💩)を取るとゲームオーバー。スター(⭐)を取ると、しばらく自動でキャッチしてくれます。
Catch Drop の落下速度は固定ではありません。ボールをキャッチするたびに少しずつ加速していきます。つまり上手い人ほど速くなる——常に自分の反応限界の近くで遊ぶことになる仕組みです。
この設計を「適応型の難易度」と呼ぶことがあります。固定速度だと慣れた人には退屈になり、速すぎると初心者は1個も取れません。キャッチ数に比例して速度を上げることで、誰が遊んでもちょうどよい緊張感が続きます。
加速は無制限ではなく、難易度ごとに上限があります。やさしいは緩やかな加速で天井も低め、むずかしいは加速が急で最終速度も速い。3段階の違いは初速だけでなく、この「加速カーブ」にも現れます。
ボールが次々に落ちてくる中でかごを動かし続けていると、落下物を見たら反射的にかごを寄せる癖がつきます。そこへうんちが混ざると、動かしかけた手を止めなければなりません。
心理学ではこれを go/no-go 課題と呼びます。「反応する(go)」と「反応を抑える(no-go)」を同じ文脈で切り替える課題で、脳の前頭前野が担う「抑制制御」を使います。子どもにとっては「動きたい衝動をこらえる」練習そのもので、これは順番を待つ、衝動買いをしないといった日常の自制力とも関係しています。
うんちの割合は難易度で変わります。やさしいでは全体の 10% 程度、むずかしいでは 25% 近くまで増えるため、no-go の判断をより頻繁に求められます。
スター(⭐)を取ると数秒間オートモードに入り、かごがボールを自動追尾します。その間はうんちを取ってもゲームオーバーになりません。
これは単なる休憩のように見えますが、スコアを伸ばす上では別の意味があります。オート中もキャッチのたびに速度が上がるので、オートが終わった直後は手動に戻った瞬間にそれまでより速いボールが来ます。スターを取るタイミングによっては、オート明けの復帰が最大の難所になります。
スターの出現は確率制御で、連続して出ないようにクールダウンが入っています。出現はランダムですが、極端に長く出ない状況にはならないよう下限も設けています。
やさしい・ふつう・むずかしいの違いは速度だけではありません。以下の4つのパラメータが同時に変わります。
かごを動かす方法はマウスのドラッグ、画面を指でなぞるタッチ操作、キーボードの左右矢印キーの3つです。この3つは内部的には同じ requestAnimationFrame ループの中で処理されています。
ポインタ(マウスや指)は pointermove イベントで座標を取り、キーボードは keydown / keyup で方向フラグを立て、毎フレームその値をまとめてかごの x 座標に反映します。このため入力の種類による遅延差がなく、どのデバイスでも同じ応答性で遊べます。
ボール、かご、扉はすべて CSS で描画しています。ボールの色はキャッチごとにランダムに変わりますが、これは CSS の background-color を差し替えているだけです。うんちとスターは Unicode 絵文字をそのまま使っています。
効果音(キャッチ音、ゲームオーバー音、スター取得音)は Web Audio API の OscillatorNode で波形をその場で合成しています。つまり画像ファイルも音声ファイルも一切読み込まず、ゲームのための追加の通信もありません。
保存するのは難易度別のベストスコアだけで、端末の localStorage にのみ記録されます。名前や年齢の入力はなく、プレイ内容がどこかへ送られることもありません。