好的,我知道这个操作有另一个名字,但是如果我知道它,我只需在google中搜索并找到正确的算法。我希望你能理解,从下面的图我的意图:确定x/y网格索引的算法
好了,让我们假设我们有例如3x3的对象网格
...
...
...
这些对象中的每个人都有指标,从0开始和结束(。) 8
012
345
678
然后让使用以下循环:
w = 0; h = 0;
go :
w = 0;
for(; w<grid.width; w++)
{
statuses[w][h] = isActor(CORESPONDENT_INDEX_GOES_HERE);
if(w == grid.width-1 && h != grid.height-1)
{
h += 1;
goto go;
}
}
isActor
是一个返回当前对象状态的函数,它需要正确的索引。
我应该把什么,而不是CORESPONDENT_INDEX_GOES_HERE
?如果我使用w*h
它不起作用,我知道为什么。它不会返回正确的索引。
什么是正确的算法呢?
什么是'goto go'? – 2014-09-22 08:20:35
@TioPepe'goto go'怎么样?它是循环关键字'goto',将编译器重新映射到标签'go' – Edenia 2014-09-22 08:21:52
当然'w * h'会导致乘以零?那么,你会为几个网格位置传递零? – Gareth 2014-09-22 08:23:34