gpt4 book ai didi

c++ - 数组问题 (if (zeds[i].x == zeds[i].x))

转载 作者:太空宇宙 更新时间:2023-11-04 16:09:57 26 4
gpt4 key购买 nike

我用 C++ 创建了一个简单的游戏,玩家必须避免被僵尸咬到才能生存。

僵尸以 Z 字符的形式存储在名为 zeds 的数组中。

我正在尝试编写一个函数来检查是否有任何僵尸发生碰撞,并采取相应的行动。

我写了这个 if 语句:

for (int i; i < MAXZEDS; ++i);
if (zeds[i].x == zeds[i].x && zeds[i].y == zeds[i].y)
{
--zlives;
updateLives();
}

显然它不起作用,我只是想知道我是否可以以某种方式重写它以仅在一个僵尸与另一个僵尸发生碰撞而不是它自己发生碰撞时减少 zlives

为标题道歉,我找不到更好的方式来总结我的问题。在此先感谢您的帮助。

最佳答案

你需要一个双循环,这样你就可以比较两个不同的僵尸。
像这样。

for (int i = 0; i < MAXZEDS - 1; ++i)
{
// Looping from i + 1 ensures that we only test each pair once.
for (int j = i + 1; j < MAXZEDS; ++j)
{
if (zeds[i].x == zeds[j].x && zeds[i].y == zeds[j].y)
{
--zlives;
updateLives();
}
}
}

关于c++ - 数组问题 (if (zeds[i].x == zeds[i].x)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918135/

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