Exolve 可以幫助您以任何語言創建線上互動式可解答填字遊戲(帶有區塊和/或條形的簡單填字遊戲,以及那些雜亂的、無圖表的或 3D 等)。
檔案 exolve.html 包含您需要的所有程式碼:只需複製一份,然後用您自己的拼圖規格替換包含範例網格的部分,從exolve-begin
行開始,到exolve-end
行結束。
檔案 exolve-m.html、exolve-m.css、exolve-m.js 與 exolve.html 有相同的內容,只不過它被分成單獨的部分:HTML(包括拼圖規格)、CSS 和 JavaScript。這使得 JavaScript 和 CSS 可以在多個謎題中重複使用。
另一個簡單的選擇是僅使用 exolve-m-simple.html 檔案:這本質上是 exolve-m.html 的副本,但它不需要您託管 exolve-m.css 和 exolve-m.js 文件,因為它連結到我維護的、託管在GitHub 上的網站上的最新副本。
另一個選擇是將 Exolve 謎題嵌入到「小部件」中的任意網頁(例如部落格文章)中。請參閱 Exolve 小工具部分中的詳細資訊。
Exolve Player Web 應用程式可用於播放多種格式的填字遊戲檔案(包括 .puz,在許多情況下甚至只是從 PDF 複製的線索)。此 Web 應用程式的一個易於記憶的 URL 是 exolve.app。
您也可以使用檔案 exolve-embedder.html 透過 Exolve 提供 .puz 和 .ipuz 檔案。請參閱 Exolve 嵌入器部分中的詳細資訊。
以下是拼圖規範的範例:
exolve-begin
exolve-width: 5
exolve-height: 5
exolve-grid:
HELLO
O.A.L
WORLD
L.G.E
STEER
exolve-across:
1 Greeting (5)
4 Earth (5)
5 Guide (5)
exolve-down:
1 Emits cry (5)
2 Big (5)
3 More ancient (5)
exolve-end
格式非常簡單,使用純文字(但解析程式碼有時也比較簡單,不太寬容,所以請仔細閱讀格式文件)。設定者可以選擇提供解決方案(如上例所示),或僅使用 0 來指示需要填充的正方形(即,在填字遊戲術語中,是「光」的一部分)。
目錄中還包含一些範例謎題,每個謎題都位於擴展名為「.exolve」的檔案中。這些展示了一些可用的功能,例如ninas、附加線索或問題、提交、禁止謎題、無圖解謎題等。將其拼接在從exolve-begin
到exolve-end
整個 .exolve 檔案。該目錄中也提供了一整套 test-*.html 檔案。我使用它們來測試新版本,但您可以使用它們來查看大多數 Exolve 功能的使用範例。
基本控制是單擊一個正方形並在其中輸入一個字母。如果某個方塊既是橫向線索又是向下線索的一部分,則在該方塊是當前方塊時單擊該方塊(或按 Enter 鍵)將切換活動方向(除非同時按下 Shift 鍵並單擊) ,在這種情況下不會發生直接切換,這在從其他輸入元素導航回網格時很有用)。
控制按鈕( “清除此” 、 “清除全部!” 、 “檢查此” 、 “檢查全部!” 、 “顯示此”和“顯示全部!” )按照其名稱所建議的方式工作(“此”指的是目前選定的燈光)。您可以點擊線索跳到其方塊。如果設定者未提供所有解決方案,則僅顯示「清除此/全部」控制按鈕,而不會顯示「檢查/顯示」按鈕。
「清除此」按鈕首先僅清除不與其他完全填滿的燈光(如果有)交叉的字母。如果沒有(即當前燈光中所有剩餘的字母也與其他完全填充的燈光交叉),只有這樣這些剩餘的字母才會被清除。
長按“檢查此”或“顯示此”會將文字“此”切換為“儲存格”,然後檢查/顯示將僅發生在目前儲存格上(而不是整個燈),例如按鈕的特定啟動。警告:這似乎不適用於手機和平板電腦(儘管僅在 Android 裝置上進行了測試)。
設定者可以使用exolve-option
show-cell-level-buttons
額外顯示一行額外的按鈕,其中包含這兩個單元格級按鈕:「檢查單元格」和「顯示單元格」。
Exolve 支援無圖謎題,其中無法辨識被阻擋的方塊,解算器必須找出它們的位置。事實上,exolve 支援部分無圖解謎題,其中只有某些方塊或網格的某些部分區域不顯示被阻擋的方塊在哪裡。在解決此類難題時,解算者可以在無圖方塊中按空白鍵,以假定它是一個被阻止的方塊(黑色方塊字元⬛將被放置在該方塊中。它可以像任何其他常規條目一樣被刪除)。此外,當使用者輸入或清除無圖單元格中的阻擋方塊時,也會在目前方塊的對稱對應方塊中採取適當的操作。
如果設定器透過在某些線索末尾附加註釋來提供註釋,則當求解器按一下「全部顯示!」時,會顯示這些註釋。透過「顯示/清除此」按鈕顯示/隱藏特定於線索的註解(除非線索僅具有無圖儲存格)。此外,“檢查此”和“檢查全部!”表現得像“揭示這個”和“揭示全部!”如果他們沒有發現錯誤的話。在未提供解決方案的謎題中,如果有任何註釋存在的線索(這些註釋可能是完整的解決方案,也可能只是提示),「顯示此」按鈕仍然會顯示。
如果設定器提供了一個或多個 ninas 的位置(透過exolve-nina
部分),則會顯示一個附加按鈕控制項Show ninas ,以便解算器查看 ninas 的位置。可以再次單擊該按鈕來隱藏尼娜位置。點擊“全部顯示”後也會顯示尼納斯。
如果設定者在謎題中提出了其他問題(透過exolve-question
部分),那麼也會顯示這些問題的輸入欄位。除了顯示/隱藏註解/解釋/說明之外,「顯示/清除全部」控制按鈕還包括顯示/清除這些問題的答案。
如果設定者設定了一個提交 URL(帶有exolve-submit
部分,例如,可以使用 Google 表單設定該 URL),那麼就會有一個「提交」按鈕。
當解算器在方格中輸入字母時,遊標會自動跳到目前活動線索的下一個方格(當存在「覆蓋」多個線索的連結線索時,下一個方格可以來自不同的線索) 。
如果解算器將儲存格條目從非空白字母變更為不同的非空白字母,則變更後的字母會透過以不同的顏色顯示一段時間來反白。該動畫的開始/結束顏色( overwritten-start
和overwritten-end
)和持續時間( highlight-overwritten-seconds
)可以配置。
如果解算器按下刪除鍵,它將刪除目前方塊的內容而不前進。
解算器可以按 Tab/Shift-Tab 導航到下一個/上一個線索。解算器可以使用箭頭鍵沿箭頭方向導航到下一個/上一個光單元。
只要遊標所在的方塊可見,軟體就會嘗試在捲動時保持當前線索可見。
「清除/檢查/顯示全部」按鈕、「顯示 ninas」按鈕和「提交」按鈕會向解算器要求額外的確認。
點擊線索表中的線索即可啟動該線索。如果該線索不是先前活動的線索,則鍵盤焦點將轉到網格中該線索的第一個字母。如果線索已經處於活動狀態,那麼焦點將保留在線索上,讓您根據需求選擇並複製線索/紀元的部分內容。
您可以點擊黑色背景或拼圖標題、設定器或序言(如果存在)來取消突出顯示當前線索(例如,用於列印或螢幕截圖)。
在某些情況下(例如在無圖謎題中指定顏色或尼納斯或某些線索數字的位置時),您可能需要指定網格中正方形的位置。您可以透過以下方式之一執行此操作:
a3 (column "a": the 1st column from the left, and row 3 from the bottom)
f11 (column "f": the 6th column from the left, and row 11 from the bottom)
字母 (az) 必須為小寫,且必須位於行號之前,中間不得有空格。
如果您的網格超過 26 列,則此棋盤符號是不夠的。您也可以直接指定行和列,如下所示:
c1r3 (the 1st column from the left, and row 3 from the bottom)
r11c6 (the 6th column from the left, and row 11 from the bottom)
拼圖可以在exolve-begin
行和exolve-end
行之間包含以下「部分」:
exolve-width
exolve-height
exolve-grid
exolve-title
exolve-setter
exolve-email
exolve-id
exolve-copyright
exolve-credits
exolve-preamble
/ exolve-prelude
exolve-across
exolve-down
exolve-nodir
exolve-reversals
exolve-3d
exolve-3d-across
exolve-3d-away
exolve-3d-down
exolve-explanations
exolve-nina
exolve-colour
/ exolve-color
exolve-question
exolve-submit
exolve-option
exolve-language
exolve-relabel
exolve-maker
exolve-force-hyphen-right
exolve-force-hyphen-below
exolve-force-bar-right
exolve-force-bar-below
exolve-cell-size
exolve-postscript
每個部分都有部分名稱 ( exolve-something
),後面跟著一個冒號。除了exolve-preamble
/ exolve-prelude
、 exolve-grid
、 exolve-across
、 exolve-down
、 exolve-nodir
、 exolve-explanations
和exolve-postscript
部分外,所有其他部分都佔據一行(儘管有些部分可以重複) )。對於此類單行部分,該部分的「值」是同一行中冒號後面的文字。
粗體部分,即exolve-width
、 exolve-height
和exolve-grid
是必要的。其他部分是可選的,但exolve-across
、 exolve-down
、 exolve-title
、 exolve-setter
可能應該出現在大多數謎題中。
任何以“#”開頭的行(或行的尾部)都被視為註解並被忽略。後面有行尾的「#」也被視為註解。請注意,後面帶有非空格字元的“#”不會被視為註釋(之所以如此,是因為我們可能在exolve-colour
部分中有HTML 顏色名稱,例如#FF00FF,並且我們可能有線索,其中它們的網格- 位置以 #xN 表示法指示 - 請參閱本節)。我沒有使用“//”作為註釋標記,因為它在 URL 中使用。
在exolve-begin
之前或exolve-end
之後出現的任何文字都會被忽略。
exolve-width
, exolve-height
謎題的寬度和高度,即縱橫字謎網格有多少個橫格和下多少格。例子:
exolve-width: 15
exolve-height: 15
exolve-grid
網格規範從exolve-grid
行之後的行開始,一直到下一個exolve-something
部分。此部分中的行數應與網格的高度完全相同。在每一行上,指定網格該行中的方塊。
謎題有兩種:提供解決方案和不提供解決方案。以下是兩者的簡單範例:
網格提供的解決方案:
exolve-grid:
ACE
R.R
EAR
這是一個 3x3 的網格,中心有一個方塊(「.」用來表示方塊)。在此網格中,1 個橫向 = ACE,1 個向下 = ARE,3 個向下 = ERR,3 個橫向 = EAR。當像這樣包含解決方案字母時,會顯示用於檢查/顯示答案的控制按鈕。
在提供解決方案的網格中,設定者可以使用字母“?”作為他們尚未決定放置哪個字母的任何淺色方塊中的佔位符。
未提供解決方案的網格:
exolve-grid:
000
0.0
000
這也是一個 3x3 網格,但沒有提供解決方案(每個燈都使用字母“0”顯示)。在這樣的網格中,不會顯示用於檢查/顯示答案的控制按鈕。
也可以指定禁止網格,而不是封鎖網格。事實上,可以指定一個同時使用條形和塊的網格。條形(以及其他一些特殊處理)是使用主網格方形說明符後面的字母指定的,我們將其稱為裝飾器。使用裝飾器 | 指定正方形右側的條形。方形下的條形是使用裝飾器 _ 指定的。前後都有橫線的方塊可以使用“|_”或快捷方式“+”。網格正方形規格之間允許有任意多個空格,並且在存在裝飾器的情況下可以(應該! )使用空格來排列正方形。下面是一個使用長條圖和方塊的 3x3 網格範例:
exolve-grid:
A M|B
X . E
E|A T
裝飾器“@”也可用於在某些正方形內內切圓圈,裝飾器“*”可用於指示正方形是無圖的。這是最後一個例子,這次是一些單元格周圍有圓圈,而一些單元格是無圖的:
exolve-grid:
A M|@B
X* . E*
E| A T
裝飾者“!”可用於將單元格標記為預先填充(必須提供其解決方案字母)。解決方案信將預先填寫且不可編輯。如果燈光中的所有條目都已預先填充,並且為該線索提供了紀元,則紀元將在啟動時自動顯示。即使沒有為完全預先填充的線索提供紀元,解決方案也會顯示在線索的末端(除非設定了 no-auto-solution-in-anno 選項)。
裝飾器「~」可用於將開始橫向/向下線索的儲存格標記為應跳過正常線索編號的儲存格。這樣的細胞沒有線索號碼。它將獲得的線索編號將用於下一個開始線索的儲存格。從此類「跳過的數字」單元開始的光線必須以其他方式提供線索(例如,使用單獨指定或顯示的線索)。提供線索的一種方式是使用 nodir 線索或非數字標記的線索,如下所述。
作為方便的參考,這裡再次是裝飾器的完整清單:
裝飾者 | 意義 |
---|---|
| | 它後面有一個酒吧,在右邊。 |
_ | 下面有一個酒吧。在底部。 |
+ | 後面和下面都有酒吧。 |
@ | 有內切圓。 |
* | 是無圖的。 |
! | 已預先填充。 |
~ | 跳過正常編號 |
如果您使用的語言/腳本使用由多個 Unicode 字元組成的複合字母(例如,梵文 - 請參閱exolve-language
部分),或者如果您有畫線單元格,則必須分隔網格字母(當用解決方案)和一個空格(除非它們已經被裝飾器分開)。例如,這將不起作用:
exolve-grid:
सेहत
這將起作用:
exolve-grid:
से ह त
通常,解決方案字母中只能使用字母表中的字母(AZ 或特定於腳本的字母)。但是,使用exolve-option
allow-digits
或allow-chars:<chars>
,您可以允許一些非字母字元。如果這些字元中的任何一個也是裝飾符或在網格規範中具有特殊含義(即,是|_+@!~*.?
之一),那麼它應該在網格規範中以&
為前綴。如果&
本身需要在網格中使用,那麼它也應該以&
為前綴。例如:
exolve-option: allow-chars:@.&
exolve-grid:
A &@ B &. C O M
&& . . . . . .
儘管0
在網格規範中具有特殊含義,但如果網格中已透過allow-digits
或allow-chars
允許使用0
,則不必使用&
前綴轉義0
。一個技術警告(為了完整性)是您不能建立一個所有條目完全由0s
組成的退化網格。
如果您希望填字遊戲解決方案包含一些具有多個字母的單元格(也稱為「畫線單元格」),那麼您必須使用exolve-option: rebus-cells
(並且您必須使用空格分隔網格解決方案條目,如前所述)。
例如:
exolve-width: 3
exolve-height: 3
exolve-option: rebus-cells
exolve-grid:
RAN G E
DO . A
M E T
如果存在畫線儲存格,則可以在雙擊任一儲存格後在該儲存格中輸入多個字母,或在輸入字母時按住 Shift 鍵。如果某個單元格之前已經輸入了多個字母,那麼當您再次訪問該單元格時(通過單擊該單元格或從相鄰單元格自動前進),您將能夠在其中輸入多個字母(無需使用Shift 鍵)或雙擊)。
當在儲存格中輸入多個字母時,儲存格文字的字體大小會調整以嘗試適合所有字母。如果您有一些長畫線條目不適合預設儲存格大小,那麼您應該使用更大的儲存格,使用exolve-cell-size
。
如果存在畫線單元格,則目前儲存格中的橫向指示箭頭將放置在文字下方而不是其右側,以便為文字留出更多空間。
您不能在使用最大字元代碼大於 1 的語言的填字遊戲中使用畫線單元,也不能在使用無圖表單元的填字遊戲中使用畫線單元(這使我們能夠使程式碼更簡單)。
請注意,「無圖」僅向解算器隱藏一個方塊是在燈光下還是被遮擋的方塊- 如果設定器使用了任何條形,它們確實會顯示給解算器,即使在無圖單元格中也是如此。
如果帶有無圖方塊的謎題已指定所有解決方案,則會顯示檢查/顯示控制項。例如,顯示一個被遮蔽的無圖方塊將顯示該方塊中的黑色方塊字元⬛。
如果設定器不想為具有一些無圖方塊的謎題提供解決方案,則不應在同樣無圖的方塊中使用塊狀方塊標記(“.”)(否則解算器可以深入到 HTML 原始碼並查看被阻擋的方塊在哪裡)。此類拼圖中的每個無圖方塊應指定為“0”,後面接著無圖裝飾器,即“0*”。但是,即使是 Exolve 軟體也無法知道任何線索從哪個網格方塊開始。然而,有時,即使在帶有無圖方塊的謎題中,設置者也可能希望為某些線索提供線索起始位置。 Exolve 提供了一種方法來做到這一點:設定器可以選擇使用擴展的棋盤符號包含任何線索的線索開始的方塊的位置。下一節將提供詳細資訊。
exolve-title
, exolve-setter
謎題的標題和填字遊戲設定者的姓名/筆名。例子:
exolve-title: My Lovely Crossword
exolve-setter: Narsi Sus
exolve-email
可選的電子郵件地址(或逗號分隔的地址),解答者可以透過其中聯絡填字遊戲創作者。在「註解」面板中,您可以將註解傳送到此電子郵件地址。
exolve-id
(可選)為此填字遊戲提供唯一的 ID。此 ID 用作保存/復原狀態的金鑰,也用於區分單一頁面上的多個謎題。您可以創建一個未解決的謎題版本(例如,為了舉辦競賽),然後創建具有解決方案的相同謎題的版本,並為它們提供相同的exolve-id
。然後,當求解器存取包含解決方案的版本時,他們可以看到自己的條目並查看他們犯了哪些錯誤(如果有)。例子:
exolve-id: tiny-42
如果您不提供 ID,軟體將根據網格簽名和線索建立 ID。這將確保如果您加載相同的填字遊戲而不對線索或網格進行任何更改,那麼您將恢復狀態,即使沒有明確 ID。
exolve-copyright
如果您提供此信息,它將與版權符號一起顯示在渲染的拼圖網格下方。例子:
exolve-copyright: 2019 Viresh Ratnakar
exolve-credits
如果您提供此信息,它將顯示在版權之下。您可以提供此的多個實例。例子:
exolve-credits: Test solver: Zaphod Beeblebrox
exolve-credits: Custom code: H. A. C. Ker
exolve-preamble
, exolve-prelude
填字遊戲通常附有包含特殊說明和/或提示的序言。序言文字佔據多行 — 從exolve-preamble
(或exolve-prelude
)行之後的行開始,一直到下一個exolve-something
部分之前的行。前導碼可以包含 HTML 標籤。在渲染的拼圖中,前導碼渲染在網格上方。例子:
exolve-preamble:
Words should be entered in the grid <i>after</i> deleting one letter. The
letters thus deleted, in clue order, form the name of a famous farm
animal.
exolve-across
, exolve-down
, exolve-nodir
exolve-across
和exolve-down
部分應該分別用於指定橫向和向下線索( exolve-nodir
是針對沒有指定方向的線索的特殊/罕見情況;我們將在本節)。每行應該有一個線索,並且不應該有任何空白行。線索應以線索編號開始,以列舉結束(枚舉不是嚴格要求的)。例子:
exolve-across:
1 Untouchable service (3)
3 Listener (3)
exolve-down:
1 Happen to be (3)
2 Make a mistake (3)
如果枚舉指示多個單字(例如, (4,3)或(6 7) ),或者如果枚舉指示連字符連接的單字(例如, (4-2) ),則單字邊界或連字符將顯示在網格,以幫助解決者。軟體使用以下標準來決定線索的枚舉部分的組成:一對左括號和右括號,僅包含數字、連字符、逗號、撇號、空格和句點,以數字開頭。該軟體還處理一對包含文字“words”或“letters”(或任何以“w”或“l”開頭的子詞,例如“wrds”或“l”或“ltrs”)或包含“?”的括號。前面有任何內容,作為枚舉(例如,允許設定器將枚舉指定為“(兩個單字)”或“(?)”或“(7, 2w)”)。在這些特殊情況下,在「(7, 2words)」和「(6 個字母)」的極端情況下,解析分別將 7 和 6 解釋為條目的長度,並將其與光的長度進行檢查與普通枚舉一樣。
在極少數情況下,線索中有多個候選枚舉部分,則使用最後一個。但是,可以透過明確使用“[]”來標記線索的結尾來覆蓋這一點(請參閱下面的Annotations
)。
在 3-D 填字遊戲中,您應該分別使用exolve-3d-across
和exolve-3d-away
部分,而不是exolve-across
和exolve-down
部分,其中exolve-3d-down
部分提供垂直燈光的線索各層。您可以在exolve-3d
部分找到詳細資訊。
如果枚舉後面緊跟著一個*
,則不會向使用者顯示它。範例:
1 Satellite (4)* MOON
2 Star (?)*
可能會出現一些困惑,即使枚舉指示多個或連字符的單詞,您也不希望在網格中繪製單詞分隔條或連字符。一個例子是網格,其中特殊指令要求在將解決方案輸入網格之前刪除字母。您可以使用以下技巧來實現此效果:
1 Clue with enum that implies hyphens and dashes, but they are suppressed
using trickery (<span>3,2-2,5-3</span>) (15)* Anno here...
請注意,枚舉數字包含在 <span> 標記中,這會欺騙 Exolve 不解析它們。之後使用未顯示的枚舉規範 (15)* 指定條目的長度(但可以作為讓 Exolve 知道接下來是紀元的一種方式)。
如果缺少線索,或提供的線索枚舉與網格中線索中的儲存格數量(包括任何連結的子線索)不匹配,則會顯示警告訊息。如果異常是故意的而不是疏忽,則可以使用exolve-option: ignore-unclued
和/或exolve-option: ignore-enum-mismatch
來抑制警告產生。如果有任何 nodir 線索,則不會檢查遺失的線索;如果有任何無圖單元格,則不會檢查不匹配的枚舉。
您可以在線索中包含提示(在某些線索或所有線索中)。這是透過在線索下方提供一系列行來完成的,每行都帶有前綴Hint:
不區分大小寫)。每個提示都可以包含 HTML 格式。例子:
exolve-across:
1 Some clue without a hint (9)
5 A clue with two hints (5)
Hint: The <i>first</i> hint!
Hint: The second hint is noticeably longer.
6 A clue with one snarky hint (6)
Hint: Try using your brain for a change?
請注意,這些提示完全獨立於下面描述的後顯示註釋(如果存在)。當目前線索有可用提示且尚未顯示所有提示時,線索末端會顯示一個燈泡圖示(僅在網格上方,不在線索表中)。點擊此圖示將顯示下一個提示。點擊任何提示將再次隱藏所有提示。
Exolve 不會保存有關各種線索顯示了多少提示的狀態,因此如果您重新載入拼圖,則所有提示都會以未顯示的狀態重新啟動。
在提供解決方案的網格中,設定器可以包括用於解釋線索如何運作或提供提示的註解。線索中枚舉後面的任何文字都被視為註釋。當解算器按一下「顯示全部」按鈕或按一下「顯示此」按鈕(當該線索是目前線索時)時,會顯示註解。例子:
exolve-across:
28 Replace bottles containing questionable medicine (7) Def: questionable medicine. Hidden word: (-re)PLACE BO(-ttles).
如果線索未提供其紀元,軟體仍會建立一個僅包含解決方案文字的最小紀元(它從網格和枚舉中推斷出來)。即使提供了 anno,軟體也會在其前面添加推斷的解決方案文字。這可能意味著,如果在較舊的網格中,解決方案明確包含在紀元中,那麼它就會被重複。因此,程式碼會檢查解決方案字串(儘管有標點符號/標記)是否存在於 anno 的頭部,如果存在則避免重複。如果設定者想要以其他方式呈現解決方案,他們可以透過將此行新增到謎題規格中來禁止將解決方案自動新增到 anno 中:
exolve-option: no-auto-solution-in-anno
此選項僅禁止將解決方案新增至線索後出現的紀元。即使使用此選項,在「顯示此」時,解決方案仍然會添加到孤立線索的佔位符空白槽中。
如果 anno 的前導部分需要是方括號中的內容,例如“... (6) [t]WITTER ...”,那麼 setter 應該在此之前包含解決方案(即使可以從grid),以避免將前導部分誤解為解決方案,例如“... (6) [WITTER] [t]WITTER ...” 或者,他們可以使用一對空方括號來標記線索的結尾,如“... (6) [ ] [t]WITTER ...」 如果線索結束位置有任何歧義(可能是因為多個枚舉),特殊的「[]」線索結束標記字串也很有用。像子字串)無法通過在方括號中提供解決方案來解決。
以下是一些更複雜的枚舉/註解解析範例。
1 This (13) clue ends (word) here! (4)
2 This (13) clue also ends (1 word) here! (4) Some annotation follows.
3 This (13) clue also ends (2 letters) here! (8) [SOLUTION] Some annotation follows.
4 This (13) clue also ends (words) here! (8) [] [t]WITTER The anno has (3) enum-like parts.
5 This is an enum-less and anno-less clue that ends here!
6 This is also an enum-less and anno-less clue that also ends here! (?)*
7 This is also an enum-less but with-anno clue that also ends here! (?)* [] [t]WITTER Here is the anno.
8 This clue, even though its anno contains an enum-like substring, ends here! (4) The (word) and (4 letters) enum-like parts here are not numeric.
9 This clue (13) does not end now (4) as [square brackets do not follow immediately]; it ends here! (4)
您也可以用底線、不同的樣式、顏色、背景等來裝飾線索中的子短語,方法是用特殊標記~{
和}~
括住特定的子字串,如下所示:
28 Replace bottles containing ~{questionable medicine}~ (7) Hidden word: (-re)PLACE BO(-ttles).
此類「線索註釋」的預設樣式是使用「深綠色」下劃線在文字下劃線。當解算器按一下「顯示此」或「顯示全部」時,此樣式將顯示(並將透過「清除此/全部」清除)。
您可以透過提供 HTML 元素類別名稱來套用不同的線索註解樣式(而不是底線),如下所示:
28 ~{{xlv-blue}Replace}~ bottles ~{{my-style}containing}~ ~{questionable medicine}~ (7) Hidden word: (-re)PLACE BO(-ttles).
這裡,「xlv-blue」是 Exolve 在其 CSS 中設定的類別名稱(其他一些是「xlv-red」、「xlv-yellow-bg」和「xlv-pink-bg」)。但您也可以使用自己的類別名稱(例如上面的“my-style”),並使用您自己的自訂 CSS 規則指定它們的樣式。
如果連結的線索包括其他“子線索”,則可以透過將逗號分隔(或 & 分隔)的子線索編號清單附加到父線索編號來指示。例子:
exolve-across:
1, 5, 2d In spite of adverse circumstances (7,3,4)
5 See 1 Across
...
exolve-down:
2 See 1 Across
3 & 7 See neck (4,3)
7 See 3 Down
如上面的範例所示,如果子線索(第一個範例中的 2d)與父線索的方向不同,則可以使用單字母後綴(“a”或“d”或“b”或“u”),或在3D 填字遊戲中,帶有兩個字母後綴(“ac”或“aw”或“dn”或“ba”或“to”或“up”)。
連結燈光可以創造兩個值得注意的極端情況。 (1) 當一個燈在下一個連結燈開始的同一儲存格上結束時,該儲存格不會被計數兩次。因此,在具有3 個字母燈1a 和2d 連結的3x3 網格中,其中2d 開始於與1a 結束的同一單元格(單元格r3c3),則連結燈的總長度將為5 而不是6。 ) 如果您連結一系列燈光(包括一些反向燈光),使得連結組的最後一個單元格恰好是其起始單元格,那麼該單元格也不會被計數兩次。此外,該介面允許您沿著序列循環輸入字母(因為對於這個極端情況來說,這似乎是一件有趣的事情)。對於這種蛇吞頭循環連結群組中的退格(擦除時)儲存格,介面在第一個儲存格處停止退格。
解決問題時,當光線完全充滿時,其線索編號會改變顏色(變為淺藍色,使未解決的線索編號突出)。當這種情況沒有發生時,有一些小例外(無圖單元格或其他原因不允許我們確定線索的光何時完全充滿)。對於此類線索,求解器可以點擊線索編號來手動設定(或取消設定)其「已解決」狀態。
如上一節中提到的,在具有無圖方格且不提供解決方案的網格中,如果設定者想要在方格中顯示一些線索數字,他們可以透過在前面添加線索來實現(在exolve-across
或 exolve-下部分)與“#<L>”,其中 <L> 是擴展棋盤符號中正方形的位置。範例:
exolve-across:
#a9 15 Imprison and tie perhaps
#c17r42 31 Greeting
這裡,線索編號 15 將顯示在倒數第 1 列第 9 行的方格中,線索編號 31 將顯示在第 17 列第 31 行的方格中。
線索部分(即exolve-across
/ exolve-down
/ exolve-nodir
)中無法解析為線索或提示的任何行都會被視為填充行。它只是顯示在線索列表中的該位置。在線索部分的最後一條線索之後放置填充線是錯誤的。如果需要,填充線可用於劃分線索內的部分。例子:
exolve-across:
1 Communication device (5)
7 Greeting (5)
<i>The following entries all begin with B.</i>
9 Unreachable sound in 1 (4,4)
15 Zaphod (10)
線索部分中以 --- 開頭的任何行都會啟動新線索表的呈現。如果後面有任何文字 --- 那麼它將顯示為新表的標題。
exolve-across、exolve-down 和 exolve-nodir 部分在拼圖規格中出現的順序就是它們的顯示順序。此外,方向切換也將遵循相同的順序。因此,如果您在橫向和向下線索之前列出 nodir 線索,並且解算器單擊當前活動方向上沒有光的單元格(例如橫向),但同時有 nodir 光和橫向光穿過它,nodir 燈將變為活動狀態(因為nodir 線索在規格中的線索之前列出)。
如果您想要使用非數字線索標籤(例如 A、B、C 等),可以透過將非數字線索標籤括在方括號中來實現,如下所示: 範例:
exolve-across:
2 Imprison and tie perhaps (6)
[F] Enjoyable (3)
5 Hitchhiker's accessory (5)
#a12 [G], 4, [H] Fitting reply (3,3,3)
...
對於非數字線索標籤,軟體不知道線索從哪個儲存格開始,除非設定者使用「#xN」前綴明確指定,如上所述並如上面第四個線索範例所示。
線索編號或標籤後的尾隨句點被視為只是標點符號並被忽略。以下範例中的前五個句點將被忽略。如果您有連續的句點,它們不會被忽略(因為您可能使用省略號)。
2. Clue (4)
3.Ignorance is _____ (5)
4 . Time for every one to end, finally (6)
[Q.]. Hop... (4)
[R] ... aboard! (6)
網格內的橫向和向下線索編號是自動從網格推斷出來的,除了兩種情況。第一種情況是存在無圖單元並且尚未提供解決方案。第二種是在拼圖式謎題中,設定者選擇透過使用非數字線索標籤而不提供其網格位置來故意不提供網格方塊和線索之間的關聯。當求解器在線索關聯未知的情況下輸入值時,突出顯示的「目前線索」可瀏覽介面會遍歷所有網格單元未知的所有線索。
線索編號可能會受到其他部分中介紹的以下其他因素的影響:
exolve-grid
部分介紹的「跳過編號」裝飾器('~')。exolve-reversals
exolve-3d
如果要建立沒有指定橫向/向下方向的線索部分,可以使用exolve-nodir
部分,其結構與exolve-across
和exolve-down
相同,但該部分中每個線索的方向是視為未指定。設定者可能希望將此部分與非數字線索標籤一起使用。例子:
exolve-nodir:
[P] Direct (5)
[Q] Server spilling one's drink (5)
...
[]中的線索標籤也可以是數字(例如[42]),並且還可以使用“#<l>”前綴指定起始單元格(<l>是擴展的棋盤符號中的單元格位置)如上所述。
如果設定器使用沒有指定方向的Numen-numeric線索標籤或線索,則他們可能還應該在exolve-option
部分中使用選項「 hide-ferred-numbers」。或者,他們可以在網格中使用“〜”裝飾器使用正常編號跳過單元格。
您可以將其放置在exolve-nodir:
exolve-nodir: Alphabetic clues
[P] Direct (5)
[Q] Server spilling one's drink (5)
...
在Nodir線索中,您不僅可以指定起始儲存格,還可以使用棋盤符號指定所有儲存格。如果這樣做,那麼單擊該線索中的單元格將突出顯示並允許進入該線索的所有單元格(Nodir線索中的單元格可以在網格中任意散佈)。例子:
exolve-nodir:
#c3 #c5 #c8 #f6 [A] One hundred years lived in prison (4)
請注意,該技術可用於創建多維(例如4-D!)難題:使用Nodir部分沿著所有額外的尺寸進行特定的燈,明確指定其單元格。對於3-D填字遊戲,Exolve提供了更好,更完整的支持,包括漂亮的3D外觀(請參閱exolve-3d
部分)。
如果一個跨/向下的線索開始單元具有裝飾器“〜”,則它的正常編號會跳過。如果還有另一個線索是帶有非數字標籤的跨/下線,並指定了其開始單元格,或者是指定所有單元格的Nodir線索,兩個線索的所有單元格是相同的,則線索被合併。為第二個線索指定的標籤顯示在跳過的儲存格中。例如:
exolve-grid:
0~0 0
0 . 0
0~0 0
exolve-across:
#a1 [B] Bottom row (3)
exolve-down:
1 Third column (3)
exolve-nodir:
#a3 #b3 #c3 [Q] Top row [3]
在這裡,左上和左下的細胞是跳過數字的細胞。 [B]跨線的[B]與底行燈合併,[Q] Nodir線索與頂行燈合併。第一列中的光是未匯總的。
如果沒有明確指定儲存格的Nodir線索,或沒有指定啟動/儲存格的非數位標籤的跨/向下線索,則該線索在其旁邊顯示帶有文字入口區域。求解器可以在此處記錄他們的解決方案,直到他們在網格中弄清楚應該輸入這些字母的位置。 Solvers可以透過點擊佔位符區域旁的「複製區域持有人」按鈕(看起來像[⇲])的「複製區域持有者」按鈕(如佔位符區域時,只要他們有一些正方形以進入網格進入網格的進入時,解算器就可以從這些佔位持有人區域傳送記錄的字母。
您可以迫使佔位符空白出現在任何線索之後(不僅是使用上面列出的標準的“孤兒”)。請參閱下一個小節。
佔位符條目不會被“清除此/所有”(儘管可以通過單擊並刪除它們直接刪除)清除。若要強行清除所有佔位符條目,請在網格中沒有條目時按一下「清除所有」按鈕(例如,第二次按一下它)。此選項只有在具有這樣的佔位符條目的難題中,並且在這種難題中,在“清除所有”按鈕上顯示了一個工具提示,以使用戶知道。
同一佔位符文字和複製區持有人按鈕([[⇲])在可突出顯示的滾動滾動「孤兒」線索小部件中顯示,每當當前較高的正方形都沒有已知的線索關聯時。
如果有任何圖形儲存格(因為通常只有一個圖儲存格一個儲存格),則複製區域持有者按鈕功能不會被啟動。
可以透過指定exolve-option: hide-copy-placeholder-buttons
來停用複製區域持有者按鈕(即完全沒有顯示)。如果您發現外觀分散注意力,或從佔位符複製的按鈕分散注意力,這將很有用,這對於某些其他原因(例如,將燈拆分為零件)。
在此類線索中,在提供解決方案的網格中,可以指示網格中的哪些單元屬於線索,以在「顯示」和「檢查此」中使用。這是透過在方括號中列出空間分隔的線索指數和/或單元格位置的序列來完成的。線索指數可以像12A或12A或13D或13D(必須包括方向,就像在exolve-nina
和exolve-colour
中指定的方式一樣)。如果指定序列中使用了任何線索指數,則這些線索本身必須具有已知的一些細胞位置。此清單應在枚舉部分之後(如果有的話)出現。範例:
exolve-nodir:
[A] Some clue (5) [1a]
[B] One hundred years lived in prison (4) [2d]
[C] Some other clue ... (?) [3d 4a c4 c5 r5c3] [SOLUTION HERE] Anno...
在上面的最後一個線索中,沒有提供枚舉。即使軟體知道該線索的所有單元格,它也不知道是否有多個單字或連字符。在這種情況下,可以在Anno開頭的方括號中提供解決方案。
孤兒線索的推斷或提供的解決方案在其占位符中被揭示在“揭示此”和“揭示所有”時。
單獨列出的單元格,如果僅憑圖(如果沒有圖表,則將是這種情況),請不要讓求解器揭示/檢查整個孤兒線索:單個單元格可能是多個線索的一部分。
以這種方式為孤兒線索提供啟示有一些微妙的含義。在上面的範例中,透過點擊其一個單元格,可以突出顯示屬於某些孤兒線索的網格(例如1A)的光(例如1A)。線索清單中顯示的目前線索將是解算器所看的最後一個孤兒線索,例如B(不同於A)。如果求解器點擊“顯示此”,則會在網格中顯示1a,並且A將在線索清單中突出顯示。
如果在網格中按一下1a後,說求解器按一下線索清單中的線索C,然後按一下「顯示此」。我們從上一次點擊推斷出求解器的意圖。在這種情況下,c中的C將被揭示,網格中的突出顯示將從1a變為C的正確光。
另一個微妙的觀點是,在帶有圖表單元格的難題中,線索可能已經指定了其一些單元格(前幾個),但不是全部。可以透過命名自己並列出其他單元格來揭示其細胞。例如:
15 Imprison and tie perhaps (one word) [15a e9 f9] DETAIN.
也請注意,「揭示所有」並未揭示孤兒 - 網格到網格的關聯。但是,即使在“揭示所有內容”之後,求解器也可能通過孤兒線索,對每個線索單擊“顯示”。
密碼中的一個常見詭計是使每個線索都以某種方式產生額外的字母,並從這些字母中產生元字母。 Exolve可讓您在每個線索之前新增「提取插槽」列。解算器可以在這些插槽中記錄字母/數字(而這些字母也保存在狀態中)。您可以透過指定exolve-option: add-extraction-slots
來做到這一點。預設情況下,如果指定此選項,則新增一個字母插槽。但是,您可以使用可選參數指定插槽中的字母數(例如, exolve-option: add-extraction-slots:3
)。
佔位符的空白通常僅在未向求解器提供光線位置的「孤兒」線索前顯示。但是,您可以透過以一個或多個底線跟隨該線索來強制佔位符旁邊的佔位符。如果您提供註釋,請在註釋之前放置Undescorores。
例如,當拼圖指令要求對解決方案進行一些修改(例如字母遺漏)之前,這對解決者可能很有用,然後才能將其輸入網格。
範例:
exolve-across:
5 This clue will get placeholder blanks (4) _
6 Here we're specifying that there should be 7 blanks, regardless of enum (4) _______
7 The underscores can have intervening spaces and can be followed by annos (8) _ _ _ Some anno.
如果僅放置一條底線,則使用枚舉來決定空白的實際顯示大小。如果您放置多個下劃線,則空白的顯示大小將等於您提供的底線的數量。您可以在這些下劃線之間有空間,只是為了幫助您更輕鬆地計數它們。
佔位符空白時,將顯示(如淺灰色的“佔位符”文本,指示求解器需要輸入的提示),枚舉所隱含的文本模式,例如“ ??????? ???對於(3,3-3)。您可以透過指定在最後一個底線後立即在方括號內顯示的內容來覆寫此佔位符文字。例如:
exolve-down:
3 This will have 8 placeholder blanks showing "??? ??" instead of
"????" (4) _ _ _ _ _ _ _ _ [??? ??] Some anno.
3 For this piece of cake, we customize the placeholder text shown
in the placeholder blank to be "EAT ME" instead of "??? ??" (3,2) _[EAT ME]
佔位符空白的長度(可以保留的字母數)將是下劃線數量和灰色佔位符文字的最大值(來自枚舉或從覆蓋文字中)。
就像孤兒線索中出現的佔位符毛坯一樣,這些強制佔位持有人的空白也將伴隨「複製區域持有者按鈕」(看起來[⇲]),除非