息子が積み木問題を苦手にしている。
よくあるこんな問題だ。
「この積み木は全部で何個あるでしょう?」
見えているブロックは数えられる。
でも、上に積まれているブロックの下に何があるのか。
奥に隠れている部分に何個あるのか。
そこがなかなか理解できないらしい。
もちろん問題集はたくさんある。
しかし答えを見ても、
「なんで?」
が解消されない。
それなら、自分で数えられるようにしてしまおう。
そんな発想から作ったのが「ブロック数え」だ。
最初は単なるクイズを作るつもりだった
最初はよくある問題集のように、
積み木を表示して、
「何個ある?」
と答えるだけのアプリを考えていた。
しかし、それでは結局問題集と変わらない。
間違えたときに理解が進まない。
そこで発想を変えた。
間違えたら解体する
答えを外したら、
「ひとつずつ数えてみよう」
モードへ進む。
ブロックをタップすると、
1こ。
2こ。
3こ。
と音声で数えながら積み木が消えていく。
最後まで数えると、
「ブロックは全部で16個でした」
と答えが分かる。
答えを見るのではなく、
自分で数える。
その体験を作りたかった。
作っていて気付いた
実際に問題を作っていて気付いたことがある。
積み木問題の本質は、
隠れたブロックを探すことではなかった。
高さを数えることだった。
例えば3段積まれている場所があれば、
そこには3個のブロックがある。
上にブロックがあるなら、
その下にもブロックがある。
当たり前のようで、
子どもにとっては難しい。
そして、その考え方さえ身につけば、
多くの積み木問題は解けるようになる。
Three.jsで作ることになった
当初はもっとシンプルな描画を考えていた。
しかし、
「解体して奥を見る」
という体験を実現するため、
最終的にはThree.jsを使うことになった。
とはいえ使っているのは単純な立方体だけ。
Android 10世代のスマートフォンでも軽快に動く。
ちなみに最初は積み木ではなく、
ただの謎の物体だった。
ブロック同士がぴったりくっつきすぎて、
どこからどこまでが1個なのか分からない。
そこでほんの少しだけ隙間を作った。
すると突然、
「積み木」
になった。
数ピクセルの違いは大きい。
公開しました
「ブロック数え」は無料で利用できます。
積み木問題が苦手なお子さんや、
空間認識の練習をしたい方はぜひ遊んでみてください。
▼ ブロック数えはこちら


