このページの本文へ移動 | メニューへ移動

河合塾グループ河合塾

新着情報

News

第2段!!情報処理系学科 スマホ・タブレットアプリを紹介します!

iPad向けの「タマ転がしアプリ」です。
一見ありふれていますが、実はiPadに搭載された「加速度センサー」を巧みに使うことにこだわりました。

ポイントは、仰向けに寝てプレイしても、座ってプレイした時と同じ操作ができることです。

少しややこしいですが...、
座って,iPadを見下ろして[画面上向き]でプレイする時と、
仰向けに寝て、iPadを見上げて[画面下向き]でプレイする時とでは、
下方向にイガグリを転がす操作が真逆になります。

座って、画面上向きで、iPad右側を手前に近づけると、【左】が下がる

寝て、画面下向きで、iPad右側を手前に近づけると、【右】が下がる

ということは、どちらとも同じ「【左】が下がる」にするためには、別々の処理を行う必要があります。

でも、それで本当によいのか。開発者の前山拓郎さん(高度情報学科3年)は考えたのです。
寝てプレイと座ってプレイで、操作が真逆になってしまうと、
寝てプレイして上達しても、座ってプレイでは練習し直しになってしまうではないか。

その結果、「寝てプレイしても、座ってプレイした時と同じ操作ができる」ことにこだわって、いざ開発がスタートしました。

ただ、画面上向きと下向きとで、別々の処理を行わなければなりません。
この難問をどう解決するのか? これがアルゴリズム(計算方法)の真髄です。

そして、考えに考えて出した答えは...
 ・画面上向きでは、加速度センサーの値 × 1をする
 ・画面下向きでは、加速度センサーの値 × -1をする
というもの。一見ややこしく見えても、実はよく考えると意外にシンプルに答えは出せるものです。
むしろ、難しい計算方法でなく、易しい計算を組み合わせるアルゴリズムが、あとで直しやすくて良いのです。

18行めで、寝るプレイは1、座ってプレイ(寝ない)は-1を設定し、29~30行めの「* neru」で掛け算しています。
実はたったこれだけで、画面上向き・下向きの両方を実現しています。