如何在c++中表示数组位置的范围
How do I express a range of array positions in c++?
我该如何表达:
From Array[0-9][0-9] print Player
From Array[0-9][10-79] print blankSpace
From Array[10-19[0-29] print blankSpace
From Array[10-19][30-39] print tree1
等。
如果不是很明显,我试着打印一个游戏地图,你可以通过移动"瓷砖"来控制玩家(每个都等于10 × 10的数组位置或字符空间,如果你喜欢),但我似乎找不到任何方法来"选择"数组中的一系列位置,而不是仅仅两个位置。
如果我输入[0][9]作为播放器的例子,它会在那个位置打印播放器字符,但看到我打印的是char类型。它只等于'!’例如。我要打印一个正方形的"!"例如,它将占用10x10个字符。
然后使用我的逻辑,如果我可以"选择"一系列数组位置,我就可以使用Player()函数打印出一个预定义的字符数组,组成我的整体角色外观。空格和tree1等也是一样。
任何对我的失败逻辑的帮助/批评/讽刺的玩笑都将是感激的。
好吧,没有内置的方法可以像你描述的那样处理范围,但是有循环,非常接近:-)
for (int j = 0; j != 10; ++j) {
for (int i = 0; i != 10; ++i) {
PrintPlayerAt(j, i);
}
}
看起来你最终要"重新绘制"整个矩形区域,虽然,使光标在(我假设是控制台/命令行)窗口中跳跃是非平凡的。因此,我建议将您的逻辑从面向对象的"打印this *here*"更改为面向位置的"当我们在here时,打印this"。一些伪代码来澄清:
for (int j = 0; j != 20; ++j) {
for (int i = 0; i != 80; ++i) {
if ((0 <= j && j < 10) && (0 <= i && i < 10)) {
PrintPlayer();
}
else if ((10 <= j && j < 20) && (30 <= i && i < 40)) {
PrintTree();
}
// ...
else {
PrintBlankSpace();
}
}
}
遗憾的是,在c++中没有内置的方法来做到这一点。不过,您可以使用嵌套循环遍历数组。
相关文章:
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 如何在数组中交换最小和最大的位置?
- C++ 2D 数组写入多个位置
- C++指针数组到字符数组中的特定位置
- 递增 'int i = 0' 以在初始化的字符数组的位置递增
- 数组中所有元素的最新最小元素的第五个位置
- 关于引用数组位置的问题
- 在给定元素在螺旋上的位置的情况下,在二维数组中查找元素
- 创建 2D 数组0xCCCCCCCC访问冲突写入位置
- 如何计算 3d 数组中的索引值在内存中的位置?如何计算字符**中的索引值在内存中的位置?
- 如何在 3x4 数组中随机 4 个不同的位置
- C++不同内存位置中的默认数组值
- 使用动态数组访问冲突写入位置
- 将字符串分配到动态数组位置时出错
- 查找数组位置的最大值
- 如何使用变量名称引用数组位置
- 面向对象C++帮助?出于某种原因,对象变量的输出返回数值数组位置而不是实际值
- 在 C++/CLI Visual Studio C++ 中以指定的数组位置将文本框中的值保存在 char 中
- 将名称添加到C++中的数组位置
- 如何在c++中表示数组位置的范围