Я новичок в программировании на C ++. И я должен сделать игру в шахматы, я должен создать фигуру (у меня есть классы для всех частей игры, используя иерархию) и доску с матрицей объектов.
Piece* board[8][8];
У меня есть заголовок класса Piece
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
}
Итак, я хотел бы знать, как я могу распечатать эту доску? Со всеми фигурами в нужных местах. Если это необходимо, вы можете показать совершенно другое решение, я просто хотел бы узнать возможный ответ!
Спасибо!
Задача ещё не решена.
Других решений пока нет …