第2段!!情報処理系学科 スマホ・タブレットアプリを紹介します!
- お知らせ
iPad向けの「タマ転がしアプリ」です。
一見ありふれていますが、実はiPadに搭載された「加速度センサー」を巧みに使うことにこだわりました。
ポイントは、仰向けに寝てプレイしても、座ってプレイした時と同じ操作ができることです。
少しややこしいですが...、
座って,iPadを見下ろして[画面上向き]でプレイする時と、
仰向けに寝て、iPadを見上げて[画面下向き]でプレイする時とでは、
下方向にイガグリを転がす操作が真逆になります。
ということは、どちらとも同じ「【左】が下がる」にするためには、別々の処理を行う必要があります。
でも、それで本当によいのか。開発者の前山拓郎さん(高度情報学科3年)は考えたのです。
寝てプレイと座ってプレイで、操作が真逆になってしまうと、
寝てプレイして上達しても、座ってプレイでは練習し直しになってしまうではないか。
その結果、「寝てプレイしても、座ってプレイした時と同じ操作ができる」ことにこだわって、いざ開発がスタートしました。
ただ、画面上向きと下向きとで、別々の処理を行わなければなりません。
この難問をどう解決するのか? これがアルゴリズム(計算方法)の真髄です。
そして、考えに考えて出した答えは...
・画面上向きでは、加速度センサーの値 × 1をする
・画面下向きでは、加速度センサーの値 × -1をする
というもの。一見ややこしく見えても、実はよく考えると意外にシンプルに答えは出せるものです。
むしろ、難しい計算方法でなく、易しい計算を組み合わせるアルゴリズムが、あとで直しやすくて良いのです。
18行めで、寝るプレイは1、座ってプレイ(寝ない)は-1を設定し、29~30行めの「* neru」で掛け算しています。
実はたったこれだけで、画面上向き・下向きの両方を実現しています。