Алгоритм дерева

я думал сегодня об идея для мелкой дичи и наткнулся на, как это реализовать. Идея заключается в том, что игрок может сделать ряд шагов, которые вызывают незначительный эффект, но если это делается в определенной последовательности вызвало бы больший эффект. Пока все хорошо, это я знаю, как это сделать. Очевидно, я должен был сделать это будет сложнее (так как мы любим, чтобы сделать его более сложным), поэтому я подумал, что там может быть больше, чем один возможный путь для последовательности, которые могли бы вызвать большее воздействие, хотя и в разных. Кроме того, в состав некоторых последовательностей может быть в начале и других последовательностей, или даже целые последовательности может быть, содержащиеся в других больших последовательностей. Теперь я не знаю точно, самый лучший способ это реализовать. У меня было несколько идей, однако.

1) я мог бы реализовать круговую n-связанный список. Но поскольку список ходов никогда не кончится, я боюсь, что это может привести к переполнению стека (TM). Идея заключается в том, что каждый узел будет иметь n детей и получив команду, он может привести вас к одному из своих детей, или, если нет детей была доступна для такой команды, ведущий к укреплению. По прибытии на любой детей, пары функций, казнили бы вызывая малого и большого эффекта. Это может, однако, привести к много одинаковых узлов дерева, чтобы справиться со всех возможных последовательностей, заканчивающийся на эту конкретную двигаться с различными эффектами, которые могут быть боль, чтобы поддерживать, но я не уверен. Я никогда не пробовал, что-то в этом комплексе на код, только теоретически. Это делает алгоритм существовать и иметь имя? Является ли это хорошей идеей?

2) я мог реализации государственной машины. Затем, вместо того чтобы бродить связанный список, я бы кое-гигант вложенные выключатель, который мог бы вызывать функции и обновления машина государство, соответственно. Кажется проще в реализации, но... ну... кажется, не весело... и элегантным. Гигант переключатели, всегда кажутся уродливыми, но мне бы эту работу лучше?

3) Предложения? Я хорошая, но я еще нет опыта. Хорошая вещь кодирования поля, что, как ни странно, проблема, кто-то решил его в прошлом, но вы должны знать, где искать. Кого-то может быть лучше, чем те, что я видела, и я действительно хотел услышать предложения.

Найдено 7 ответов:

Tree Algorithm

http://stackoverflow.com/questions/187198/tree-algorithm

Посмотреть решение →