我需要在我的2D阵列的宝藏位置打印'T'。我遇到了麻烦。我有一个全局常量,其中TREASURE ='T'...当我打印我的地图时,它会在地图之后而不是在实际位置打印宝藏位置。我必须为我的Start位置做同样的事情。代码:
void PrintMap(const char Map[][COLS], const bool showTreasure)
{
int TreasureR, TreasureC;
int StartR, StartC;
for (int row = 0; row < ROWS; row++)
{
for (int col = 0; col < COLS; col++)
{
if ((row == TreasureR && col == TreasureC) && showTreasure == true)
cout << Map[row][col];
else if ((row == StartR && col == StartC) && showTreasure == true)
cout << START;
else
cout << EMPTY;
}
cout << endl;
}
}
答案 0 :(得分:0)
您可以添加条件逻辑,了解如何处理地图位置的项目。
这是一个简单的例子:
for (unsigned int col = 0; col < maximum_columns; ++col)
{
for (unsigned int row = 0; row < maximum_rows; ++row)
{
char c = Map[row][col];
// Process any special printing
switch (c)
{
case 'T':
if (!showTreasure)
{
c = ' ';
}
break;
case 'M':
if (!showMonster)
{
c = ' ';
}
break;
}
cout << c;
}
cout << '\n';
}