モグラクラスの動作検証前回に紹介したモグラクラスの叩き台に磨きをかけて,実際に動くものができるかどうかを検証してみる。モグラクラスの実装方法も,少しスマートになるように変更を加えているので順に説明を加えていきたい。
インタフェースの活用前回のモグラクラスの叩き台は,かなり不恰好なものなので,多少なりとも整理する必要がありそうだ。より実用性を増したバージョンをリスト2に示しておくので参考にして欲しい。 このリストには,いくつかのポイントがある。今回はインタフェースの利用について少し取り上げておきたい。というのもインタフェースは,オブジェクト指向で格好をつけたい(?)ときに,とても有効に機能する仕掛けだからだ。 インタフェースはよく利用されているので,その使い方はよく知っている読者が多いと思う。iアプリでも,たとえばキーボードを押したとき,あるいはユーザーインタフェースコンポーネントの通知にインタフェースが利用されている。説明するまでもないと思うが念のために書いておくと,たとえば,
class myclass implements KeyListener { という具合に使われる。パネル(Panel)で次のようにすれば,mのkeyPressedとkeyReleasedにキーのステータスが送信される仕掛けだ。
m = new myclass(); もちろん,プログラマが自分のインタフェースを定義することもできる。リスト1に示したモグラクラスでも「スコアを通知」するためにインタフェースを利用した。定義は次のとおりだ。
interface MoguraListener { MoguraListenerを実装するクラスのscoreCounter()というメソッドに,モグラがヒットされたか,あるいはヒットされなかったかの情報が送信される仕掛けである。 インタフェースは,とても便利な仕組みだ。なぜ便利かは,前回に掲載したモグラクラスの最初のバージョンを見てもらえば,すぐに分かる。 前回のモグラクラスでは,モグラを貼り付ける「モグラパネルクラス」のscoreCounter()というメソッドを呼び出すようになってる。これでも動作に問題はないが,モグラクラスを別のiアプリに使いまわそうと思ったときに問題が起こることは,容易に想像できるのではないだろうか。モグラクラスを使うためには必ずモグラパネルクラスが必要になってしまうが,別のiアプリを作るときには,そういう縛りがあると困るのである。 インタフェースなら,そんな縛りはない。適当なクラスにMoguraListenerを実装しさえすれば,得点の集計ができるから,汎用性がグッと増す。インタフェースがあるからこそ,モグラクラスが自立できる,と言い換えてもいいかもしれない。 モグラクラスが動作するか確かめるリスト2に,リスト1に掲載したモグラクラスの動作を確かめるためのiアプリを掲載しておく。このiアプリは,まだゲームとして成立するかどうか(よく言うゲームバランス)の調整や,画面のつくりこみは行っていないが,モグラクラスが思惑通りの動きをしていることが確認できる。 このiアプリはここからダウンロードできるので試してみて欲しい。試用したGIFファイルは,前回に引き続きポータルサイトVlinkにある連載「ドット絵職人といふもの21」からいただいた。 なお,いつものように動作確認には「N503i」を使用している。他の携帯では動かない可能性もあるので,そのような場合は症状をリポートをしてほしい。 [米田聡,ITmedia] 関連記事 連載バックナンバー Copyright © ITmedia, Inc. All Rights Reserved. モバイルショップ
最新スペック搭載ゲームパソコン
最新CPU搭載パソコンはドスパラで!!
FEED BACK |