печать — печатная доска со всеми фигурами (объектами) — C ++ Chess Game

Я новичок в программировании на 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
}

Итак, я хотел бы знать, как я могу распечатать эту доску? Со всеми фигурами в нужных местах. Если это необходимо, вы можете показать совершенно другое решение, я просто хотел бы узнать возможный ответ!

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]