Добавлен , опубликован
Всего пара строк кода, но получается чёткая фигура. Попытайтесь догадаться как это работает? =)
триггер1
function stop_drawing takes nothing returns nothing
  call DisableTrigger(gg_trg_go)
endfunction

function Trig_initialization_Actions takes nothing returns nothing
  local timer t = CreateTimer()
  set udg_loc = Location((GetUnitX( gg_unit_h000_0001)+GetUnitX( gg_unit_h000_0002))/2,(GetUnitY( gg_unit_h000_0001)+GetUnitY( gg_unit_h000_0002))/2)
  call FogEnable(false)
  call FogMaskEnable(false)
  call TimerStart(t,40.0,false, function stop_drawing )
endfunction

//===========================================================================
function InitTrig_initialization takes nothing returns nothing
    set gg_trg_initialization = CreateTrigger(  )
    call TriggerAddAction( gg_trg_initialization, function Trig_initialization_Actions )
endfunction
триггер2
function Trig_go_Actions takes nothing returns nothing 
  local integer r = GetRandomInt(1,3)
  call CreateUnitAtLoc(Player(0),'h000',udg_loc,0.00)
  if r == 1 then
  call MoveLocation(udg_loc,(GetLocationX(udg_loc)+GetUnitX( gg_unit_h000_0001))/2,(GetLocationY(udg_loc)+GetUnitY( gg_unit_h000_0001))/2)
  elseif r == 2
  call MoveLocation(udg_loc,(GetLocationX(udg_loc)+GetUnitX( gg_unit_h000_0002))/2,(GetLocationY(udg_loc)+GetUnitY( gg_unit_h000_0002))/2)
  elseif r == 3
  call MoveLocation(udg_loc,(GetLocationX(udg_loc)+GetUnitX( gg_unit_h000_0003))/2,(GetLocationY(udg_loc)+GetUnitY( gg_unit_h000_0003))/2)
  endif
  
  
endfunction

//===========================================================================
function InitTrig_go takes nothing returns nothing
    set gg_trg_go = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_go, 0.01 )
    call TriggerAddAction( gg_trg_go, function Trig_go_Actions )
endfunction
весь код
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
15
6 лет назад
0
Raised:
Куда интересней было бы услышать твои соображения о том где это можно применить в игре.
Можно сделать наработку для спец. эффектов заклинаний, т.к фракталы могут быть очень разными с чёткими и красивыми узорами. К примеру, во время каста заклинания во круг кастера или другой цели взаимодействия спелла создаётся фрактал из думми-обьектов, не имеющих модельки. Это шаблон узора, но нам нужно к примеру выбрать только контуры фигуры, как внешние, так и внутренние. Т.е обрисовать фрактал либо эффектом молний, либо каким-либо спец. эффектом. Для этого можно помещать в группу точки фрактала которые соответствуют условию - рядом с ними есть хотябы одна сторона, где нет точек фрактала. Так можно поместить все контурные точки в группу и на их месте создать спец. эффект, либо последовательно соединить все точки в группе эффектом молний. И удалить думми фрактал.
0
21
6 лет назад
0
DarkLigthing, всё верно, но только построение фракталов методом хаоса warcraft не в силах воспроизводить.
0
15
6 лет назад
0
ScopteRectuS:
DarkLigthing, всё верно, но только построение фракталов методом хаоса warcraft не в силах воспроизводить.
Тут да, это самое слабое место в такой системе. Неоправданно много лишних объектов, + не ясно чему равно Х времени на заполнение Х фигуры, потому что не дорисуешь - контуры будут кривые, переполнишь - рискуешь сильной посадкой производительности. Разве что реализовать сетку для точек, таким образом чтобы расстояние новоизбранной точки не могло быть ближе к существующей на некое значение.
0
21
6 лет назад
Отредактирован Raised
0
Алсо при чем тут троллинг? Ты алгоритм левый закинул и решил посмотреть что напишут или троллинг в том что троллинга нет или это ответочка на последние записи в блогах. В код не вникал. Не понравились названия функций и работа с триггерами. В общем интересно почему такой заголовок у записи.
2
15
6 лет назад
2
Raised:
Алсо при чем тут троллинг? Ты алгоритм левый закинул и решил посмотреть что напишут или троллинг в том что троллинга нет или это ответочка на последние записи в блогах. В код не вникал. Не понравились названия функций и работа с триггерами. В общем интересно почему такой заголовок у записи.
Троллинг в том, что чёткое понимание того как работает алгоритм не объясняет того, как образуется эта фигура (фрактал). Это не объяснит даже математик с научной степенью. Всё что можно сказать - это то, что такова природа фракталов. Ставка была на то, что не найдётся того кто бы знал о рекреационной математике. Ну или не так быстро... =)
0
30
6 лет назад
Отредактирован Clamp
0
чёткое понимание того как работает алгоритм не объясняет того, как образуется эта фигура
Вообще-то, объясняет, существует целая наука — «Теория Хаоса», в том числе и про это. Треугольник Серпинского, кстати, был довольно подробно разобран весьма давно.

кто бы знал о рекреационной математике
В отношении хаотических систем слово «рекреационный» применяется с натяжкой, это сильно «адвансед» уровень.

Интересный факт: у фракталов расстояние между любыми двумя точками математически бесконечно. Вроде как у всех (точно не помню), но у некоторых точно.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.