﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-季浩的Blog-随笔分类-数独程序</title><link>http://www.blogjava.net/jht/category/33496.html</link><description>努力</description><language>zh-cn</language><lastBuildDate>Sat, 02 Aug 2008 09:56:29 GMT</lastBuildDate><pubDate>Sat, 02 Aug 2008 09:56:29 GMT</pubDate><ttl>60</ttl><item><title>数独游戏小程序</title><link>http://www.blogjava.net/jht/archive/2008/08/02/219596.html</link><dc:creator>jht</dc:creator><author>jht</author><pubDate>Sat, 02 Aug 2008 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/jht/archive/2008/08/02/219596.html</guid><wfw:comment>http://www.blogjava.net/jht/comments/219596.html</wfw:comment><comments>http://www.blogjava.net/jht/archive/2008/08/02/219596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jht/comments/commentRss/219596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jht/services/trackbacks/219596.html</trackback:ping><description><![CDATA[<div id="qxd0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: center">
				<strong id="vjcd">
						<font id="g-jd" color="#0000ff">数独游戏小程序</font>
				</strong>
		</div>
		<p id="bpm9" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<strong id="g-jd0">
						<font id="g-jd1" color="#0000ff">数独的游戏规则很简单：在九个九宫格里，填入１到９的数字，让每个数字在每个行、列及九宫格里都 只出现一次就可以过关了！ 虽然游戏的规则十分简单，但很多人在没有计算机辅助时，常常会不小心造成违规状况。</font>
				</strong>
		</p>
		<p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<font id="g-jd2" color="#0000ff">下面是我做的一个数独小程序 1.0 版本，目前功能如下：<br /><br /></font>
				<font id="kj34" color="#0000ff">
						<strong id="kj340">选择外观；<br /></strong>
				</font>
				<font id="kj341" color="#0000ff">
						<strong id="kj342">数独自动出题；<br /></strong>
				</font>
				<font id="kj343" color="#0000ff">
						<strong id="kj344">数独自动解题；</strong>
				</font>
				<font id="kj345" color="#0000ff">
						<strong id="kj346">
								<br />游戏计时功能；<br /></strong>
				</font>
				<font id="kj347" color="#0000ff">
						<strong id="kj348">开启解答辅助功能，出错提示；<br /></strong>
				</font>
				<font id="kj349" color="#0000ff">
						<strong id="kj3410">开启解答辅助功能，辅助线；</strong>
				</font>
		</p>
		<div id="uomx">
				<font id="uomx0" color="#0000ff">程序基于Java Swing，运行需要JRE1.6以上版本。</font>
		</div>
		<div> </div>
		<div id="sgxj">
				<font id="sgxj0" color="#0000ff">可双击执行的JAR包，<a href="/Files/jht/sudoku_v1.0.zip">点此下载</a>。（Napkin的LookAndFeel蛮好玩，我就一起弄在里面了）</font>
		</div>
		<div>
				<font id="sgxj2" color="#0000ff">程序的源码，<a href="/Files/jht/sudoku_src_v1.0.zip">点此下载</a>。（有兴趣修改源码的朋友可以DIY出自己喜欢的版本。）<br /><br />或者也可以从 <a href="http://groups.google.com/group/afun">http://groups.google.com/group/afun</a> 这个group的files里面找到上面的两个文件。<br /><br /></font>
		</div>
		<div>
				<font color="#0000ff">
				</font>
		</div>
		<div>
				<font color="#0000ff">对数独有兴趣的朋友可以玩一下这个小工具，欢迎留下宝贵意见，让这个小程序更完善。</font>
				<font id="g-jd7" color="#0000ff">可能我会另开一篇日志说一下Source Code相关的东西。</font>
		</div>
		<div id="w7.v">
				<font id="sgxj2" color="#0000ff">
				</font> </div>
		<div id="i9-27" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<a id="qxd02" href="http://docs.google.com/File?id=df29k9vs_181ggkb46c2_b" target="_blank">
						<font id="g-jd9" color="#0000ff">
								<img id="ecnk0" style="WIDTH: 777px; HEIGHT: 594px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_181ggkb46c2_b" />
						</font>
				</a>
		</div>
		<a id="o8ln" href="http://docs.google.com/File?id=df29k9vs_170jzjcrncc_b" target="_blank">
		</a>
		<div id="qxd03" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<a id="yt9i" href="http://docs.google.com/File?id=df29k9vs_170jzjcrncc_b" target="_blank">
						<font id="g-jd10" color="#0000ff">
								<img id="hnl:" style="WIDTH: 775px; HEIGHT: 596px" src="http://docs.google.com/File?id=df29k9vs_170jzjcrncc_b" />
						</font>
				</a>
		</div>
		<div id="kd9q" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<div id="eywt" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<a id="o8ln0" href="http://docs.google.com/File?id=df29k9vs_171dn28rxd4_b" target="_blank">
								<font id="g-jd11" color="#0000ff">
										<img id="o8ln1" style="WIDTH: 777px; HEIGHT: 596px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_171dn28rxd4_b" />
								</font>
						</a>
				</div>
		</div>
		<div id="lp_y" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<strong id="h1wl">
						<font id="g-jd12" color="#0000ff">Figure: 填值的出错提示</font>
				</strong>
		</div>
		<div id="h1wl0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<a id="l3fr" href="http://docs.google.com/File?id=df29k9vs_172rzbpwntd_b" target="_blank">
						<font id="g-jd13" color="#0000ff">
								<img id="l3fr0" style="WIDTH: 779px; HEIGHT: 594px" src="http://docs.google.com/File?id=df29k9vs_172rzbpwntd_b" />
						</font>
				</a>
		</div>
		<div id="p80z" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<div id="h1wl1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<strong id="h1wl2">
								<font id="g-jd14" color="#0000ff">Figure: 填值的出错提示2</font>
						</strong>
				</div>
				<a id="inxq" href="http://docs.google.com/File?id=df29k9vs_173dnxsggf2_b" target="_blank">
						<font id="g-jd15" color="#0000ff">
								<img id="inxq0" style="WIDTH: 777px; HEIGHT: 597px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_173dnxsggf2_b" />
						</font>
				</a>
		</div>
		<div id="hzom" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<font id="g-jd16" color="#0000ff" size="3">
						<strong id="hsel">演示如何使用辅助线功能：</strong>
				</font>
		</div>
		<div id="h1wl3" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<font id="moa4" color="#0000ff">
						<font id="g-jd17">首先选中Enable help system选项，</font>
						<font id="th:0">然后选择按钮 1 ，这时候关于 1 的辅助线开启，把不能填1的单元格都画了线，画线规则是，1所在的行画桃红色横线，1所在的列画橙色竖线，1所在的九宫格画粉色X线，如下图，这时候我们发现，在第五行只有第二列这一单元格格没有被画上线，那么这一个肯定只能填上1。</font>
				</font>
		</div>
		<div id="h1wl4" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<a id="inxq1" href="http://docs.google.com/File?id=df29k9vs_174gm47d6fv_b" target="_blank">
						<font id="g-jd18" color="#0000ff">
								<img id="inxq2" style="WIDTH: 776px; HEIGHT: 592px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_174gm47d6fv_b" />
						</font>
				</a>
		</div>
		<div id="b9.t" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<font id="g-jd19" color="#0000ff">这时候我们就可以把1填入到 第五行第二列，这时辅助线会自动更新。如下图，此时没有可以确定填入1的单元格了，我们可以换一个数看辅助线。</font>
		</div>
		<div id="ao3e" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
				<a id="obkd" href="http://docs.google.com/File?id=df29k9vs_175dw4h9ddw_b" target="_blank">
						<font id="g-jd20" color="#0000ff">
								<img id="obkd0" style="WIDTH: 777px; HEIGHT: 598px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_175dw4h9ddw_b" />
						</font>
				</a>
		</div>
		<div id="obkd1">
				<font id="g-jd21" color="#0000ff"> OK，我们选择3，这时候辅助线如下，我们发现第五行第四格可以确定填入3这个值。</font>
				<a id="b.m9" href="http://docs.google.com/File?id=df29k9vs_176htn8ggd2_b" target="_blank">
						<font id="g-jd22" color="#0000ff">
								<img id="b.m90" style="WIDTH: 775px; HEIGHT: 594px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_176htn8ggd2_b" />
						</font>
				</a>
		</div>
		<div id="obkd2">
				<div id="svk4" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<font id="g-jd23" color="#0000ff">填入3之后的图如下:</font>
				</div>
				<div id="svk40" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<a id="c3b9" href="http://docs.google.com/File?id=df29k9vs_177ct52vddz_b" target="_blank">
								<font id="g-jd24" color="#0000ff">
										<img id="c3b90" style="WIDTH: 777px; HEIGHT: 596px" src="http://docs.google.com/File?id=df29k9vs_177ct52vddz_b" />
								</font>
						</a>
				</div>
				<div id="lqgb" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<font id="g-jd25" color="#0000ff">解答成功之后，会弹出恭喜解答成功的对话框。</font>
						<a id="mk_p1" href="http://docs.google.com/File?id=df29k9vs_179fbfchk3q_b" target="_blank">
								<font id="g-jd26" color="#0000ff">
										<img id="mk_p2" style="WIDTH: 775px; HEIGHT: 596px" src="http://docs.google.com/File?id=df29k9vs_179fbfchk3q_b" />
								</font>
						</a>
				</div>
				<div id="lg9l0" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<font id="g-jd27" color="#0000ff" size="3">
								<strong id="pi4j">自动解答功能可能出现的异常情况</strong>
						</font>
				</div>
				<div id="lg9l1" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<font id="g-jd28" color="#0000ff">当题目比较复杂的时候，可能会弹出如下的提示异常的对话框，这是因为解答数独用了递归的解法，难度大时递归深度很深，导致栈溢出，可以通过运行JVM时指定线程栈大小的方法来解决这个问题。</font>
				</div>
				<div id="lg9l2" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<a id="f..." href="http://docs.google.com/File?id=df29k9vs_180zgq446d7_b" target="_blank">
								<font id="g-jd29" color="#0000ff">
										<img id="f...0" style="WIDTH: 775px; HEIGHT: 596px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_180zgq446d7_b" />
								</font>
						</a>
				</div>
				<div id="v1lf" style="PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left">
						<a id="wvay" href="http://docs.google.com/File?id=df29k9vs_183hck9qfc9_b" target="_blank">
								<font id="g-jd30" color="#0000ff">
										<img id="wvay0" style="WIDTH: 479px; HEIGHT: 251px; cssFloat: " src="http://docs.google.com/File?id=df29k9vs_183hck9qfc9_b" />
								</font>
						</a>
				</div>
		</div><img src ="http://www.blogjava.net/jht/aggbug/219596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jht/" target="_blank">jht</a> 2008-08-02 17:32 <a href="http://www.blogjava.net/jht/archive/2008/08/02/219596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>