授業計画 |
| 回数 |
学習目標 |
学習項目 |
| 1 |
【ポーカー①】
・プロジェクトをビルドして実行ファイルを作成出来る
・メインループ、FPSの概念を理解する
・ゲームの流れ、ポーカーのカードを管理するクラスを作成できる |
開発環境 VisualStudio を用いたビルド方法
メインループの役割、
デルタタイム |
| 【理解度確認】実習課題の成果物によって確認する |
| 2 |
【ポーカー②】
・画像ファイルをテクスチャとして読み込み、ゲーム画面に描画出来る
・ポーカーの山札や手札のカードを作成できる |
std::vectorの使い方
画像インスタンスの生成
2Dスプライトの描画方法 |
| 【理解度確認】実習課題の成果物によって確認する |
| 3 |
【ポーカー③】
・アニメーションでカードを裏返しする演出を表示出来る
・手札のカードを表示出来る |
キーボードからの入力の取得方法
状態管理(PokerStateクラス)
画像ハンドルの扱い |
| 【理解度確認】実習課題の成果物によって確認する |
| 4 |
【ポーカー④】
・状態管理のフローを拡張出来る
・手札のカードをホールド、交換出来る |
オフセットの概念 |
| 【理解度確認】実習課題の成果物によって確認する |
| 5 |
【ポーカー⑤】
・役判定のロジックを実装出来る
・BGM/SEの再生が出来る
・デバッグ処理の実装が出来る |
std::sort, std::mapの使い方
デバッグ処理 |
| 【理解度確認】実習課題の成果物によって確認する |
| 6 |
【倉庫番①】
・倉庫番の概要、ゲーム内容が理解出来る
・ポーカーとの実装面での共通点や違いが理解出来る
|
Colliderクラスの使用方法
衝突イベントコールバックの使用方法(敵と衝突した弾を消す) |
| 【理解度確認】実習課題の成果物によって確認する |
| 7 |
【倉庫番②】
・ファイルからマップを読み込み出来る
・オフセットによる画像の中央揃いが理解出来る
・スプライトによるアニメーション再生が出来る |
テキストファイル読み込み
std::vectorによる2次元配列の実装
三項演算子
Flipbookクラスによるスプライトアニメーション
|
| 【理解度確認】実習課題の成果物によって確認する |
| 8 |
【倉庫番③】
・プレイヤーを移動・制御出来る
|
プレイヤーにスプライトアニメーション適用
プレイヤーの移動 |
| 【理解度確認】実習課題の成果物によって確認する |
| 9 |
【倉庫番④】
・マップ上においてある荷物を移動出来る
・ゲームの状態をリセット出来る |
荷物の移動(壁判定の予測と対応) |
| 【理解度確認】実習課題の成果物によって確認する |
| 10 |
【倉庫番⑤】
・ゲームのクリア判定条件を実装出来る
・複数のステージをデータから読み込むことが出来る
・ゲームで主に使う3つのクラスの連携を理解出来る |
複数のテキストデータを活用
ゲーム状態のリセットの共通化 |
| 【理解度確認】実習課題の成果物によって確認する |
| 11 |
【シューティング①】
・自機の弾を管理するクラスを実装出来る
・csvファイルの構造を理解出来る
・弾、アニメーション、スプライトのデータ管理の構造を理解出来る
・ポーカー、倉庫番との実装面での共通点や違いが理解出来る |
csvファイル読み込み
|
| 【理解度確認】実習課題の成果物によって確認する |
| 12 |
【シューティング②】
・オブジェクトの生成をまとめるObjectFactoryクラスを理解出来る
・2つのパターンの敵キャラクターを実装出来る(垂直に移動、登場してから離脱するパターン)
・敵キャラクターを実装出来る
|
csvファイルに書き込み
オブジェクト生成をまとめるObjectFactoryクラス |
| 【理解度確認】実習課題の成果物によって確認する |
| 13 |
【シューティング③】
・弾と敵の当たり判定(Collision)を理解出来る
|
Collision機能を用いた当たり判定 |
| 【理解度確認】実習課題の成果物によって確認する |
| 14 |
【シューティング④】
・ゲーム画面に地上レイヤーを設けて別途管理が出来る |
レイヤーに合わせて攻撃、当たり判定などを分離 |
| 【理解度確認】実習課題の成果物によって確認する |
| 15 |
【シューティング⑤】
・ステージの実装
・ステージエディタの必要性を理解出来る |
ステージデータの実装
ステージエディタの利用 |
| 【理解度確認】実習課題の成果物によって確認する |