助さんと格さん不要のAndroid水戸黄門
秋のスケジュールの組み立てをしていました。
この秋は故あっていろいろ旅行予定が忙しく、10月~11月の土日はまったく地元にいないということが判明。
名古屋・大阪・広島・福岡と、西へ東へ大忙しです。
週1でこんなに旅行するの大変だな~と思いながらの月曜日。
- 日曜日といえばサザエさん
- 木曜日といえば渡る世間は鬼ばかり
- 土曜日といえばめちゃイケ
- 水曜日といえばはねトビ
- 月曜日といえば水戸黄門です
「こんなに旅行するなんて、わたしはまるで水戸黄門じゃないか!!」
しかし、ご老公のように心強い仲間がいません。助さん格さんはもちろん、色っぽいお銀や心強い弥七、あの食いしん坊のうっかりも!! あ、八兵衛ぐらいは自分でなんとかできますね。
まぁ、それはそれとして。
でも、できないんでしょうか? 1人で水戸黄門気分って。
手にはちょうどこの夏買ったばかりのAndroidケータイが!!
……アプリ、考えてみようか。
取り合えず、要件定義です。
◆好きです。で、水戸黄門分析
こうしてわたしの「セルフ水戸黄門」への道がはじまりました。
まずは舞台となる水戸黄門を分析。手元と記憶にある水戸黄門パターンを書き出してみます。
- ご一行によるご当地紹介
- 八兵衛あたりが食べ過ぎでお腹を壊す
- いい町娘(どこかの問屋のお嬢さん)が現れる
- 悪党が町娘をねらって廻船問屋と結託
- 町娘とお銀がお風呂に入る
- 狙われる町娘
- 弥七が悪党の証拠をつかんで風車で報告
- 7で得た証拠をもとに悪党のもとへ乗り込むご老公一行
- むむ怪しい奴め!! ということで「であえーであえー!!」
- チャンバラシーンがスタート
- 「静まれー!! 静まれー!!」ということで印籠登場。俗に言う8時45分状態
- 悪党つかまってめでたしめでたし
まぁ、おかしいところは若干ありますが、こんなところでしょうか。
この一連の動作をアプリにするとしたら、で考えると、対応表はこんな感じでした。
- ホットペッ○ーによるグルメ案内表表示(GPS機能)
- 食事をしているとタイマーで「食いすぎ注意」の表示(アラーム機能)
- 偶然現れた人とのすれ違い通信(Bluetooth機能)
- るる○による旅の宿を検索(GPS機能)
- 女湯温泉表示(GPS機能)
- 旅の宿に宿泊予約を入れる(ブラウザ機能)
- メルマガが流れてくる(メール機能)
- 旅の宿にチェックイン(7で得たメールを表示)
- ホテルマンが「姉さん事件です!!」(アラーム機能)
- ホテルマンが電話をしそうになる(音声通話機能)
- 身分証明提示(画像・音声出力機能)
- 無事、ホテルにチェックイン。記念に夜景をとって終了(カメラ機能)
やはりGPSに偏り気味ですが、ほとんどの機能を使う気でいます。
納期は旅行が始まる10月中旬です。
◆どう考えても
このボリュームを1人で、しかも1カ月半で作るのは難しいです。
そういうわけなので、水戸黄門らしさが一番出ている11番に焦点を絞って考えることにします。
◆印籠表示アプリ
……実はこのコラム、最初はこの「身分証明提示」機能だけ考えていたんですけど、書いていくうちにだんだん風呂敷が大きくなってしまったのでした。
さて、先述した「水戸黄門の8時45分状態」についてもう少し深く考えます。
水戸黄門の印籠登場パターンは
- チャンバラの良いころにご老公が「助さん格さん、もういいでしょう」
- 助さん格さん「はっ!!」
- 格さん「静まれー!! 静まれー!!」
- 格さん印籠取り出し「この紋所が目に入らぬか!!」
- どーん!! という効果音とともに印籠アップ
- 格さん「ここにおられる方をどなたと心得る!! 恐れ多くも先の副将軍、水戸光圀公であらせられるぞ!!」
- 格さん「一同、図が高い!! 控えおろう!!」
といったところですね。
ここでの大きな登場人物は「ご老公」「助さん」「格さん」です。しかし、主に喋っているのは格さんなので登場人物は格さんにしぼります。つまるところ、ケータイを「格さん」にすればいいのです。
そうして考えて、大まかにアプリにするための機能として流れ図を考えました。
- ボタン押下
- 画面起動
- セリフを音声出力する
- 印籠を取り出すモーションセンサー発動
- 印籠の紋所を表示する
- 再び音声出力する
要はボタンを押下したら音声と画像が出力されるという単純なプログラムです。
このプログラムを組むにあたっては、上記2つの技術さえ身についていればなんとかなりそうです。
……が、4番の機能がちょっとくせものです。
これは腕を印籠を出すしぐさで動かさないと発動しないんですよね。
腕を90度に振らないと出ないのです。このへんはちょっとおまけ的な機能かな? と思います。
できたらやります。
……実はメインの技術的な見せ場はここなんですけど(モーションセンサー難しい)。
◆できるっぽい?
これぐらいなら10月中旬までにできそうです(モーションセンサー除く)。
別にMEXAやDojaでもいいんですけど、せっかくAndroidを購入したのでそちらで(ついでにいうと、いまお仕事でAndroidをやっているので勉強も兼ねて)。
そんなわけで、次回は具体的に作ってみたいと思います。
しかし、作るペースよりもコラムを書くペースの方が早い。ある程度ネタがストックされているので、できた段階で実現方法などを具体的に開設する技術コラムにしようと思います。年内にやります!!
……年内にそういうコラムがアップされなかったら、できなかったということにしておいてください(プロジェクト頓挫)。
◆最後に冷静になってみる
それ以前になんでわたしはこんなに真剣に水戸黄門を分析したのかがいまだによく分かりません。
せっかくなので11番以外の機能も、誰か一緒に作ってくれませんかね?(笑)
ちなみに、このコラムを執筆して公開される前に同じ仕事をしている友人にこの話をしたら、とにかく盛りあがり、「せめて印籠は10月までに作ろう!」という話になりました。
案外こういうアプリってないみたいですね。世の中には楽しさが足りていない気がします。
●おまけ:友人とのお酒の席で出た会話
友 「せっかくだから万歩計機能も搭載して、目標達成したらスーパー八兵衛が出るようにしたら?」
森 「何回かに1回は失敗するの?」
友 「違う! 5回に1回しか出なくてレアなの!!」
森 「せっかくだから黄門さまも選べたらいいよね。初代とか。あー、もちろん腕を振るところ(モーションセンサー)は絶対譲らないよね!」
友 「投げメールよりもいいよね!!」
森 「うん……。でもこのアプリ、実用性ってまったくないよね」
友 「ない。けど夢がふくらんで楽しい」
森 「だよねー!! これで作っちゃって、講演するために全国行脚したらまさに水戸黄門!!」
友 「やればいいのに」
森 「オファーがきたらよろこんで!!」
そんなわけで講演オファー待ってます(笑)。
コメント
mojina
こんにちは。タイトルから爆笑しました。
これ、刑事編でもできそうですよね。
「動くな!FBIだ!」みたいな。
ついでに「24」編とかもやってみませんか?笑
HAL_T
す、素晴らしい! これ、欲しい!
よし、Androidの勉強するぞ。
第3バイオリン
森姫さん
こんばんは、第3バイオリンです。
水戸黄門分析に爆笑しました。
ふだん何気なく見ている水戸黄門も、言われてみればそうだなあと妙に納得しました。
(というより、このパターンで何十年も続いていることがすごいです)
アプリケーションの報告、楽しみにしていますね(プレッシャー?)。
ご友人もおっしゃるとおり、こういうネタって夢がどんどんふくらんでいくところがおもしろいですよね。
私も以前、趣味が高じて「音符と♯、♭の数で楽曲の難易度を数値化する」
プログラムの要件定義をしてみたことがあります(実装には至らず)。
はじめのパラメータは音符と記号の数だけでしたが、
「同じ音が続くところと音程が飛ぶところは難易度違うよね」
「メロディーの部分と伴奏の部分は重みづけを変えなくちゃ」
と、どんどんパラメータが増えていって結局要件定義フェーズで挫折しました。
(最大の難関は入力方法ですが・・・スキャナで楽譜を読み込んで音符を抽出?)
このように考えていくと、何気なく見たり聞いたりしていたことを見直すきっかけにもなりますよね。
森姫
皆様
コメントありがとうございます~!!
そしてお返事が大変遅くなってごめんなさい。
mojinaさん
タイトルを思い浮かんだ時に「これは・・・未来の時代劇かも」とか思いました(笑)
実は刑事手帳編もあったんですよ~。
胸ポケットからとりだすしぐさをして
「こういうものですが・・・」という感じ。
「24」は実はみたことないのですが、
あらすじは知っているので応用編でやってみたいですね!
森姫
HAL_Tさん
ありがとうございます!
こんな爆笑必須(自分で言うなよ・・・)な記事をきっかけに
いろいろな方にAndroidに興味をもっていただければと。
お勉強がんばってくださいね!!
森姫
第3バイオリンさん
アプリケーションは実はモーションセンサ以外は今日時点で
ほとんどできているんですよ~(笑)
コツってほどでもないですけど、
「なにかつくろう!」って思ったら
まず単純なところから始めて、それを改造していく感じがいいと思います。
第3バイオリンさんもおっしゃる「楽譜読み取り」も
最初は単純に音符の数を判定するプログラムをつくって
どんどん機能をたしていけばいいんじゃないでしょうか?
って、入力方法が難しそうですけど・・・(笑)
(スキャナか、DTMみたいな感じとか??)