第7回 ネットワークiアプリのためのサーバサイド活用(2):90Xi専用ゲームiアプリ開発講座(4/4 ページ)
今回も引き続き、第5回までに作成した900i専用のトレーディングカードゲームを、ネットワーク対戦に対応させるために、アプリとサーバの間のインタフェースの設計および、実装を行う。
サーバ側で設計を工夫する
プログラムで行うことが増加し、複雑に入り組んでくると、ひとつひとつのクラスやメソッドが肥大し、後の修正や、機能追加のさいの障害になりかねない。そうならないためには、コーディングを行いながら、上手く全体の設計を修正していく必要がある。今回もコーディングを行いながら、設計を組み替えていく作業を行った。
一つめは、ACTIONに応じて処理を振り分ける制御クラスを作成したことだ。具体的には、アプリからのリクエストに応じて行われる処理を、SWITCH文を用いて切り替えている。処理の内容も、中身に応じたクラスに処理させることで、直感的に分かりやすくなるよう配慮した。
またさらにもう一つ、DBAccessクラスを管理するDBオブジェクト管理クラスを作成した。DBAceessクラスをいちいちインスタンス化するのは面倒だし、場合に応じて何をインスタンス化すべきか考えるのも複雑になってしまうので、DBAccessクラスを管理するクラスを作成したわけだ。
getDAOメソッドを利用してDBAccessサブクラスのインスタンスを取得する。インスタンスは初めて作るときのみ生成し、それ以降は使いまわす。使う側は何も考えずに、getDAOメソッドで必要なものを呼びだすだけで、最適な処理を行える。
今回のまとめ
今回解説したサンプルアプリは、http://www.apcon.jp/itmedia2004/07/download.htmから、直接ダウンロードして試すことができる(ドコモ端末のみ)。また、ソースはこちらからダウンロードが可能だ。
これまで、2回に渡ってネットワーク対戦アプリのサーバ側(加えてアプリの通信部分)の解説を行ってきた。ここまでくると、ネットワーク対戦アプリに必要なパーツは一通り揃ったといってよいだろう。しかし、まだまだ基本的なところしか用意されていない。これでは目の肥えたユーザーは満足してくれないかもしれない。次回はこのアプリをさらによいもの、面白いものにするため、どういう改善方法があるかという点について考察する。
筆者紹介──澤橋辰典・武上将樹
ケータイアプリ(iアプリ/EZアプリ/Vアプリ)のNo1ポータルサイト「アプリ★ゲット」を運営するスパイシーソフトに勤務。
澤橋は学生時代、iアプリのコンテストでゲームアプリやツールアプリを制作し、入賞経験がある。また、所属していたサークルの後輩に、ものづくりの楽しさやアプリの奥義を授け、その後輩も入賞していることから、自らをiアプリエヴァンジェリスト(伝道者)と呼んでいる。現在も大手企業にOEM提供しているアプリの開発を行っている。
武上は、イーアクセスとの共同事業「どこでも読メール」や、各社にOEM提供しているアプリメールサービスなどで、主にサーバサイドやデータベースまわりの開発を担当している。ゲームアプリは、もっぱらプレイ専門。
関連記事
- 連載バックナンバー
- 第1回 90xiの時代に何を作るか
ドコモのFOMA 900iシリーズが普及し始め、パケット定額制サービス「パケ・ホーダイ」も人気を博している。こうした新たな時代のiアプリ開発とはどんなものなのだろうか。 - 第2回 カードゲームをつくってみよう
900i専用の、トレーディングカードゲームを開発してみる。まずはカーソルを動かしてカードを選択するところまで作ってみよう。 - 第3回 簡単なゲーム作成の流れを身に付ける
900i専用のトレーディングカードゲームを開発するため、今回はシーン別処理とランダムな値の取得について学んでいく - 第4回 カメラ機能を使ってカードを作ろう
900i専用のトレーディングカードゲームを開発するため、今回は900iのカメラ機能と画像処理機能を利用してゲームの主役であるカードを生成する方法を紹介する。 - 第5回 スクラッチパッドへのデータ保存とダウンロードファイルの処理
900i専用のトレーディングカードゲームを開発するため、今回は携帯のスクラッチパッドを利用したデータの保存と、効果的なデータのダウンロード方法を紹介する。 - ドコモ四国、第3回iアプリコンテストを開催
ドコモ四国は今年で3回目となるiアプリコンテストを開催する。iアプリ部門、Flash部門、四国学生部門の3部門を設け、大賞には賞金30万円などが授与される。 - 第6回 ネットワークiアプリのためのサーバサイド活用(1)
ここまで900i専用のトレーディングカードゲームを開発してきたが、今度はこれをネットワーク対戦に対応させる方法を学んでいく。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.