C++言語でオブジェクト指向プログラミングします。グラフィックウィンドウを使ったゲームを作成するので、DXライブラリを使います。
ポインタや構造体を理解し、プログラミングの基礎が分かっている人を対象にしています。
C++言語の細かな文法を勉強するものではなく「オブジェクト指向でプログラムを作成するってどんな感じ?」というのを体感してもらう内容です。C言語を知っていることを前提に、C言語とC++言語の違いについて説明しながら、C++言語についても理解を進めてもらいます。
オブジェクト指向プログラミング
Gameクラスを作る
コンストラクタとデストラクタ
メモリーリークの確認
基底と派生と継承
演算子のオーバーロード
多態性(virtualとoverride)
コンテナと範囲for文
矩形当たり判定(is-a関係とhas-a関係)
二つのパドル
効果音と得点
コンポーネント指向
Wallの追加
可変長配列要素追加/削除の動き
Ballの追加
Paddleの追加
Scoreの追加
ゲームオーバーの追加
効果音の追加
画像ファイルの描画
背景のスクロール
間に隙間のあるパイプ
上下する鳥
衝突処理
次々出現するパイプ
得点とゲームオーバ表示
効果音の追加
準備
プレイヤーのキー操作とジャンプ
足場生成とスクロール
当たり判定と衝突処理
竹コプターの装着と脱着
プレイヤーの落下とゲームオーバー
背景のスクロール
得点と効果音の追加
準備
タイルセットの表示
タイルセットのスクロール
タイルマップ作成エリア
マウスのドラッグ&ドロップ
デザインパターンのSingleton
デザインパターンのState
マウスドラッグ時にタイル表示
マップの複数タイル選択
選択範囲へのタイルセット
CSVファイル出力
全体説明と準備
タイルマップの読み込み(二次元のvector配列)
部屋でマップを埋め尽くす(テンプレートを作る)
迷路の自動生成
プレイヤーの追加と移動
迷路の中を歩くプレイヤー
迷路に散らばる仲間達
仲間を集める
PlayerにStateパターンを適用(dynamic_castを使う)
階段の追加
階段からの脱出
全員脱出で次のフロアへ
得点の導入
ゲームクリアとゲームオーバー
準備と背景表示
フレームと付属する文字表示
テトリミノの作成
7-bagの適用
フィールドのグリッド表示
テトリミノの自動落下
着地でNEXT自動落下
着地でフィールドに固定
テトリミノのキー操作
ライン消去
得点とレベルアップ