隨筆-46  評(píng)論-64  文章-2  trackbacks-0
          數(shù)獨(dú)游戲小程序

          數(shù)獨(dú)的游戲規(guī)則很簡(jiǎn)單:在九個(gè)九宮格里,填入1到9的數(shù)字,讓每個(gè)數(shù)字在每個(gè)行、列及九宮格里都 只出現(xiàn)一次就可以過關(guān)了!?雖然游戲的規(guī)則十分簡(jiǎn)單,但很多人在沒有計(jì)算機(jī)輔助時(shí),常常會(huì)不小心造成違規(guī)狀況。

          下面是我做的一個(gè)數(shù)獨(dú)小程序 1.0 版本,目前功能如下:

          選擇外觀;
          數(shù)獨(dú)自動(dòng)出題;
          數(shù)獨(dú)自動(dòng)解題;
          游戲計(jì)時(shí)功能;
          開啟解答輔助功能,出錯(cuò)提示;
          開啟解答輔助功能,輔助線;

          程序基于Java Swing,運(yùn)行需要JRE1.6以上版本。
          ?
          可雙擊執(zhí)行的JAR包,點(diǎn)此下載。(Napkin的LookAndFeel蠻好玩,我就一起弄在里面了)
          程序的源碼,點(diǎn)此下載。(有興趣修改源碼的朋友可以DIY出自己喜歡的版本。)

          或者也可以從 http://groups.google.com/group/afun?這個(gè)group的files里面找到上面的兩個(gè)文件。

          對(duì)數(shù)獨(dú)有興趣的朋友可以玩一下這個(gè)小工具,歡迎留下寶貴意見,讓這個(gè)小程序更完善。 可能我會(huì)另開一篇日志說一下Source Code相關(guān)的東西。
          ?
          Figure: 填值的出錯(cuò)提示
          Figure: 填值的出錯(cuò)提示2
          演示如何使用輔助線功能:
          首先選中Enable help system選項(xiàng), 然后選擇按鈕 1 ,這時(shí)候關(guān)于 1 的輔助線開啟,把不能填1的單元格都畫了線,畫線規(guī)則是,1所在的行畫桃紅色橫線,1所在的列畫橙色豎線,1所在的九宮格畫粉色X線,如下圖,這時(shí)候我們發(fā)現(xiàn),在第五行只有第二列這一單元格格沒有被畫上線,那么這一個(gè)肯定只能填上1。
          這時(shí)候我們就可以把1填入到 第五行第二列,這時(shí)輔助線會(huì)自動(dòng)更新。如下圖,此時(shí)沒有可以確定填入1的單元格了,我們可以換一個(gè)數(shù)看輔助線。
          ?OK,我們選擇3,這時(shí)候輔助線如下,我們發(fā)現(xiàn)第五行第四格可以確定填入3這個(gè)值。
          填入3之后的圖如下:
          解答成功之后,會(huì)彈出恭喜解答成功的對(duì)話框。
          自動(dòng)解答功能可能出現(xiàn)的異常情況
          當(dāng)題目比較復(fù)雜的時(shí)候,可能會(huì)彈出如下的提示異常的對(duì)話框,這是因?yàn)榻獯饠?shù)獨(dú)用了遞歸的解法,難度大時(shí)遞歸深度很深,導(dǎo)致棧溢出,可以通過運(yùn)行JVM時(shí)指定線程棧大小的方法來解決這個(gè)問題。
          posted on 2008-08-02 17:32 jht 閱讀(2720) 評(píng)論(4)  編輯  收藏 所屬分類: J2SE數(shù)獨(dú)程序

          評(píng)論:
          # re: 數(shù)獨(dú)游戲小程序 2008-08-02 19:24 | 黑蝙蝠
          樓主強(qiáng)悍,貌似把swing已經(jīng)用到了隨心所欲的地步了~ 頂起!  回復(fù)  更多評(píng)論
            
          # re: 數(shù)獨(dú)游戲小程序 2008-08-02 20:25 | way
          swing還有人在用?  回復(fù)  更多評(píng)論
            
          # re: 數(shù)獨(dú)游戲小程序 2008-11-14 17:52 | cuso4321
          樓主能不能分享下自動(dòng)出題那部分的算法?

          先謝過樓主了,如果可以請(qǐng)樓主給我發(fā)郵件行不?

          lai54678540@126.com  回復(fù)  更多評(píng)論
            
          # re: 數(shù)獨(dú)游戲小程序 2010-08-28 18:03 | tgh
          &#49324
            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 府谷县| 穆棱市| 朝阳区| 偃师市| 托克逊县| 曲靖市| 林口县| 兴化市| 水富县| 清河县| 上思县| 张北县| 油尖旺区| 芜湖市| 故城县| 竹北市| 保靖县| 三台县| 确山县| 金湖县| 东丰县| 佛学| 贵州省| 吉林省| 商南县| 齐齐哈尔市| 蓬莱市| 财经| 桐梓县| 平顺县| 木兰县| 达孜县| 元江| 紫金县| 申扎县| 贡嘎县| 易门县| 平山县| 齐齐哈尔市| 五莲县| 蒲江县|