うまく修論が通れば大学院を卒業して,晴れて社会人になる. 入社試験でC++のプログラミングを課されるくらいなので,きっと仕事でC++を使うんだろう. そこで,軽く文法等を覚えるために入社前に勉強することにした. 【現状】 研究ではもっぱら数値計算用ソフト(MATLAB)のみを使っており,メモリ等を意識してプログラムを組むことは無い. 変数の宣言やメモリの確保のような行儀の良いプログラムを書くのは3年前くらいにCでかじった程度. 純粋に文法を勉強するのもあほらしいので, ゲームプログラマになる前に覚えておきたい技術 っていう分厚い本を買って読むことにした. 第一章ではいわゆる倉庫番のプログラムのお勉強. 読みすすめていくと,プログラムから醸しだされる著者の優秀さを感じ取った. 優秀なプログラマの書くプログラムは読んでて感動する. 本を読んでみて重要だと思った点をコメントアウトで追記しつつプログラムを組んだ. 以下はコンソール上で倉庫番を楽しむプログラム. コピペしてコンパイルすれば動くはず. #include<iostream> using namespace std; // ステージのオブジェクトの定義 // 列挙型に出来るときはなるべく使う. // 利点は2つ.変な値が入らない+デバッグの際に列挙型の名前で確認できる. // 区別のために要素は大文字. enum Obj{ // 列挙型は単なるint型 SPACE, // 0 WALL, // 1 GOAL, MAN, MAN_ON_GOAL, BLOCK, BLOCK_ON_GOAL, UNKNOWN, }; // ステージ // グローバル変数はどこからも見えるので接頭辞をつけて区別する. // いじらない変数にはconstをつける. // キャメル記法推奨. // 文字列定数の途中で改行する場合は文末に\が必要. const char gStage[] = "\ ##########\n\ # p #\n\ # .o 0 #\n\ # #\n\ ##########"; // 幅と高さ const int gHeight = 5,gWidth = 10; void initia
コメント
コメントを投稿