HaruLog

とある大学院生のライフログ

1から始めるゲーム開発!~1日目~

初めに

今回からこの本の内容を一通りさらっていきたいと思います。
中古で購入してしまったため内容が若干古い部分があるため、その点を補いつつ進めていきます。
Visual Studio2017(以下VS)がインストールしてある前提で話を進めたいと思います。
間違いも多々あると思うので、ご指摘いただけると幸いです。

今回やること

今回は、初めてのC++ということで、基本的なコードの書き方を勉強しました!
また基礎の基礎としてHello, Worldを出力します。

開発環境

Windows 10
Surface pro3
Visual Studio 2017 version 15.3

初めてのC++

Hello, Worldしてみました!

ソリューションの作成

VSを開き左上にあるファイルから新規作成を選び、プロジェクトを選択しましょう!
名前は適当で良いので、Sampleなどで良いと思います。

Hello,World!

恥ずかしながら、ここでかなり時間をとってしまいました……….
scalapython等の経験が無かった自分、かなり甘えていたことを再認識しました!

自分がつまずいた点は以下

  1. ファイルインポートの順番

    C++ではファイルインポートの順番を間違えるとコンパイルエラーになります!stdafx.hは何にも優先してインクルードするようにしましょう。ちなみにstdafx.hはプリコンパイルヘッダーと呼ばれるものらしく、最初に色々と設定してくれるヘッダーファイルみたいです。今後学習を進める過程で再度調べてみます。

#include <iostream>
#include "stdafx.h"

エラー

#include "stdafx.h"
#include <iostream>

コンパイル完了!

  1. 関数定義の位置

    ここもかなりハマってしまいました…。基本的にC++ではメイン関数はファイルの一番下に位置することになります。これは、メイン関数で使用できる関数はそれまでに定義した関数に限定されるためです。したがって、使用予定の関数は上に書くようにしましょう!

int main(){
    hoge();
}
void hoge(){
};

エラー

void hoge(){
};
int main(){
    hoge();
}

コンパイル完了!

それでは、標準出力を呼び出してHello, Worldをしてみましょう! C++の標準出力には、coutを使用します。coutstdという名前空間に存在するので、stdという名前空間を使用することを明示しなくてはいけません。明示するためには、using namespaceという宣言を使用します。 Hello, Worldできたコードが以下になります。

#include "stdafx.h"

using namespace std;

int main(){
    cout << "Hello, World!" << endl;
    return 0;
}

endlというのは、文末と改行を意味しています。以上、簡単なC++チュートリアルでした! C++では順番に気を付ける用にしましょう…(自戒)

次回

予定では、ゲーム開発を進めていく予定です! 3日坊主にならないように頑張ります。

参考文献

ゲームプログラマになる前に覚えておきたい技術