easy.math.qsp v. 2.4.0
Работа с координатной сеткой
#coords.get#
Определяет координаты ячейки по текущему номеру ячейки. Эта функция пригодится при организации двумерного массива, через одномерный, или при отрисовке игровых полей заданной ширины.
args[
- текущий номер ячейки или блока0
]N
;args[
- ширина поля1
]W
;$args[
- управление:2
][x]
- координата по оси X;[y]
- координата по оси Y;- пустое значение,
[xy]
или[x][y]
- обе координаты возвращаются в формате[x:00] [y:99]
.
Пример таблицы:
y/x | 0 1 2 3
--- -|---------------- N = x + y * W
0| 0 1 2 3 N - номер ячейки
| x - координата по горизонтали
1| 4 5 6 7 y - координата по вертикали
| W - ширина прямоугольника =Xmax+1
2| 8 9 10 11
| y = N/W
3| 12 13 14 15 x = N - Y * W
--- -|---------------- N = x + y * W
0| 0 1 2 3 N - номер ячейки
| x - координата по горизонтали
1| 4 5 6 7 y - координата по вертикали
| W - ширина прямоугольника =Xmax+1
2| 8 9 10 11
| y = N/W
3| 12 13 14 15 x = N - Y * W
Результат работы функции:
func('#coords.get#',10,3+1,'[x]')=2
func('#coords.get#',10,3+1,'[y]')=2
$func('#coords.get#',10,3+1)="[x:2] [y:2]"
$func('#coords.get#',10,4,'[x][y]')="[x:2] [y:2]"
func('#coords.get#',10,3+1,'[y]')=2
$func('#coords.get#',10,3+1)="[x:2] [y:2]"
$func('#coords.get#',10,4,'[x][y]')="[x:2] [y:2]"