为什么不用空格代替"X"
why doesn't this replace the 'Xs' with space's
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;
}
由于某些原因没有将X替换为空格并将其添加到X之后并且没有创建"竞技场",顺便说一下,这是针对蛇的游戏
两次输出到cout
。只有在编辑完字符串后,才从循环和输出中删除cout << map[i][j];
:
... // Previous code without printing
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}
尝试添加以下内容来查看您的竞技场:
cout << endl << endl;
cout << "The arena: " << endl << endl;
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}
在打印出带有X的整个竞技场后,您将打印出带有空白的整个竞技场,每边只缩短一个贴图。所以你要一个接一个地打印它们。你要做的是在同一个嵌套的for循环中打印它们,像这样:
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;
}
if-子句检查当前迭代是否是边(如果在X或Y轴上为0,或者在X或Y轴上是数组中的最后一个元素)并打印X,如果不是(它在字段中)则打印一个空格。
我想给你一个小提示:我会直接用字符初始化字段,而不打印它。
那么像这样初始化这个字段:
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] = " ";
}
}
}
然后在你完成了关于蛇,食物和其他东西的方程并将它们全部写入你的' map '变量之后,去打印整个地图,像这样:
for (int i = 0; i < mapSizeY; i++)
{
for (int j = 0; j < mapSizeX; j++)
{
cout << map[i][j];
}
cout << endl;
}
希望我能帮上忙!
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 为什么不能修改对象中的值?另外,我如何改进此链表?
- 为什么不调用移动构造函数?(默认情况下只有构造器,没有别的)
- C++ 基本 CTOR 说明 - 为什么不调用赋值/复制构造函数
- 为什么不递增?(构造函数)
- 为什么不允许成员函数和非成员函数之间的函数重载?
- 为什么不允许使用可变长度数组作为向量元素?
- C++:为什么不调用移动构造函数?
- 在 C++ 中声明 const 对象需要用户定义的默认构造函数.如果我有一个可变成员变量,为什么不呢?
- 为什么不能用常量表达式声明数组?
- 为什么不能直接引用作用域枚举类成员,而不能为无作用域枚举生成类成员?
- C++ queue.front();为什么不从第一个元素开始呢?
- 为什么不允许这种交叉广播?
- 通过构造函数方法输出的类到类类型转换是 5500 为什么不是 5555
- 为什么不能通过在错误输入后设置 std::cin.clear() 来使用 std::cin?
- 为什么不支持 Xcode 1.5?
- 为什么不能使用带有模板的 lambda
- 为什么不需要在 C++20 中的依赖类型之前指定"typename"?
- 无法弄清楚为什么不计算空格数
- 为什么 c++ 编译器在中间放置空格时不输出下一行的文本?