2008年度ゲームプログラミング
ゲームプログラミング
第7回:一人テニスゲーム、完成!
(ゲームとしての体裁を整える)
2008年度ゲームプログラミング
オープニング画面を出そう(1)
ゲームオーバー画面と同じように作る
gameStateの値でオープニング画面の状態
かどうかを区別(gameState:3)
タイトル、操作方法等を表示する
ボタンが押されたらスタートするように
2008年度ゲームプログラミング
オープニング画面を出そう(2)
ゲームの状態の流れ
↓オープニング
gameState:3
↓ゲーム中
gameState:0
↓
ゲームオーバー gameState:1
または
ゲームクリアー gameState:2
↓
↓オープニング
gameState:3
2008年度ゲームプログラミング
オープニング画面を出そう(3)
決定ボタンが押されたら
if(gc.isKeyPushed(gc.KEY_SELECT)){
「ボタンが押された時の処理」
・gameStateが3だったら0に
・gameStateが1か2だったら3に
}
2008年度ゲームプログラミング
オープニング画面を出そう(4)
drawGame()内で文字等の表示
if(gameStateが3){
タイトルを表示
説明(ルール、キー操作等)を表示
}
起動後はオープニングから始まるので、コン
ストラクタ(メソッドgame)の最後で、
gameStateを3に
2008年度ゲームプログラミング
ハイスコアの保存(1)
それまでに取った最も高い得点がハイスコア
として表示されるようにする。
ハイスコアを保存するたの変数が必要
int high=0;
init()内では初期化しない。
→ゲームを始めるごとに初期化されてしまう
→変数の宣言と同時、またはコンストラクタ
内で初期化する
2008年度ゲームプログラミング
ハイスコアの保存(2)
ハイスコアの更新処理
if(スコアがハイスコアより大きい){
ハイスコア=スコア;
}
→スコアに変化があった時に
(updateGame内で毎回判定しても可)
ハイスコアの表示
→gc.drawString();を使う
2008年度ゲームプログラミング
スクラッチパッドに保存
一般的な変数
→アプリを終了時に破棄される
スクラッチパッドのデータ
→アプリを終了させても値が保持される。
→次回起動時に値を参照できる
エミュレーター上ではファイルとして保存される
(spフォルダの下)
2008年度ゲームプログラミング
スクラッチパッド使用の準備
データ領域の確保
Project→ADF設定でSPsizeに値を入れる。
(1024等→1024byte保存できる)
保存したいパラメータを決める
ハイスコア等の最高記録、
ボリューム等のユーザー設定情報
2008年度ゲームプログラミング
スクラッチパッドの使用(1)
読み取り、書き込みメソッド
→サンプルをコピー、適宜呼び出す
→最終課題等で使う場合は適宜改造
スクラッチパッドのデータはbyte型の配列
byte型:-128~127の値を取る
範囲を超える数を保存したい場合は
int型用の保存メソッドを仕様する
2008年度ゲームプログラミング
スクラッチパッドの使用(2)
読み込みの命令 loadHighScore()
→保存領域(ファイル)があればhighに値を読
み込み。なければ保存領域をデータ作成
→起動時に1回だけ呼ぶ(コンストラクタ内)
書き込みの命令 saveHighScore()
→変数highの値を保存領域に書き込み
→ハイスコアスコア更新時に
→処理が重くなる時はゲーム終了時等に
2008年度ゲームプログラミング
ゲームをより面白くする
どうしたら面白くなるか考える
↓
それをどうやったら実現できるか考える
↓
プログラムを組んでみる
↓
実際に遊んでみて調整
2008年度ゲームプログラミング
最終課題に向けて
これまでに学んだことを駆使して、どんなゲー
ムを作れるか考えよう
→最後の授業で優秀な作品を作った人を表彰
→今までに無い、新しいゲームを作った人は、
別途表彰
最終課題の容量の制限
→フロッピーディスク1枚分(1.4メガ)
(実行ファイル、リソース、プログラム)
→画像や音は容量を食うので、計画的に。
© Copyright 2026 ExpyDoc