3

我有一个想法来设计一个故事应用程序,该应用程序根据用户的选择具有多个结局。例如 :

故事1->选择(A,B,C)->用户选择A->故事2,依此类推。

一种方法是简单地以蛮力方式创建它,即按原样创建流。但是以后如果我必须做出改变,那就很难了。所以我正在考虑为文本创建一个数据结构,但没有任何想法。

而且现在我有原始文本,那么我应该使用什么格式在我的应用程序中获取文本并根据数据结构使用它?

请指导我。

图片下方显示了图形视图。故事从根本上开始,每个孩子都是一个选择。每个孩子都有故事内容,但在图片中我只包括了选择。

应用程序的图形流

对于低分辨率的图片,我很抱歉,我无法用大图片获得整个图表。

提前致谢。

4

3 回答 3

1

我能想到的最好方法

1)有向图 G(V,E) 如下:

E = 带有“权重”功能的边,指示用户在故事中选择的路线。

V = 包含您要讲述的故事部分的节点。

现在让我们做一个流动模拟:

用户在他当前所在的 Vertices 'v1'中阅读故事的一部分,然后给出多重选择(从'v1'退出的边数)。

用户选择了他想要走的路径,假设他选择了路径 2。

然后你前进到那个 Vertic\node v2并向用户展示存储在 vertic\node v2 中的故事的一部分

2)关于将“Stroy”保存在什么数据类型中的问题..这取决于更重要的是HD空间还是快速加载程序。

高清空间:查看像霍夫曼树这样的压缩方法(非常基本,实现起来并不难 \ Zip 曾经使用过这个......也许我仍然不知道)

快速:我会使用每个节点都有一个文件名,可以从存储在 HD 上的文件中读取文本。直截了当的将使用 STRING ,但您仅限于 Heap\Stack 大小..

id 建议您研究如何存储和加载长文本并找到最适合您的文本。

祝你好运 !

于 2013-08-20T08:08:28.183 回答
0

我会说使用有根树(树是没有循环的图)。如果您想象您的用户返回到较早的节点,那么您可能希望使用图表,因为那样您将需要循环。

于 2013-08-19T15:01:26.557 回答
0

最好的选择是有向图。有没有更复杂的东西会使这个解决方案失败?

于 2013-08-19T12:55:03.960 回答