Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вычисление длины вопросов квиза с ветвлением (https://javascript.ru/forum/misc/77419-vychislenie-dliny-voprosov-kviza-s-vetvleniem.html)

dTM 30.04.2019 13:55

Вычисление длины вопросов квиза с ветвлением
 
В общем возникла такая проблема. Делается условно абстрактный квиз с ветвлением. Причем ветвлений может быть несколько и количество вопросов в каждой ветке не одинаково.
Условный пример как выглядят правила для вопросов.
[
  {id:0, quest:0, answer_1: 1, answer_2: 1},
  {id:1, quest:1, answer_1: 2, answer_2: 2},
  {id:2, quest:2, answer_1: 3, answer_2: 8},
  {id:3, quest:3, answer_1: 4, answer_2: 4},
  {id:4, quest:4, answer_1: 5, answer_2: 5},
  {id:5, quest:5, answer_1: 6, answer_2: 6},
  {id:6, quest:6, answer_1: 7, answer_2: 7},
  {id:7, quest:7, answer_1: 11, answer_2: 11},
  {id:8, quest:8, answer_1: 9, answer_2: 9},
  {id:9, quest:9, answer_1: 10, answer_2: 10},
  {id:10, quest:10, answer_1: 11, answer_2: 11},
  {id:11, quest:11, answer_1: 12, answer_2: 15},
]

Правила используются из-за того, что в каждом ветвление могут быть похожие вопросы на вопросы из другого ветвления, к примеру на сколько будет 5+5, но при этом они не будут последовательны. Т.е. после вопроса А, не обязательно будет повторяющийся вопрос для других веток вопрос В, вполне может идти вопрос С, и это важно. И вопросы могут снова сливаться из разных веток в одну и потом снова ветвиться. Как в примере выше когда с вопроса 2, с айди правила 3, он разъединяется но потом две ветки снова приходят к вопросу 11, который снова разъединяется на разные ветки.
Соответственно для пользователя нужно выводить процент прохождения, и вот возникает вопрос, а как посчитать это дело для максимального количества вопросов, в ветке.

Самый просто вариант - в ручную пронумеровать каждый вопрос, и забить. Но не подходит, хочется автоматизировать дело, условного конструктора.

Буду рад помощи, как идеям для подсчёта, так и возможно более удачному шаблону построения квизов с ветвлением чем мой велосипед. Мне в голову пока ничего умнее не приходит.

ksa 30.04.2019 14:13

Цитата:

Сообщение от dTM
Делается условно абстрактный квиз с ветвлением.

Ну как тут не вспомнить классика! :D
Цитата:

Трудный этот русский язык, дорогие граждане! Беда, какой трудный. Главная причина в том, что иностранных слов в нём до чёрта.
https://4ege.ru/russkiy/56279-mihail...niy-yazyk.html

dTM 30.04.2019 14:19

стеб это конечно, хорошо. Но я так понимаю, вам по существу сказать нечего?

ksa 30.04.2019 14:21

dTM, для учета количества чего-либо по какому-то вопросу - нужно чтобы вопросы имели уникальные ИД...
А для построения "деревьев" нужно иметь какую-то логическую закономерность... Или просто случайно выбирать вопросы из общего списка...

ksa 30.04.2019 14:22

Цитата:

Сообщение от dTM
Но я так понимаю, вам по существу сказать нечего?

Ты спец - тебе видней... :D

dTM 30.04.2019 14:36

Цитата:

Сообщение от ksa (Сообщение 507249)
dTM, для учета количества чего-либо по какому-то вопросу - нужно чтобы вопросы имели уникальные ИД...
А для построения "деревьев" нужно иметь какую-то логическую закономерность... Или просто случайно выбирать вопросы из общего списка...

Я это понимаю. А вот вы видимо нет. Еще раз повторюсь:

Есть Quize, в котором должно быть ветвление. сколько их может быть рандом. Вопросы в двух ветках могут встречаться одинаковые но не идти в одинаковой последовательности. Ответвления, снова могут сводиться к одному общему вопросу, и разветвляться от него.

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

И вот вопрос: у нас есть три вопроса подряд, и с третьего начинается разделение на три ветки, в первой 3 вопроса, во второй 6, в третьей 5, после чего все они сходятся снова к одному общему вопросу, и расходятся на две ветки, каждая из которых делится еще на две, и в каждой разное количество вопросов. Последний вопрос, это конец.

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

ksa 30.04.2019 14:49

Цитата:

Сообщение от dTM
А вот вы видимо нет.

Ты спец - тебе видней...

Alexandroppolus 30.04.2019 15:09

Цитата:

Сообщение от dTM
Если взять максимальную длину, то циферки не сойдутся при прохождение самым коротким путем.
Вот и спрашиваю я совета. может кто знает как это сделать правильно, или на крайний случай, знает шаблон построения Quize с ветвлением вопросов.

На такие вопросы должен отвечать постановщик ТЗ, или прожект-манагер.


Часовой пояс GMT +3, время: 04:14.