C++の授業

C++講義計画(C言語からの移行・ゲームオブジェクト構築まで)

🎯 目標

C言語を半年学んだ学生が、C++の基礎文法からオブジェクト指向(継承・ポリモーフィズム)を学び、最終的に GameObject クラスを継承してプレイヤーや敵を実装できるようにする。


🧭 全体構成(全15回想定)

テーマ技術目標演習例

1

C++導入・Cとの違い

iostream / 名前空間 / new / delete

Cのprintf版→C++出力へ書き換え

2

関数と参照・オーバーロード

参照渡し・デフォルト引数・関数多重定義

距離計算関数のオーバーロード

3

クラス・コンストラクタ入門

class / public / private / this

Vector2構造体→Vector2クラス化

4

クラスの設計とヘッダ分離

.h / .cpp 分離と include 管理

Vector2, Rect クラス実装

5

動的メモリとコンテナ基礎

new/delete, std::vector

std::vectorで敵リストを作る

6

コンストラクタ/デストラクタ/コピー

RAIIの考え方

ファイル読み込み管理クラス

7

継承入門

Base / Derived クラス / protected

EnemySlime, Bat など作る

8

仮想関数とポリモーフィズム

virtual, override, GameObject*管理

GameObject 基底で Draw/Updateを仮想化

9

純粋仮想関数・抽象クラス

=0 の概念、基底クラス設計

GameObject を抽象化して管理リストに追加

10

スマートポインタ・メモリ安全化

std::unique_ptr, std::shared_ptr

std::vector<unique_ptr<GameObject>>

11

継承+多態性の活用

virtual呼び出しと override確認

Enemy / Player / Item を一括更新

12

クラス間関係・静的メンバ

static, const, クラス内定数

ObjectManager 実装

13

名前空間・クラス分割整理

namespace, include guard

game/, engine/ に分離

14

総合演習:ミニゲーム制作

ゲームループ構築

コンソール or DxLibで動作確認

15

発表・振り返り

設計比較・自己評価

ソース+UML提出・口頭説明


🧩 ステップ詳細

STEP 1〜4:C++基礎をCとの違いで理解

STEP 5〜6:クラスとメモリ管理

STEP 7〜9:継承とポリモーフィズム

for (auto obj : objects) obj->Update();

STEP 10〜11:メモリ安全化

STEP 12〜15:まとめとゲーム制作


🎮 最終課題例

タイプ

内容

コンソールRPG

Character 継承で Player / Enemy を共通管理

2Dアクション (DxLib)

GameObject継承で Ball / Block / Paddle 管理

スネーク風ゲーム

GameObject多態性で SnakeHead / Fruit 管理


📘 授業設計のポイント


💡 まとめ

15回で「C構文→クラス→継承→仮想関数→安全なゲーム構造」まで自然に到達できる構成。 最終的には、ポリモーフィズムを使ってGameObjectを扱う“C++らしいゲーム設計”を完成させる。


Revision #1
Created 8 October 2025 01:53:26 by youe2
Updated 2 June 2026 20:52:33 by youe2