Показать сообщение отдельно
  #1 (permalink)  
Старый 30.04.2019, 13:55
dTM dTM вне форума
Новичок на форуме
Отправить личное сообщение для dTM Посмотреть профиль Найти все сообщения от dTM
 
Регистрация: 13.06.2018
Сообщений: 7

Вычисление длины вопросов квиза с ветвлением
В общем возникла такая проблема. Делается условно абстрактный квиз с ветвлением. Причем ветвлений может быть несколько и количество вопросов в каждой ветке не одинаково.
Условный пример как выглядят правила для вопросов.
[
  {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, который снова разъединяется на разные ветки.
Соответственно для пользователя нужно выводить процент прохождения, и вот возникает вопрос, а как посчитать это дело для максимального количества вопросов, в ветке.

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

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