互動文字冒險輸入帶引號時,如何分清玩家在行動還是引用一句話
先判斷整句話在做什麼,再決定引文中的動作是否具備執行資格。用同一句「關窗」填完引文輸入判別卡,分別處理親自行動、角色發言、材料轉述與操作詢問,並為缺少引號的表達保留引用範圍。

開篇導讀
帶引號的輸入應先看外層意圖,再看引文內容。玩家是在要求行動、讓角色說話、轉述材料,還是詢問一句命令?只有確認了行動請求,才進入執行條件判斷。「關窗」這個動詞出現在句子裡,本身不能授權故事改變窗戶狀態。
作者可以把這條原則寫成一張引文輸入判別卡:記錄外層意圖、引文對象、是否執行、回應對象和必要追問。關鍵是把「執行說話」與「執行話裡的動作」分開,也讓解釋命令的回應停留在解釋層次。
一、先固定場景與輸入約定
以下是原創虛構教學範例,不是真實使用者案例、實測結果,也不代表 DramaFork 的產品功能。假設玩家扮演的角色站在一扇開著的窗旁,同伴阿禾在場,桌上已有一張寫著「關窗」的紙條。窗戶伸手可及,沒有阻礙。
本例約定:獨立的動作短語表示玩家角色嘗試行動;「我說……」表示角色發言;「紙條寫著……」表示轉述材料;詢問命令含義則由操作說明回應。時間是否推進另由作者規則決定,本例的說明與釐清不推進故事時間。
下文用程式碼格式標示實際輸入。因此,關窗不含引號;「關窗」則真的帶著一對引號。文章為了介紹一句話而加上的引號,不能與玩家實際輸入的字元混為一談。
還有一個前提:紙條內容已在場景中確立。若先前只出現一張未讀的紙,玩家輸入「紙條寫著『關窗』」,並不能直接證明紙上有這句話。需要先判斷玩家是在查看紙條,還是提出一種猜測;引用範圍不會賦予玩家補寫世界事實的權力。
二、用同一句命令填完判別卡
「是否執行」這一欄要寫清楚執行什麼,不能只填「是」或「否」。說出一句話也是行動,但它與關閉窗戶改變的是不同事實。
| 實際輸入 | 外層意圖 | 引文對象 | 是否執行 | 回應對象 | 必要追問 |
|---|---|---|---|---|---|
關窗 |
請求親自行動 | 無 | 檢查條件後關窗 | 玩家角色與窗戶 | 本場景無需 |
我說「關窗」 |
角色發言 | 要說出的台詞 | 執行說話,不直接關窗 | 發言行為及聽者 | 聽者不明確且會影響結果時詢問 |
紙條寫著「關窗」 |
轉述材料 | 已知紙條文字 | 不執行關窗 | 紙條內容 | 本場景無需 |
「關窗」是什麼意思 |
詢問命令含義 | 被討論的命令 | 只解釋,不執行 | 輸入規則 | 本場景無需 |
逐項寫出回應,才能看出分類是否落實到敘事中。
輸入關窗:回應「你走到窗前,把窗戶關上。」這裡請求明確,且範例的執行條件已經滿足,窗戶由開變關。
輸入我說「關窗」:回應「你說出:『關窗。』阿禾聽見了,窗戶仍開著。」這裡只確認發言。若後續要處理阿禾是否照做,還須依據這句話是否對他說、他是否願意行動等既定條件。
輸入紙條寫著「關窗」:回應「紙條上的文字是『關窗』。」這是對已知材料的確認,既不代表玩家照做,也不代表紙條擁有命令角色的權限。
輸入「關窗」是什麼意思:回應「依本例約定,單獨輸入關窗,是讓你的角色嘗試關閉窗戶;你現在是在詢問含義,尚未行動。」解釋的是語法含義,不應附帶關窗結果。
這四列應各自從同一個初始場景推演,不能把第一列關閉的窗戶帶到第二列,否則比較時會混入前一輪的影響。
三、依外層表達判斷誰在做什麼
處理順序可以固定為:先找外層述語,再圈出它支配的內容,然後確認說話者、行動者和回應對象,最後判斷哪些變化有依據。不要先從全文搜尋到「關窗」,再試圖用引號補救誤執行。
我對阿禾說「關窗」的外層動作是「說」,台詞中的關窗指令交由阿禾理解。它表達了玩家角色向別人提出要求,並沒有表達玩家親自伸手關窗。阿禾可以照做、拒絕或詢問原因,具體取決於作者既有的人物與場景規則。
如果規則允許同伴立即回應,可以在同一次回應裡寫出兩個事件:「你請阿禾關窗。他點點頭,走過去關上了窗。」但後半句必須來自同伴行為的判定,不能僅憑引文裡出現動詞就成立。
再看我照紙條上的「關窗」去做。這次外層的「去做」明確採用了引文裡的動作,引文便可以成為行動內容。可見,引號不是永遠禁止執行的開關;執行依據來自外層請求。即使取得執行資格,也仍要檢查窗戶是否伸手可及、是否已經關閉。
四、沒有引號,也要保留轉述範圍
玩家可能輸入他說關窗。雖然沒有標點,「他說」仍然提示後面的內容屬於轉述。至少不能把它直接解釋成玩家親自關窗。若「他」指誰會影響劇情,可以問:「這裡的『他』指誰?」若只是回顧已知對白,則不必為了補全格式打斷玩家。
他說關窗然後離開更難:離開的是說話者,還是他要求離開的人?此時應保留已經明確的轉述,追問:「『然後離開』也是他說的話,還是你在描述他隨後離開?」不要先讓任何人走出房間。
真正只輸入「關窗」時,也缺少足夠的外層表達。作者可以預先約定獨立引文表示台詞,或要求玩家補充意圖;本例選擇追問:「你要親自關窗、說出這句話,還是詢問它的意思?」確認前窗戶保持原狀。
這種處理多了一次互動,換來明確的行動歸屬。若上下文已經是「你準備說哪句話」,獨立引文就可按台詞處理,無需重問。上下文必須具體到足以消除歧義,不能僅因為目前任務需要關窗,就替玩家做決定。
五、把判別卡變成可複核的輸入規則
重複使用時,先把卡中的「關窗」換成目標動作,再為每列補上兩項記錄:應新增的事實、必須維持的事實。例如發言列新增「角色說過這句話」,同時維持「玩家沒有親自關窗」;詢問列只提供解釋,不記錄已完成行動。
最容易漏掉的錯誤有三種:去掉引號後直接執行,導致引用範圍遺失;把所有引文都當成無效輸入,導致正常對白被拒絕;回應說「只是解釋」,狀態記錄卻已經把窗戶設為關閉。檢查時要同時核對文字回應與狀態變化,不能只看措辭是否謹慎。
這張卡適合約束文字指令的輸入處理,不保證涵蓋反諷、複雜巢狀引文或多人對話中的省略。碰到這些情況,只追問會改變行動歸屬的部分。它也不負責判斷連續動作執行到哪裡,更不處理角色權限爭議;它解決的是更早的一步:這段文字究竟有沒有請求執行那個動作。






