【发布时间】:2018-06-15 22:42:58
【问题描述】:
您好,提前感谢您。 我需要在 C++ 中创建一个俄罗斯方块项目,我有 board 和 pieces 类,但我想做一个初始化类,所以我正在做的是这个
#include "Initializer.h"
void Initializer::drawBoard()
{
}
// --------------------------------- Public Part ----------------------- //
Initializer::Initializer(Board *bBoard, Pieces *pPieces)
{
}
void Initializer::drawScene()
{
bBoard->showBoard();
}
这是棋盘类:
Board::Board(Pieces *mPieces)
{
for(int x = 0; x < 20; x++)
{
for(int y = 0; y < 10; y++)
{
mBoard[x][y] = 0;
}
}
}
void Board::showBoard()
{
for(int x = 0; x < 20; x++)
{
for(int y = 0; y < 10; y++)
{
if(mBoard[x][y] == 0)
{
cout << 0;
}
else
{
cout << "x";
}
}
cout << endl;
}
}
主要功能
#include "Pieces.h"
#include "Board.h"
#include "Initializer.h"
#include <iostream>
using namespace std;
int main(int numeroArgumentos, char *argumentos[])
{
srand (time(NULL));
int randomNumber = rand() % 6;
Pieces mPieces;
Board bBoard(&mPieces);
Initializer iIOS(&bBoard, &mPieces);
bBoard.showBoard();
iIOS.drawScene();
return 0;
}
问题是,当我执行主函数时,我得到两个不同的结果,如图所示(bBoard.showBoard 是左侧结果,另一个是 iIOS.drawScene())
我必须做些什么才能获得具有这两个功能的正确板?
【问题讨论】:
-
为你删除了 C 标签,因为这显然不是 C。
-
您的
Initializer构造函数对其参数没有任何作用。 -
使用调试器查看
bBoard中的drawScene。