我需要设计一个“科技树”,类似于你在文明游戏和类似游戏中所拥有的东西。它不需要花哨,但它确实需要相当长。我应该用哪一种?
发布于 2017-01-22 12:27:30
如果你只是想一次把它画出来,那么就有很多种可能性--我建议你看看:
两者都很好。
但是,如果您可能需要(重新)多次生成流程图,或者表示也存储在代码中的决策树,那么很有必要考虑生成一个点语言表示,可能是从代码中自动生成,并通过墨维兹点工具运行。
例如,代码:
digraph {
start [label="Attacked"];
start -> decision;
decision [shape=diamond, label="Do you have\nany weapons?"];
decision -> armed [label="Yes"];
decision -> unarmed [label="No"];
unarmed [shape=box, label="Suffer"];
armed [shape=diamond, label="Are you\nproficient?"];
unarmed -> die [label="Quickly"]
armed -> die [label="No"]
armed -> fight [label="Yes"]
die [shape=box, label="Die"]
fight [shape=box, label="Fight"]
{ rank=same; armed; unarmed }
}当运行点工具时,结果是:

这听起来可能需要做很多工作,但是添加新节点是快速而容易的,另外,如果您已经以代码或表格式进行了决策,那么使用python脚本提取细节并更新图表是快速而容易的。
上述所有工具如下:
https://softwarerecs.stackexchange.com/questions/38919
复制相似问题