|
IT総合情報ポータル「ITmedia」 |
ITとビジネスのニュース専門サイト「ITmedia News」 |
企業のためのIT情報サイト「ITmedia エンタープライズ」 |
IT製品導入支援サイト「TechTargetジャパン」 |
経営者とCIOのコミュニティー「ITmedia エグゼクティブ」 |
PCとMacの専門サイト「ITmedia +D PC USER」 |
携帯、スマートフォンの専門サイト「ITmedia +D Mobile」 |
電子書籍の専門サイト「ITmedia eBook USER」 |
デジカメの専門サイト「ITmedia デジカメプラス」 |
AV機器の専門サイト「ITmedia +D LifeStyle」 |
旬なモノネタ「ITmedia ガジェット」 |
ニコ生、Ustreamの動画番組表「ライブガイド」 |
ビジネスブログ・メディア「ITmedia オルタナティブ・ブログ」 |
ちょっと気になるネットの話題「ねとらぼ」
連載 90Xi専用ゲームiアプリ開発講座:
|
|
ランダムオブジェクトを生成する
|
生成したランダムオブジェクトを以下のように使用すると整数値の乱数を取得できる
|
このメソッドで返ってくる値はintが表現できるすべての値なので、-2147483648 〜 2147483647(-2^31 〜 2^31-1)の間の値になる(0を含む)。例えば、-100〜100の値を使用したければ、以下のようにすれば、-100〜100の整数値が返ってくる。
|
直感的に利用できるように、最小値と最大値を渡すとその間の乱数を返してくれるメソッドranRangeを次のように作成した。
|
今回はシーン遷移に慣れるために、少ない画面数で単純明快なルールのカードゲームを作成する。そこでゲームのルールは以下のように設定した。
ソースコードはここからダウンロードできる。では、実際にソースを見ながらゲームの流れを追ってみよう。
シーンがSCENE_TITLE時のメイン処理では、決定ボタンが押されると、カードをセットして、シーンをSCENE_GAMEに移している。
|
自作のメソッド、private static int[] cardSet(int max) は、引数に11〜19を指定すると、合計値が引数の値になるように、ランダムな値が格納された長さが3の整数型配列を返してくれる。ゲーム中のプレイヤーと相手の所持カードの値はstockP,stockEというint型配列に保持している。
バトルが始まると、左右キーでカーソルを動かしてカードを選び、決定キーが押されると、自分のカードと相手のカードの数値を比較し、数値の高いほうがそのターンの勝者となる。勝敗の結果は変数statusに保持される。statusの値が示す情報は以下の通り。
0:未勝負, 1:勝ち, 2:負け, 3:引き分け
バトル中の画面の描画は、プレイヤーのカードを右下に、対戦相手のカードは左上に配置し、上から黒く塗りつぶして不可視状態にしている。カードの横にはそのカードの勝敗結果が表示される。
|
3回勝負が済むと、勝敗結果が表示され、ソフトキー2(右上のオプションキー)を押すと、バトル中に使用した変数を初期化してタイトルへと戻る。
今回はゲーム作成の一連の流れを理解してもらうために、画面遷移を書き、シーン別にイベント処理と描画処理を行う簡単なカードゲームを作った。しかし、これだけではカードの収集、交換ができず、トレーディングカードゲームと呼ぶにはまだ足りない。
次回は900iに標準で搭載されているカメラを用いて、撮影した画像を解析し、カードを生成するというカッコイイ処理を解説する。また、生成されたカードがどんどん増えてくると、ゲームのデータを保存する必要が生じるため、「スクラッチパッド」と呼ばれる記憶領域にデータを保管することになる。この方法も併せて解説する予定だ。
|
[澤橋辰典・武上将樹,ITmedia]
Copyright© 2012 ITmedia, Inc. All Rights Reserved.
最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!
最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!