互動文字冒險收到連續動作時,如何說清楚執行到哪一步停下
一句話中的多個動作中途受阻,回饋必須交代哪些已經生效、哪一步失敗、哪些尚未開始。用一份複合指令執行回報,寫清連接詞規則、動作相依關係與再次送出時的接續界線。

開篇導讀
收到連續動作後,先拆解指令,再依約定逐項處理;中途受阻時,明列「已完成、目前受阻、尚未開始」,並保留已生效的結果。別只說「門關著,無法繼續」,讓玩家猜燈是否已經拿起、簾子是否碰過。
本文將「拿起燈、走進暗室、拉開簾子」改寫為一份可核對的執行回報。以下情境、規則與回饋皆為虛構教學設計,並非真實使用者經歷、實測結果或親自測試紀錄,也不代表 DramaFork 的產品功能。
先約定連接詞如何決定執行順序
同一句話有三個動詞,不表示三個動作能同時發生。本例約定:逗號串接的連續動作依書寫順序處理;「然後」明確要求前一步完成才開始下一步;任一步受阻,本次指令的後續動作全部停止。接受這類輸入前就應說明這項約定。
「拿起燈,然後走進暗室,然後拉開簾子」因此形成三步佇列。即使第三步在其他情境中可獨立完成,也不能跳過失敗的第二步擅自執行,因為玩家指定了順序。
「同時」須另訂規則。作者應先確認動作能否並行,再決定是否接受整組輸入。本例的三個動作不適合同時處理:人物還在門外,無法直接碰到室內的簾子。若玩家要求同時完成,可回覆:「這組動作無法同時執行,本次尚未開始任何動作;請改為依序執行。」不能暗中把「同時」改成「然後」。
真正允許並行的情境,還須另行說明一項失敗是否影響其他項,以及各項結果何時生效。本文的回報只處理依序執行的佇列,不將並行動作強行排成單一執行序列。
分開記錄動作相依關係與停止規則
設定初始狀態:油燈放在門外桌上,人物空手站在關閉的暗室門前,簾子在室內。此處只規定門關著時不能直接進入,不額外推斷門已上鎖,也不替玩家補上開門動作。
先拆出動作與完成條件:
| 步驟 | 動作 | 開始前檢查 | 完成後可核對的狀態 |
|---|---|---|---|
| 一 | 拿起油燈 | 燈在伸手可及處,能拿取 | 燈由桌上移到手中 |
| 二 | 走進暗室 | 第一步完成,入口可通行 | 人物在暗室內 |
| 三 | 拉開簾子 | 第二步完成,碰得到簾子 | 簾子由垂落變為拉開 |
這裡有兩種關係。「拿燈後再進屋」來自輸入順序,本例未規定進屋必須持燈;「進屋才能碰到簾子」則來自場景的空間條件。將兩者分開,才知道改寫指令後哪些限制仍然成立。
停止規則也不能只寫「相依條件不成立就停止」。本例選擇遇到受阻項就停止整個剩餘佇列,理由是讓「然後」的執行範圍保持可預期。代價是後面即使有能獨立執行的動作,也須等玩家另行送出。若作品允許跳過失敗項繼續,必須事先公布並逐項回報,不能臨時切換。
填完一份回報,再寫成玩家看得懂的話
可重複使用的回報欄位為:原始輸入|連接詞規則|動作拆解|相依關係|中止點|已生效結果|剩餘指令|接續條件。先填完這些欄位再寫敘事句,可避免為求行文流暢而漏掉完成範圍。
本例完整填寫如下:
- 原始輸入:拿起燈、走進暗室、拉開簾子。
- 連接詞規則:依序執行,遇阻停止後續動作。
- 動作拆解:一拿燈;二進入;三拉簾。
- 相依關係:二排在一之後;三排在二之後,且須進入室內才能碰到目標。
- 中止點:第二步,門關著,未能進入。
- 已生效結果:油燈已在手中;人物仍在門外。本例這次受阻未造成其他狀態變化。
- 剩餘指令:進入暗室、拉開簾子;其中進入已嘗試但未完成,拉簾尚未開始。
- 接續條件:先讓入口可通行,再由玩家送出剩餘動作;本次指令不會自動等待恢復執行。
給玩家的文字可濃縮成一段:「你已從桌上拿起油燈。暗室的門關著,你未能進入,仍提燈站在門外。本次指令停在進入暗室這一步;拉開簾子尚未開始,簾子未被碰觸。入口可通行後,請重新送出『走進暗室,然後拉開簾子』。」
這段回饋先交代已發生的事,再說明阻礙,最後界定剩餘動作。它沒有把受阻寫成整條指令失效,也沒有趁機替玩家開門。
用三種結果檢查完成範圍
核對稿件時,從同一個初始狀態分別推演三種情況,每次只改變所需條件,不能將前一次推演的結果偷偷帶入下一次。
首步失敗:假設油燈被固定住,無法拿起。回報應寫:「未能拿起油燈,燈仍在桌上;本次指令停在第一步。進入暗室與拉開簾子皆尚未開始。」此時沒有任何步驟完成,不能寫「你提燈走到門前」。
中途失敗:採用先前房門關閉的設定。第一步完成、第二步受阻、第三步尚未開始。檢查人物位置、燈的位置與簾子狀態,三者必須分別是門外、手中、垂落。
全部完成:假設門已打開、通路可走,簾子碰得到也拉得開。可回覆:「你拿起油燈,走進暗室並拉開簾子。三步皆已完成;燈在手中,你在室內,簾子已拉開。沒有剩餘指令。」
這些是文字推演,並非成功率驗證。也應留意「未完成」不等於「毫無影響」:若失敗動作消耗了物品或改變了位置,回報必須補寫實際結果。本例明確設定沒有這些變化,不能推及所有失敗動作。
再次送出時,依目前狀態決定如何接續
最不容易產生歧義的接續方式,是只送出受阻項與其後續動作。中途受阻後,玩家先處理入口,再輸入「走進暗室,然後拉開簾子」,不必重新拿燈。受阻回報中的剩餘指令正好成為可複製的接續文字。
若玩家原樣重送三步指令,作者須明訂重複動作的處理規則。本例可約定:同一盞燈仍在手中時,將「拿起燈」記為「目標狀態已滿足,本次未重複執行」,隨後重新檢查進入條件。門仍關著就再次停在第二步;燈若已放下,便不能沿用先前的完成紀錄。
這種處理只適用於能從目前狀態確認的動作。「敲門」「喝一口水」再次發生可能產生新結果,不能只因文字相同就跳過。無法判斷玩家是重試還是要求重複時,應先釐清,並說明本次尚未執行。
交稿前,將每個動詞歸為已完成、受阻或尚未開始,再核對最終狀態與接續文字是否一致。這份回報適用於動作與對象皆已明確的依序執行指令;不負責解決目標歧義,也不要求失敗必須附贈線索或敘事獎勵。






