我正在制作一个制作地图的程序。在我的打印映射函数中,我将布尔值作为参数。因此,如果showTreasure为true,则宝贝将打印出来,反之亦然。我必须在地图上打印字符。 T为最终的宝藏,S为整个程序的开始,X为玩家访问过的地方,P为玩家当前所在的地方。如果这些都不适用,它会打印一颗星。我想出了如何做宝贝和明星,但我似乎无法让其他三个人工作。这就是我所拥有的:
// Cell types - The Map can have any of these
// characters at a location on a Map.
const char START = 'S';
const char PLAYER = 'P';
const char TREASURE = 'T';
const char EMPTY = '*';
const char VISITED = 'X';
打印地图功能:
// Name: PrintMap
// Description: Prints the Map as shown in example
// program output on assignment page.
// Return: Nothing
// ---------------------------------------------------
void PrintMap(const char Map[][COLS], const bool showTreasure, int &TreasureR, int &TreasureC,
int &StartR, int &StartC, int &Row, int &Col)
{
for (int row = 0; row < ROWS; row++)
{
for (int col = 0; col < COLS; col++)
{
if ((row == TreasureR && col == TreasureC) && showTreasure == true)
cout << TREASURE;
else if ((row == StartR && col == StartC) && showTreasure == true)
cout << START;
else
cout << EMPTY;
}
cout << endl;
}
}
答案 0 :(得分:0)
莫因,
只是想知道为什么你通过const char Map[][COLS]
但没有使用它。
只需在Map[row][col]
为真的条件下打印showTreasure
的值即可。
那么您将不需要额外的int&
参数。
Greez Alnjeno