2016-11-11 74 views
1
i = 0 
while i < 84 do 
    something.Position(vectorPosInit()+Vector(0,i,20+(i%12)*12)) 
end 

我的问题是这样的: 我怎样才能使变量i为1,每12圈增加而不进行新的变量,但使用的数学?需要通过1数学增加变量每x循环

凡说这应该只使用变种i和数学

矢量仅1每12圈增加(0,(在这里),20 +(I%12)* 12)

+0

你使用什么编程语言? – Martheen

+0

我正在使用lua。 –

+0

您将需要一个计数器来计算循环次数,但是没有办法绕过它。 – LutzL

回答

1
local i = 0 
for n = 1,84 do 
    if n%12==0 then 
     i = i + 1 
    end 
end 

你是指那样的事情?

+0

等等,不,这不是我所需要的,对不起。 –

+0

我需要(这里)每12个循环增加1而不改变变量。这里有一个可能的数学解决方案。 –

+0

@janemcplain我每增加12个循环就会增加1。 – warspyking

0

我发现一种解决方法

i = 0 
while i < 84 do 
    something.Position(vectorPosInit()+Vector(0,math.floor(i/12),20+(i%12)*12)) 
end 

通过添加math.floor(I/12),这是一个可行的解决方案?

+0

是的,这是非常直接和最常见的解决方案。 –

+0

'对于i = 0,83做'有点短 –

+0

'对于y = 0,6对于z = 20,152,12做do ... + Vector(0,y,z)end end'是相同的,但是更多容易明白。 –