數(shù)獨(dú)是一個智力小游戲。一個9*9的棋盤,共有9行9列以及9個互不相交的3*3九宮格。里面某些格子開始已經(jīng)填上了1-9中的一些數(shù)字。要求玩家在余下的空格中填上1-9中數(shù)字,使得每行,每列和每個3*3九宮格中都正好包含1-9數(shù)字各一個。數(shù)獨(dú)游戲保證結(jié)果的存在和唯一性。
無限數(shù)獨(dú)游戲功能:
i) 隨機(jī)產(chǎn)生任意多的游戲(理論上可以產(chǎn)生2^96=79228162514264337593543950336個不同的游戲)
ii) 游戲分成四個不同級別(入門級,高級,專家級,骨灰級)
iii) 通過模擬人工解數(shù)獨(dú)問題提供人性化的提示,幾乎所有游戲都完全可以僅用提示解決
iv)提供嘗試功能(使用Shift鍵加數(shù)字鍵或鼠標(biāo)左鍵)
v)可以用戶自定義游戲,用戶可以直接輸入或者通過剪切板復(fù)制游戲
vi)可以將計(jì)算機(jī)模擬人工求解過程復(fù)制到剪切板(Ctrl+U鍵)
vii)語音提示功能(M鍵切換語音功能)
viii)歷史記錄圖形化回放功能
ix)語音命令功能
游戲說明:
玩游戲過程:
如上圖,在游戲中還沒有填充的格子中,在候選數(shù)顯示模式,計(jì)算機(jī)會自動顯示所有的候選數(shù)。其中黑色大數(shù)字是游戲事先設(shè)置好的數(shù)字,藍(lán)色大數(shù)字是玩家填充的數(shù)字,黑色小數(shù)字是每個格子的候選數(shù)。但是在非候選數(shù)模式,計(jì)算機(jī)不會顯示候選數(shù)。
用戶可以使用鼠標(biāo)或鍵盤玩游戲。用鼠標(biāo)左鍵點(diǎn)擊一個候選數(shù)(僅用于候選數(shù)顯示模式)或鼠標(biāo)在格子上時按數(shù)字鍵選擇一個數(shù)1-9。用鼠標(biāo)右鍵或同時按住Ctrl和數(shù)字鍵來減少或添加候選數(shù)(僅用于候選數(shù)顯示模式)。按H或Ctrl+H獲得提示。
顯示部分候選數(shù)功能:僅提供鍵盤操作。按住Ctrl+Shift+數(shù)字鍵1-9分別只顯示候選數(shù)1到9。Ctrl+Shift+0顯示所有候選數(shù)。而在顯示部分候選數(shù)時,也可以通過左右鍵改變當(dāng)前顯示的候選數(shù)。
游戲還提供無限制步數(shù)的取消和重做功能,任何時候可以通過菜單項(xiàng)"編輯/取消”或熱鍵Ctrl+Z取消上一步操作。對于取消后的步驟可以通過Ctrl+Y鍵重做。 批量取消功能:通過用鼠標(biāo)右鍵點(diǎn)擊一個用戶已經(jīng)設(shè)置好的數(shù)據(jù),這將取消這個格子里面的數(shù)據(jù),并且所有在設(shè)置這個數(shù)字后面的步驟全部被取消。同樣,用右鍵點(diǎn)擊一個已經(jīng)被加灰(推理刪除)的候選數(shù)(僅用于候選數(shù)顯示模式),將取消將這個候選數(shù)隱含的步驟,同時它后面的所有步驟也全部取消。在批量取消后,同樣可以通過選擇菜單項(xiàng)“重做”來重新使用這些被取消的步驟, 如果因?yàn)殄e誤操作(比如不小心用鼠標(biāo)右鍵點(diǎn)中一個格子),可以通過按Shift+Y來重做所有被取消的步驟。
游戲技巧:
i)唯一數(shù)法
如果我們發(fā)現(xiàn)某個格子中只有一個可用候選數(shù),那么這個格子必然是這個數(shù)字,這就是唯一數(shù)法
如下面例子,H5格子中只有唯一候選數(shù)3
如果沒有使用候選數(shù)模式,那么得到提示信息會如下圖
ii)隱含唯一數(shù)法
如果我們發(fā)現(xiàn)某一行某一列或某個九宮有一個候選數(shù)只出現(xiàn)在一個格子里面,那么這個格子必然是這個數(shù)字,這就是隱含唯一數(shù)法,如下面例子,第3列候選數(shù)4只出現(xiàn)在格子I3中. 本軟件還提供了一種顯示單一候選數(shù)的模式,在單一候選數(shù)模式,我們可以更加容易找到隱含唯一數(shù)。比如在這里,我們按Ctrl+Shift+4,那么軟件將會只顯示候選數(shù)4,在這種模式下,就可以非常容易看出I3中的4是隱含唯一數(shù)。
如果沒有使用候選數(shù)模式,得到提示如下:
而對于隱含唯一候選數(shù)法(還有區(qū)間刪減法和各種矩形法)我們還可以使用單一候選數(shù)模式,比如對于這個例子
我們可以通過按Ctrl+Shift+4鍵只顯示候選數(shù)4,得到如下一個圖,根據(jù)下圖,很顯然I3中4是隱含唯一數(shù)
iii)數(shù)對法
如果我們發(fā)現(xiàn)某一行某一列或某個九宮有兩個格子只使用了兩個候選數(shù),那么這兩個格子必然正好是這兩個數(shù)字,那么在這個單元(行,列,或九宮)中,其它格子不會出現(xiàn)這兩個候選數(shù),這就是數(shù)對法,如下面例子,第一列中B1和G1的候選數(shù)都是7,8;那么D1,H1中的候選數(shù)7,8可以刪除。
iv)三鏈數(shù)法
如果我們發(fā)現(xiàn)某一行某一列或某個九宮有三個格子只使用了三個候選數(shù),那么這三個格子必然正好是這三個數(shù)字,那么在這個單元(行,列,或九宮)中,其它格子不會出現(xiàn)這三個候選數(shù),這就是三鏈數(shù)法,如下面例子,
最下面中間的九宮中格子H4,H5,I5三個格子都只使用候選數(shù)2,8,6;所以G4,G6,I6中出現(xiàn)的8,6都可以刪除
v)四鏈數(shù)法
如果我們發(fā)現(xiàn)某一行某一列或某個九宮有四個格子只使用了四個候選數(shù),那么這四個格子必然正好是這四個數(shù)字,那么在這個單元(行,列,或九宮)中,其它格子不會出現(xiàn)這四個候選數(shù),這就是四鏈數(shù)法;如下面例子中
上面中間的九宮中四個格子A5,B5,C4,C5都只使用了數(shù)字1,2,3,4;所以另外4個格子A4,A6,B4,C6中出現(xiàn)的數(shù)字1,2,3,4可以刪除