我知道这可能是一个愚蠢的问题,答案很简单,但是经过一个小时的互联网搜索,我找不到解决方法。
public bool GetCollision(int x, int y)
{
bool isPassable;
if (x < 0 || x >= 20)
{
isPassable = false;
}
if (y < 0 || y >= 20)
{
isPassable = true;
}
return isPassable;
}
在倒数第二行上,它说isPassable未分配...但很显然,我在if语句中将其分配给它。就我而言,“if”陈述必定存在一些根本性的误解。
那么,我该怎么做呢?非常感谢你。
最佳答案
那是因为它没有明确设置默认值。默认情况下,将isPassable设置为False即可完成。
您也可以执行以下操作:
return (!(x < 0 || x >= 20) && (y < 0 || y >= 20))
编辑:以上解决方案仅在您的IF之间存在AND关系的情况下才有效。