-3
所以我正在做一个益智游戏,我来到一个问题。我的董事会稍后将在该计划中进行争夺。我想在它被炒作之前制作一份它的副本,以便在我的游戏的胜利条件下使用它。我的想法是每次用户移动一个图块时,将复制的棋盘与炒盘进行比较,看看它们是否成功(赢)。但我有点不确定如何做板的复制构造函数。这是我所做的(不按照它应该做的那样工作)。复制构造函数[数组] C++
Board::Board(int userInput)
{
this->gameSize = userInput;
int zeroPos[2] = { 0, 0 };
SetTileNumbers();
}
void Board::SetTileNumbers()
{
const int sizeOfGame = gameSize; //Size given from user when the board was created.
int tileNumber = 0; //The value given to each Tile.Number.
int row, column;
boardOfTiles = new Tile* [sizeOfGame];
for (int i = 0; i < sizeOfGame; i++)
{
boardOfTiles[i] = new Tile [sizeOfGame]; //The doublepointer is given an additional dimension
}
for (row = 0; row < sizeOfGame; row++)
{
for (column = 0; column < sizeOfGame; column++)
{
boardOfTiles[row][column].number = tileNumber; //Loops that goes through the entirety to instantiate the board of tiles.
tileNumber++;
}
}
}
void Board::SetTileNumbers(const Board& copy)
{
const int sizeOfGame = copy.gameSize;
int row , column;
boardOfTiles = new Tile*[sizeOfGame];
for (int i = 0; i < sizeOfGame; i++)
{
boardOfTiles[i] = new Tile[sizeOfGame];
}
for (row = 0; row < sizeOfGame; row++)
{
for (column = 0; column < sizeOfGame; column++)
{
boardOfTiles[row][column].number = copy.boardOfTiles[row][column].number;
}
}
}
它以什么方式不按预期工作? – ZivS
如何使用'std :: array'让你的生活更轻松? –
你的问题是什么?您发布的代码不是复制构造函数。 – interjay