内容説明
ゲーム開発で、楽しみながらC++が学べる!
プロのクリエイターが教えるC++の入門書
C++は今も多くの分野で使われ続ける、世界的に人気の高いプログラミング言語です。
大規模なシステム開発や高速処理が求められる分野はもちろん、Unreal Engine を中心とした本格ゲーム開発では主要言語として採用され、C++スキルを求める企業も非常に多いのが特徴です。
本書では、そんな強力な言語を「ゲーム開発」というワクワクする題材を通して、手を動かしながら楽しく身につけられる構成になっています。
■こんな人におすすめ
・ゲーム開発をきっかけにC++を無理なく習得したい人
・CからC++へのステップアップに挑戦したい初学者
・クラスやオブジェクト指向が苦手で、実例を通じて理解したい人
・専門学校・大学の授業や演習で使える教材を探している教員・学生
■目次
Part 1 C言語の基礎を復習する
Chapter 1 C/C++学習の準備
Chapter 2 C言語の基礎を総復習しよう①
Chapter 3 C言語の基礎を総復習しよう②
Part 2 C++の基礎を学習する
Chapter 4 C++の入出力、string型、メモリ管理、名前空間
Chapter 5 C++の関数、ファイル処理、乱数
Chapter 6 C++のクラス定義の基礎
Chapter 7 C++のクラス定義の応用
Part 3 C++をCUI上で動くミニゲームで学ぶ
Chapter 8 おみくじ、クイズ、文章生成アプリを作ろう
Chapter 9 数当てゲーム、穴埋め問題、ミニSLGで学ぼう
Chapter 10 迷路ゲームでリアルタイム処理を学ぼう
Part 4 C++をグラフィックを用いたゲームで学ぶ
Chapter 11 グラフィックを用いたゲーム制作の準備
Chapter 12 ゲームを作るためのアルゴリズム
Chapter 13 アクションゲームを作ろう
Chapter 14 2人対戦ゲームを作ろう
■購入者限定ダウンロード特典付き
Appendix 1 STLを活用する
Appendix 2 ライフゲームとマンデルブロ集合
※本書に収録しきれなかった付録の解説ページとサンプルファイルを提供します
目次
表紙
はじめに
サンプルファイルについて&本書の前提
本書の構成と開発するゲームの紹介
目次
Chapter 1 C/C++学習の準備をはじめよう
1-1 C++について
1-2 拡張子を表示する
1-3 Visual Studioのインストール
1-4 Visual Studioの使い方
1-5 プログラムの記述ルール
1-6 デバッグの基本を知ろう
column C++をマスターすれば最強のプログラマー
Chapter 2 C言語の基礎を総復習しよう①
2-1 main関数
2-2 出力と入力
2-3 変数、型、演算子
2-4 配列、文字列を扱う配列
2-5 条件分岐
2-6 繰り返し
2-7 関数
Chapter 3 C言語の基礎を総復習しよう②
3-1 構造体
3-2 ポインタ
3-3 ファイル処理
3-4 乱数
3-5 マクロ
3-6 2進法と16進法を理解する
Chapter 4 C++の入出力、string型、メモリ管理、名前空間
4-1 出力と入力
4-2 string型とbool型
4-3 newとdeleteによるメモリ管理
4-4 例外処理
4-5 名前空間
Chapter 5 C++の関数、ファイル処理、乱数
5-1 参照と関数の参照渡し
5-2 関数のオーバーロード(多重定義)
5-3 デフォルト引数を用いた関数定義
5-4 関数テンプレート
5-5 <fstream>によるファイル処理
5-6 <random>による乱数
column オブジェクト指向プログラミング
Chapter 6 C++のクラス定義の基礎
6-1 メンバ
6-2 カプセル化 アクセス制御
6-3 カプセル化 セッタとゲッタ
6-4オブジェクトをポインタで扱う
6-5オブジェクトを配列で扱う
6-6 メンバ関数の宣言と定義を分離する
6-7 静的メンバ
6-8 コンストラクタ
6-9 コンストラクタのオーバーロードとデフォルトコンストラクタ
6-10 デストラクタとメモリ解放
Chapter 7 クラス定義の応用
ワンポイント:第7章を読む前に。
7-1 オブジェクトの初期化と代入
7-2 コピーコンストラクタ、代入演算子のオーバーロード
7-3 クラスの継承
7-4 継承時のメンバへのアクセス
7-5 オーバーライド
7-6 オブジェクトのポインタと仮想関数
7-7 ポリモーフィズムの基礎
7-8 純粋仮想関数、抽象クラス
Chapter 8 おみくじ、クイズ、文章生成アプリを作ろう
8-1 CUIとGUIについて
8-2 おみくじアプリで学ぶ
8-3 おみくじアプリの課題の解答と解説
8-4 クイズゲームで学ぶ
8-5 クイズゲームの課題の解答と解説
8-6 メッセージ生成アプリで学ぶ
8-7 メッセージ生成アプリの課題の解答と解説
column ミニゲームを作って力をつけよう
Chapter 9 数当てゲーム、穴埋め問題、ミニSLGで学ぼう
9-1 プログラムを読み解く力の大切さ
9-2 数当てゲームの穴埋め問題
9-3 数当てゲームの穴埋め問題の解答と解説
9-4 単語入力ゲームの穴埋め問題
9-5 単語入力ゲームの穴埋め問題の解答と解説
9-6 アイスクリーム販売SLGのプログラムを読み解く
9-7 アイスクリーム販売SLGのプログラムの解説
column 実行形式ファイルをコマンド プロンプトやPower Shellで実行する
Chapter 10 迷路ゲームでリアルタイム処理を学ぼう
10-1 C言語やC++でリアルタイム処理を行う
10-2 制作する迷路ゲームの内容と学習の流れ
10-3 迷路ゲームのプログラム1(C言語で記述、構造体を使わない)
10-4 迷路ゲームのプログラム2(C言語で記述、構造体を使用する)
10-5 C++で書き直す1(クラス定義1:メンバ変数、コンストラクタ)
10-6 C++で書き直す2(クラス定義2:メンバ関数、セッタとゲッタ)
column CUI上グラフィックを描く
Chapter 11 グラフィックを用いたゲーム制作の準備
11-1 DXライブラリの導入
11-2 Visual StudioでC++のプロジェクトを作成する
11-3 DXライブラリを使用するための設定を行う
11-4 リアルタイム処理
11-5 キーボードとマウスによる入力
11-6 図形を描く、色を扱う
11-7 画像を表示する
11-8 音のファイルを扱う
column 3DCGを描く
Chapter 12 ゲームを作るためのアルゴリズム
12-1 アルゴリズムとは
12-2 マップデータの管理
12-3 背景の表示
12-4 キャラクターを動かす
12-5 物体を自動的に移動する
12-6 複数の物体を自動的に動かす
12-7 ヒットチェック1 円による判定
12-8 ヒットチェック2 矩形による判定
12-9 背景とのヒットチェック
columnアルゴリズムを学ぶ大切さ
Chapter 13 アクションゲームを作ろう
13-1 「避けゲー」でクラス定義を復習する
13-2 「避けゲー」のプログラムの全体像
13-3 「避けゲー」のクラス定義、処理の詳細
13-4 「ジャンプアクション」でvectorの使用方法を学ぶ
13-5 「ジャンプアクション」のプログラムの全体像
13-6 「ジャンプアクション」のvector、処理の詳細
column フレームレートを一定に保つ
Chapter 14 2人対戦ゲームを作ろう
14-1 この章で開発するゲーム内容と学習の流れ
14-2 新しいプロジェクトを作り、ヘッダーファイルを用意する
14-3 ヘッダーとソースに基本的な項目を記述する
14-4 二次元配列でマス目に並ぶブロックを管理する
14-5 文字列をセンタリング表示する関数を組み込む
14-6 画面遷移を組む込む
14-7 機体を操作するクラスの設計1 メンバの宣言
14-8 機体を操作するクラスの設計2 メンバ関数の実装&機体を描く
14-9 機体を操作するクラスの設計3 メンバ関数の実装&機体を動かす
14-10 スコア計算と勝敗判定を組み込んで完成させる
column 画像と音の素材を使って改良する
おわりに
サンプル&特典のダウンロード
索引
奥付



