アイコン イチから始める,
iモードJava
プログラミング
 [第17回]

モグラクラスの動作検証

前回に紹介したモグラクラスの叩き台に磨きをかけて,実際に動くものができるかどうかを検証してみる。モグラクラスの実装方法も,少しスマートになるように変更を加えているので順に説明を加えていきたい。

【国内記事】 2001年6月8日更新

インタフェースの活用

 前回のモグラクラスの叩き台は,かなり不恰好なものなので,多少なりとも整理する必要がありそうだ。より実用性を増したバージョンをリスト2に示しておくので参考にして欲しい。

 このリストには,いくつかのポイントがある。今回はインタフェースの利用について少し取り上げておきたい。というのもインタフェースは,オブジェクト指向で格好をつけたい(?)ときに,とても有効に機能する仕掛けだからだ。

 インタフェースはよく利用されているので,その使い方はよく知っている読者が多いと思う。iアプリでも,たとえばキーボードを押したとき,あるいはユーザーインタフェースコンポーネントの通知にインタフェースが利用されている。説明するまでもないと思うが念のために書いておくと,たとえば,

class myclass implements KeyListener {
   ..
 public void keyPressed(
  Panel p, int param) {
 ...
 }

 public void keyReleased(
  Panel p, int param) {
 }
}

という具合に使われる。パネル(Panel)で次のようにすれば,mのkeyPressedとkeyReleasedにキーのステータスが送信される仕掛けだ。

 m = new myclass();
 setKeyListener(m);

 もちろん,プログラマが自分のインタフェースを定義することもできる。リスト1に示したモグラクラスでも「スコアを通知」するためにインタフェースを利用した。定義は次のとおりだ。

interface MoguraListener {
 public void scoreCounter(boolean f);
}

 MoguraListenerを実装するクラスのscoreCounter()というメソッドに,モグラがヒットされたか,あるいはヒットされなかったかの情報が送信される仕掛けである。

 インタフェースは,とても便利な仕組みだ。なぜ便利かは,前回に掲載したモグラクラスの最初のバージョンを見てもらえば,すぐに分かる。

 前回のモグラクラスでは,モグラを貼り付ける「モグラパネルクラス」のscoreCounter()というメソッドを呼び出すようになってる。これでも動作に問題はないが,モグラクラスを別のiアプリに使いまわそうと思ったときに問題が起こることは,容易に想像できるのではないだろうか。モグラクラスを使うためには必ずモグラパネルクラスが必要になってしまうが,別のiアプリを作るときには,そういう縛りがあると困るのである。

 インタフェースなら,そんな縛りはない。適当なクラスにMoguraListenerを実装しさえすれば,得点の集計ができるから,汎用性がグッと増す。インタフェースがあるからこそ,モグラクラスが自立できる,と言い換えてもいいかもしれない。

モグラクラスが動作するか確かめる

 リスト2に,リスト1に掲載したモグラクラスの動作を確かめるためのiアプリを掲載しておく。このiアプリは,まだゲームとして成立するかどうか(よく言うゲームバランス)の調整や,画面のつくりこみは行っていないが,モグラクラスが思惑通りの動きをしていることが確認できる。

 このiアプリはここからダウンロードできるので試してみて欲しい。試用したGIFファイルは,前回に引き続きポータルサイトVlinkにある連載「ドット絵職人といふもの21」からいただいた。

 なお,いつものように動作確認には「N503i」を使用している。他の携帯では動かない可能性もあるので,そのような場合は症状をリポートをしてほしい。

テキスト版リスト1/リスト2

[米田聡,ITmedia]

関連記事
▼ 非公式の携帯Javaに課金──ニフティが課金システムを提供
▼ iアプリ開発であなたもアプリ成金になれる?
▼ SO503iの“iアプリバグ”の正体は?
▼ 携帯向けJava,3社の違いは?
▼ 一般向け「iアプリ」市場は立ち上がるのか?
▼ iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開


連載バックナンバー

▼ 付録 iモードJava開発関連リンク集

▼ 第1回 プログラム作成への準備

▼ 第2回 iアプリ製作の流れ

▼ 第3回 ファーストiアプリケーション

▼ 第4回 i-JADEを使おう

▼ 第5回 preverifyの環境作り

▼ 第6回 iアプリでミニゲーム〜グラフィックの取り扱い

▼ 第7回 読者からの質問コーナー

▼ 第8回 キーボードに合わせてグラフィックを動かす

▼ 第9回 クラスって何だろう?

▼ 番外編 ドコモ,公式iアプリ作成ツールを公開

▼ 第10回 NTTドコモの開発ツールを使ってみよう

▼ 第11回 サウンドを使ってみる

▼ 第12回 読者からの質問コーナー〜2

▼ 第13回 スクラッチパッドへの書き込み

▼ 第14回 ネットからデータをダウンロードする

▼ 第15回 アニメーションGIFを使ってみる

▼ 番外編2 iアプリのセキュリティは破られていない

▼ 第16回 もぐら叩きを作る〜1

▼ 第17回 モグラクラスの動作検証

▼ 第18回 読者からの質問コーナー〜3

▼ 第19回 サウンドを鳴らす

▼ 第20回 iアプリの割り込み〜再開処理を実装する

▼ 第21回 サーバと通信を行ってみる

▼ 第22回 iアプリプログラマのためのezplus入門

▼ 第23回 J-フォンのJava仕様

▼ 第24回 iアプリの達人になるには?

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!