2002年度ゲームプログラミング ゲームプログラミング 第9回:一人テニスゲーム、完成! (ゲームとしての体裁を整える) 2002年度ゲームプログラミング オープニング画面を出そう(1) ゲームオーバー画面と同じように作る ゲームのwhileループの前に、もう一つwhile ループを作る タイトル、操作方法等を表示する ボタンが押されたらスタートするように 2002年度ゲームプログラミング オープニング画面を出そう(2) オープニングのループ (ゲームのwhileループの前に置く) while(…){ //Escを押したら終了 ボタンを押したらbreak; 文字を登録 sp_update(); wait(); } 2002年度ゲームプログラミング MIDIを鳴らす場合 オープニングの曲を鳴らしたい場合は、 オープニングのwhileの前にmid_loop(); ゲーム中に曲を流したい場合は、ゲームの whileとオープニングのwhileの間に mid_loop(); 両方のループでそれぞれ別の曲を流す場合は、 一度mid_close()を行ってから再びmid_open() すること 2002年度ゲームプログラミング 繰り返し遊べるようにする(1) 今までのプログラムの流れ ↓初期設定 ↓オープニング ↓ゲーム中 ↓ゲームオーバー ↓プログラム終了 中央の3つ(オープニング~ゲームオーバー) をwhileを使ってくり返す。 2002年度ゲームプログラミング 繰り返し遊べるようにする(2) プログラムの流れ ↓初期設定 while(…){ ↓オープニング ↓ゲーム中 ↓ゲームオーバー } ↓プログラム終了 2002年度ゲームプログラミング 繰り返し遊べるようにする(3) ファイル読み込み、キャラクターの設定等は 最初に1回だけすればOK ボールの座標、スコア等はゲームの度に初 期化することが必要 →ゲームのwhileループの前で 座標、スコアを初期化してやる 2002年度ゲームプログラミング プログラムの整理 一つの関数(main関数等)が大きすぎると、 流れを理解するのが大変で、バグも発生しや すい 初期設定、タイトルのループ、ゲーム中の ループ、ゲームオーバーのループ等を、それ ぞれ関数化してみよう パラメータの受け渡し(引数)を減らす為に、 グローバル変数を使ってみよう 2002年度ゲームプログラミング グローバル変数(1) 普通の変数 →関数の中でのみ有効 グローバル変数 →プログラム全体で有効 有効範囲が広すぎるので、多人数で開発す る際には慎重な使用(もしくは使わないこと) が望まれる 2002年度ゲームプログラミング グローバル変数(2) 宣言の方法 →関数の外で、使用する前に宣言。 #include “gdk.h” int sp,bg; //sp,bgのグローバル宣言 main(){ sp=…; } //グローバル変数の使用 //(main以外の関数でも使用可能) 2002年度ゲームプログラミング 整理後のmain関数(一例) main(…){ initGame(); //ファイル読み込み等 while(…){ opening(); //オープニングループ playGame(); //ゲームのループ ending(); //ゲームオーバー } endGame(); //終了処理 } 2002年度ゲームプログラミング ゲームをより面白くする どうしたら面白くなるか考える ↓ それをどうやったら実現できるか考える ↓ プログラムを組んでみる ↓ 実際に遊んでみて調整 2002年度ゲームプログラミング 最終課題に向けて これまでに学んだことを駆使して、どんなゲー ムを作れるか考えよう →最後の授業で優秀な作品を作った人を表彰 →今までに無い、新しいゲームを作った人は、 別途表彰 最終課題の容量の制限 →フロッピーディスク1枚(1.4メガ) →画像は結構容量を使うので、(フルサイズで 2枚程度が限界)、計画的に使おう
© Copyright 2024 ExpyDoc