По договоренности
Нужно дерево взаимосвязей на JavaScript.
У каждой связи может быть несколько ответов.
Так же можно задавать циклы.
Ответ может вести на пройденную связь.
Визуально линии не должны накладываться, так же не должны пересекать блоки связи.