---
# System prepended metadata

title: C++互動式小說模板使用說明
tags: [note]

---

---
tags: note
---

# C++互動式小說模板使用說明

:::danger
可能會有些地方爛掉，這個時候嘗試在爛掉的地方附近加幾個換行
或者是在程式碼裡面加上`#define FILE_DEBUG`來除錯

記得是從.data裡面的start.txt開始，一定要有這個檔案
所有的txt都必須放在.data資料夾，那資料夾最好不要放別的東西
:::

## 主程式

[Google Drive](https://drive.google.com/drive/folders/1k-4UrLmFbDCN54yxr30Ux5i7lQW_rXPE?usp=sharing)

---

## 架構

首先會先從`.data`資料夾裡面的start.txt開始運作
途中經過的每個檔案都會放進stack裡面直到使用指令[back]就會從上一個檔案裡跳過來的地方之後繼續進行

---

## 功能

這個模板的所有功能都是用[]個標籤來進行
同時，功能之間以空行做分隔

---

### none

什麼標籤都沒加
會直接輸出

---

### branch

走進一個分支，會將目前進度儲存進stack
在目標檔案裡執行[back]時會從範例所示的next column繼續進行

#### 用法

```
some contents

[branch]
[target.txt]

next column
```

---

### option

進行選項，會將目前進度儲存進stack
在目標檔案裡執行[back]時會從範例所示的next column繼續進行

:::danger
注意
這個標籤只包含一個輸入
不會在螢幕上輸出
描述選項請用none來完成
:::



#### 用法

```
some contents

option description

[option]
[A][target_A.txt]
[B][target_B.txt]
[C][target_C.txt]

next column
```

---


### riddle

猜謎時用
輸入一個答案直到正確
錯誤時會有罰時
輸入正確之後會從範例所示的next column繼續進行


#### 用法

```
some contents

riddle description

[riddle]
[answer_of_the_riddle]

next column
```

---

### back

回到上一個檔案，會從stack讀取上一個檔案進行到的地方跳回去
通常放在分支檔案的結尾要回到主線時

#### 用法

```
some contents

[back]
```

---

### fend

檔案結束，程式終止
放在主線的最後一個column或是在分歧結局中的結尾

#### 用法

```
some contents

[fend]
```