+ static const char * type2str(const Type & t);
+
+ static Piece * AddPiece(std::vector<Piece*> & v, int x, int y, const Colour & colour, const Type & type1, const Type & type2, int type_index=-1);
+
+ private:
+ friend class Board;
+ Piece(int x, int y, const Colour & colour, const Type & type1, const Type & type2
+ , int type_index, int new_piece_index); // constructor
+ Piece(const Piece & cpy); // copy constructor
+
+ int piece_index; // index of the piece in Board's pieces vector
+