如果找到这段代码:
int error;
if (error > 0)
{
if (error || (move_y > 0))
{
los_x_1 += move_x;
error -= delta_y;
}
}
Run Code Online (Sandbox Code Playgroud)
这里:http://roguebasin.roguelikedevelopment.org/index.php?title = Other_version_of_BLA
我认为代码是在C#中,但上面的代码块不起作用; 我在想它正在检查它是否'错误== 1',但我不确定.有任何想法吗?
不,这可能是C(或C++),其中"任何非零值"对于布尔结构被视为"真".所以C#将是:
int error;
...
if (error > 0)
{
if (error != 0 || (move_y > 0))
{
los_x_1 += move_x;
error -= delta_y;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于if (error > 0)
条件总是正确的,所以它已经在它内部是毫无意义的- 代码是有效的:
if (error > 0)
{
los_x_1 += move_x;
error -= delta_y;
}
Run Code Online (Sandbox Code Playgroud)
(编辑:那并不是说代码当然是正确的......只是展示它目前实际做了什么.)