素人プログラマーの日常

効率の良いコード、美しいコードなんて書けません。

暗算なんてしないけど

もうひとつ、サクっと作ったやつを紹介しておきます。ある意味では計算の遅い私自身のために作ったともいえますが、作ったところでやらないのはわかっていました。数学にはそれほど苦手意識はないものの、問題を解くその過程で数字を直接扱うのが遅いんですよね。簡単にいえば四則演算が苦手です。できないわけではなく、じっくり考えて計算したいので遅くなると自己分析していますが、桁が1つ増えただけで暗算が非常に億劫になります。

f:id:dgen:20180218151639p:plain

というわけで、その暗算に慣れるため…という建前でフラッシュ暗算を作りました。前回同様特に絵を描かなくて良い内容なので気楽です。何気に絵を描くってかなりのパワーが必要です。普段から仕事や趣味で絵を描いていれば構図やら色使いやらにそれほど気をもむこともないんでしょうが、あまり慣れていない私はまともな絵を描くとなると相当なエネルギーを消耗します。それでいて試行錯誤しながらなので膨大な時間も消費してしまいます。64×64ピクセルの小さい画像でも、自分なりに本気を出すと2時間くらいあっという間に経ってるんですよね。感覚としては「あれ?タイムリープしちゃったかな?」と思えるほど。そしてかけた時間に比例せず自分でもわかるほどクオリティーは高くないのを実感するとガックリします。

 

まあ、絵を描くのも暗算するのも上達したければ何度も何度も繰り返しやって慣れるしかないんですけど、それなら上達したいものが他にもたくさんありますからね。全部できれば幸せですが、なかなかそのための時間もとれるわけでもなく現状に至るといったところでしょうか。とりあえずはこうして文章を綴ることやプログラミング、他にいくつかの趣味は細々と続けてはいます。おかげで作文が一番の苦手だった私がちょっと長い文章を書き連ねるのも苦痛ではなくなっているどころか調子に乗っているときは楽しんでたりもします。

 

ちょっと自分語りみたいになってきて気持ち悪いので話を元に戻しますか(笑

 

今回のフラッシュ暗算ですが、私のように計算が遅い人でもできるように1桁でゆっくり表示することも可能です。最低レベルなら私でも正解を出せます。で、正解するごとにレベルアップして数字が大きくなるようにしてあります。逆に、間違えるとレベルダウンしてしまいます。こうしたレベルを取り入れると人間はモチベーションを維持しやすいというのが私の妄想にも似た見解です。毎回同じものをやってもつまらないですからね。

f:id:dgen:20180218151706p:plain

見た目に関してですが、内容は暗算ですから派手にする必要はありませんし、すっきりしたほうが暗算に集中できます。でもあまりにサクっと作り終わってしまうので、ちょっとした演出を加えてみました。まずは画面のフェードアウトをいつもならアルファブレンドで徐々に消していたものを遊び心で縞模様に。若干ウザいです。それと正解時に★が飛び散るエフェクトを追加しました。画像を使わずフォントがカラフルに弾ける(私には似合わない)可愛らしい演出です。こういったエフェクトは面倒でほとんどやりませんが、実際にやってみると今回は他の操作などと同時進行しなかったこともあり簡潔なコードで仕上がるんですよね。次からは積極的に取り入れてみようかな。

 

これといった考えもなくなんとなく追加したエフェクトですが、些細な演出があるだけで印象がガラっと変わるのを実感できました。ゲームだと特にこうした細かい演出がプレーヤーの脳裏に焼き付いて、そのプロダクト全体の印象にもつながるものなんですよね。それを作り手側から認識できたのは収穫です。

 

…でも画像を大量に使うアニメーションとかは勘弁してもらいたいかな。