クラスメモ

クラスメモ4-2

//Map.h #ifndef INCLUDED_PLAYER_H__ #define INCLUDED_PLAYER_H__ #include <utility> using namespace std; class Image; class Map; //Playerはいつでも一人なので、シングルトンにする。 class Player { public: static Player* instance(); void draw() const; </utility>…

クラスメモ4-1

クラスを新しく組むときは、まず、コンストラクタ、デストラクタ、もっとも関係しそうなメンバ変数から先に与えていく。 組んだら、テストして動作するか確かめる。(特に,デストラクタのdelete忘れに気を配る.) で、もう一段複雑にする(関数を入れたり、…

クラスメモPart3-3

Mapのstructをclassに替えたもの。 Array2D<Object> mStageData; の配列がsetSizeで動的に生成されるが、この時もコンストラクタは呼ばれている。Objectクラスのコンストラクタは mFlagを0に初期化するようにしたので、邪魔くさいZeroClearは呼び出す必要がなくなっ</object>…

クラスメモPart3-2

//Map.cpp #include "Map.h" #include "File.h" #include "GameLib/Framework.h" //coutも using namespace GameLib; namespace { //Mapコンストラクタ用 unsigned GetMapSize(const char* stageData) { int x=0; int y=0; int tmp =0; for(int i=0; stageDa…

クラスメモPart5

Mapを作る経過ではまったことをメモ。 まず、.txtをbinaryモードで読み込むと、 \r\nが残る。 これは、char型の \r : 10 \n : 13 にあたる。 あとは、Mapではrow,colではわかりにくいので、x,yとか、height,widthであらわすが、その時、 二次元配列上の”たて…

クラスメモPart3-1

今回はRPG風のゲームを簡単ながら作りたいかな、と考えているので、次はMapで。 とりあえず、典型的なやつを一回作りたいので、行き当たりばったりでやってみる。マップを作るので、マップチップの性質を列挙型に定義する。 #include "Array2D.h" //宣言だけ…

クラスメモPart2

本に沿って、Fileクラスも自分で作る。 //File.h class File { public: File(const char* filename); ~File(); int getSize() const; //constメンバ関数はなるべくつける。 unsigned getUnsigned() const; const char* getData() const; private: int mSize;…

クラスメモPart1-2

Part1をテンプレートで書いてみる。 #ifndef INCLUDED_ARRAY2D_H__ #define INCLUDED_ARRAY2D_H__ template <typename TYPE> class Array2D { public: Array2D(int i,int j); ~Array2D(); void Show(); //表示させる関数 TYPE& operator()(int i, int j); //参照つけないと</typename>…

クラスメモPart1

ゲームプログラマになる前に覚えておきたい技術をやっているが、自分の力不足を認識したので、第一部から第2部に移るときに なんかいろいろ作ったほうがいいだろうと思い、メモ。この本のライブラリを使用。 まず、動的に生成される二次元配列クラスを作る…