私はC++プログラミングの初心者です。そして、私はチェスゲームをしなければなりません.Piece(階層を使用して、ゲームのすべての部分のクラスがあります)と、オブジェクトのマトリックスを持つボードを作成する必要があります
Piece* board[8][8];
私はピースクラスのヘッダーを持っています
class Piece{
public:
Piece(char color1);
char getColor();
char getName();
virtual bool isValid(int row, int col, int rowDest, int colDest, Piece* board[][8]);
private:
char name;
char color;
};
次に、Board クラス ヘッダーがあります。
class Board{
public:
Board();
~Board();
void Board();
bool ehValido(int,int,int,int,Piece*);
private:
Piece* board [8][8];
};
そして、ボードに対して次の方法を実行しようとしました。
Board::Board(){
Piece* piece;
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < 8; j++)
{
if(i = 0 && j = 0) { piece = Rook('B');
else if(i == 0 && j == 1){ piece = Knight('B'); }
else if(i == 0 && j == 2){ piece = Bishop('B'); }
else if(i == 0 && j == 3){ piece = King('B'); }
else if(i == 0 && j == 4){ piece = Queen('B'); }
else if(i == 0 && j == 5){ piece = Bishop('B'); }
else if(i == 0 && j == 6){ piece = Knight('B'); }
else if(i == 0 && j == 7){ piece = Rook('B'); }
else if(i == 1) { piece == Pawn('B'); }
else if(i == 7 && j == 0){ piece = Rook('W'); }
else if(i == 7 && j == 1){ piece = Knight('W'); }
else if(i == 7 && j == 2{ piece = Bispo('W'); }
else if(i == 7 && j == 3){ piece = Queen('W'); }
else if(i == 7 && j == 4){ piece = King('W'); }
else if(i == 7 && j == 5){ piece = Bishop('W'); }
else if(i == 7 && j == 6){ piece = Knight('W'); }
else if(i == 7 && j == 7){ piece = Rook('W'); }
else if(i == 6){ piece = Pawn('W'); }
board[i][j] = piece;
}
}
}
そして、メインクラスで次のように印刷しようとしました:
#include "Piece.h"
#include "Board.h"
int main()
{
Board t;
t.show(); //show was created to show the board, probably it's wrong
}
では、このボードを印刷する方法を教えてください。すべての部品を適切な場所に配置します。必要に応じて、まったく異なる解決策を示すことができます。可能な答えを知りたいだけです!
ありがとう!