2013-08-19 35 views
3

我有一個想法,根據用戶的選擇設計一個具有多個結尾的故事應用程序。 例如:具有多個結局的故事的數據結構

故事1->選擇(A,B,C) - >用戶選擇A->故事2等等。

一種方法是簡單地用蠻力的方式創建它,即按照原樣創建流。但是,如果將來我要做出改變,那麼這將很難。所以我想爲文本創建一個數據結構,但沒有任何想法。

而且現在我有原始文本,所以我應該使用什麼格式在我的應用程序中獲取文本並根據數據結構使用它?

請指導我。

圖片下方顯示圖形視圖。從根本上講,故事開始了,每個孩子都是一個選擇。此外,每個孩子都有故事內容,但在這裏,我只包括了選擇。

graphic flow of app

我低分辨率PIC我不能讓整個圖形與大畫面抱歉。

在此先感謝。

+0

使用圖表或樹木的Imo將是您的最佳選擇,因爲您可以通過這樣的數據結構流動,就像多選題一樣 – dbkoren

+0

@dbkoren感謝您的回覆。請也可以建議我應該使用哪種格式的文本來使用它? – Ankur

+0

給你一個完整的答案,我認爲它應該足夠你,接受它,如果你覺得它有用 – dbkoren

回答

0

最好的選擇是一個方向圖。有什麼更復雜的東西可以使這個解決方案失敗嗎?

0

我會說使用一棵有根的樹(一棵樹是一個沒有周期的圖)。如果您想象您的用戶返回到較早的節點,那麼您可能需要使用圖形,因爲那樣您將需要循環。

1

我能想到的

1)面向圖G(V,E)如以下的最佳方式:

Ê =與 「重量」 功能邊緣指示的路線的用戶選擇了故事。

V =包含您想要講述的故事部分的節點。

現在,讓我們做一個流動模擬:

用戶讀取頂點「V1」目前他的故事的一部分,然後給乘法選擇(從退出的邊數'v1')。

用戶選擇他要採取的路徑,可以說,他選擇了2

那您就提前到豎壁\節點V2,並顯示在用戶存儲在VERTIC \的STROY的部分路徑節點v2

2)有關什麼數據類型保存「STROY」的問題.. 那要看什麼更importent,硬盤空間或快速加載程序。

HD空間:檢查出壓縮方法,比如霍夫曼樹(非常基本的並不難實現用於使用這一個\郵編...也許我還是不知道)

快速:我會去每個節點都有一個文件名,可以從存儲在HD上的文件中讀取文本。直接的將使用一個字符串,但然後你被限制在堆\堆棧的大小..

ID建議你研究如何存儲和加載長文本,並找到一個最適合你。

祝你好運!

相關問題