gpt4 book ai didi

c++ - 在 C++ 中搜索二维数组以查看一行/列是否与另一行相同

转载 作者:搜寻专家 更新时间:2023-10-31 02:02:16 24 4
gpt4 key购买 nike

我正在创建一个电子游戏,其中包含一个用于放置游戏板的二维数组我想创建一个函数来搜索数组的每个索引以查看是否发生了碰撞,即如果玩家一进入一个正方形,而玩家二已经进入了它,那将是一次碰撞

我不知道如何开始,但我写的代码是我认为可行的,但它只是没有搜索或返回任何东西

    board::searchForCollision(){
found = false;
for (board[0][0]; board[0][0] <100; board[0][0]++)
{ if (board[0][0] == board[0][0] +1){
found= true;
}
else
found = false;

}
return found;
}

我写的代码是我认为可行的代码,但它只是没有搜索或返回任何东西。

最佳答案

很遗憾,您犯了一些逻辑错误。

显然,您想要检测二维数组中的某个单元格是否包含一些数据。看着你的循环:

for (board[0][0]; board[0][0] <100; board[0][0]++)

for 循环的第一部分通常初始化“for”中使用的“running”变量。但是 board[0][0]; 什么都不做。这是一个空操作。没有操作。你也可以把它放在一边。它将编译为空。然后,在 for 循环的条件部分,您只是检查板上的一个特定单元格,索引为 0,0 的单元格是否小于 100。您总是在查看同一个单元格 0,0。 “for”语句的最后一部分也是如此。您总是递增单元格 0,0。

在下面的 if 中,您比较的是同一个单元格 0,0 是否等于同一个单元格 0,0 + 1。这永远不会成立。它总是错误的。就像写 if (3 == 4) 一样。这永远行不通。

此外,您在 if else 语句中对 true 和 false 的处理也不起作用。

您可能想要做的是迭代数组的索引。

有点像

for (size_t row = 0U; row < 100 ; ++row)
for (size_t col = 0U; col < 100; ++col) {
// do something with array[row][col];
}
}

我帮不了你太多,因为这个问题对我来说不是很清楚。

关于c++ - 在 C++ 中搜索二维数组以查看一行/列是否与另一行相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57572172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com