По геометрии/алгебре стояли двойки, перестал учить матешу ещё с 6 класса, поэтому сам я не в состоянии разобрать это. В общем, мне нужно узнать с какой стороны стоит юнит от юнита, помогите пожалуйста
Принятый ответ
function GetDirection takes unit u, unit targ returns int
local real alpha = GetUnitFacing(u)
local real gamma = bj_RADTODEG * Atan2(GetUnitY(targ)-GetUnitY(u), GetUnitX(targ)-GetUnitX(u))
if gamma < 0 then
set gamma = 360. + gamma
endif
if (alpha < 180. and not(gamma > alpha and gamma < alpha + 180.)) or (alpha > 180. and gamma > alpha - 180. and gamma < alpha) then
return 2
else
return 1
endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. rsfghd