C++ 为什么';t这将取代';Xs';有空格';s int-mapSizeX=30; int-mapSizeY=10; 字符串映射[10][30]; charplayermovement; 对于(int i=0;i
尝试添加以下内容以查看您的竞技场:C++ 为什么';t这将取代';Xs';有空格';s int-mapSizeX=30; int-mapSizeY=10; 字符串映射[10][30]; charplayermovement; 对于(int i=0;i,c++,C++,尝试添加以下内容以查看您的竞技场: int mapSizeX = 30; int mapSizeY = 10; string map[10][30]; char playerMovement; for (int i = 0; i < mapSizeY; i++) { for (int j = 0; j < mapSizeX; j++) { map[i][j]= "X";
int mapSizeX = 30;
int mapSizeY = 10;
string map[10][30];
char playerMovement;
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
map[i][j]= "X";
cout << map[i][j];
}
cout << endl;
}
for (int i = 1; i < mapSizeY - 1; i++)
{
for (int j = 1; j < mapSizeX - 1; j++)
{
map[i][j] = " ";
cout << map[i][j];
}
cout << endl;
}
cout您将输出到cout
两次。在使用X打印整个竞技场后,删除这两个cout,然后打印整个竞技场,每侧只短一块空白。因此,您将逐个打印它们。您要做的是在相同的嵌套for循环中打印它们,如下所示:
... // Previous code without printing
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}
for(int i=0;i cout似乎你不明白cout
是如何工作的。你可能想再看看课本。在第二个循环中,你可以写cout
... // Previous code without printing
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
if (i == 0 || j == 0 || i == mapSizeY - 1 || j == mapSizeX - 1) {
map[i][j] = "X";
cout << map[i][j];
}
else {
map[i][j] = " ";
cout << map[i][j];
}
}
cout << endl;
}
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
if (i == 0 || j == 0 || i == mapSizeY - 1 || j == mapSizeX - 1) {
map[i][j] = "X";
}
else {
map[i][j] = " ";
}
}
}
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}