Другое построение Формации.
в предыдущем коде заменить функцию blockFormation() на этот код !
Код:
Function blockFormation(n )
ring = Sqr(n)
idx = n - (ring*ring)+ring
If idx >= ring
formationY = ring
formationX = 2*ring - idx
Else
formationX = ring
formationY = idx
EndIf
End Function
ещё вариант :
Function blockFormation(n )
ring = Sqr(n)
idx = n - (ring*ring)-ring
If idx >= ring
formationY = ring
formationX = 2*ring - idx
Else
formationX = ring
formationY = idx
EndIf
End Function
ещё
Function blockFormation(n )
ring = Sqr(n)
idx = (n - (ring*ring)+n)/2
If idx >= ring
formationY = ring
formationX = 2*ring - idx
Else
formationX = ring
formationY = idx
EndIf
End Function
и ещё ...
Function blockFormation(n )
ring = Sqr(n)
idx = (n - (ring*ring))-((ring*ring) /n)
If idx >= ring
formationY = ring
formationX = 2*ring - idx
Else
formationX = ring
formationY = idx
EndIf
End Function
А так же чтоб поменять направление расстановки ,достаточно
добавить эти строки:
formationX = formationX *-1 ; или 1
formationY = formationY *-1 ; или 1