我试图将“房间”对象的二维数组的内容作为一种打印/显示数组中的内容返回。
Room* m_map[10][10];
如下所示生成房间分散:
//Initialise array to NULL
for(int x=0;x<10;x++)
{
for(int y=0;y<10;y++)
m_map[x][y] = NULL;
}
for(int n=0; n<10; n++)
{
for(int ran=0; ran<3; ran++)
{
int r_n = rand() % 10 ;
Room* r = new Room(n, "Normal", true, false, false, true);
m_map[r_n][n] = r;
}
}
然后我想为这些房间的用户显示/打印,参考NULL。
所以我可以举例来说,如果NULL显示'#',如果它是一个房间留下''。
我不确定我应该在方法声明中返回的位?
真的很感激任何帮助或指向正确的方向
答案 0 :(得分:1)
添加一个将数组打印到类中的方法:
void print() const
{
for(int n=0; n<10; ++n)
{
for(int m=0; m<10; ++m)
{
std::cout << m_map[n][m] ? : "# " : ". ";
}
std::cout << "\n";
}
}
答案 1 :(得分:1)
循环两个维度。每当你循环播放x时,显示一列中的所有房间,然后添加一个逗号。
当到达行尾并继续前进到下一行时,只需添加换行符即可在新行上打印下一列。
void MyClass::printMap(unsigned int numOfRows, unsigned int numOfCols)
{
using std;
for(unsigned int y = 0; y < numOfRows ; y++)
{
for(unsigned int x = 0; x < numOfCols ; x++)
{
if(m_map[y][x] == NULL)
cout << # << ",";
else
cout << m_map[y][x].roomName() << ",";
}
cout << endl;
}
}