klsudoku


标准数独游戏

为什么做KLSudoku

原因很简单,因为自己喜欢玩传统的标准数独,所以借学习CSharp的机会来编写一个标准传统数独的题目生成和解题的游戏软件,并且力求它可以为你增加更多的解题乐趣。

KLSudoku所有源码免费开放,但是请先阅读并且同意代码使用说明。使用源码时请务必在代码和软件的显著位置添加指向本Project的连接地址 http://code.google.com/p/klsudoku/ ,希望更多的数独爱好者可以一起加入改进。

一些链接地址

KLSudoku现状

已经发布的版本:1.3 (2009.12.15) (已经开始转入C++开发跨平台的版本分支)

版本修订记录

2009.12.15(v1.3 Release)

注:开始用C++重新开发数独游戏,未完特性将在新的开发分支里实现,本次发布版本主要是修复一些小BUG和一些细节的改善。 1. 问题修正: * 修复一个唯一矩形BUG(Issue28) * 修复在Windows7上启动时的一个异常崩溃问题(Issue26) * 修改在Windows7上启动时对界面的细节处理(Issue26) * 修改不能按两次数字键来选择和取消热点数字的问题(Issue26) * 修改鼠标离开游戏区域时未隐藏热点数格的问题(Issue26) * 修改在使用BUG+1解法提示时不合理的颜色标注问题(Issue27

2009.7.2(v1.2)

  1. 新增功能:
    • 增加BUG+1解题技巧
    • 增加游戏历史浏览和排行榜功能
    • 增加游戏计时和填数情况统计显示的功能
    • 重新设计键盘操作方法(严西建议)
    • 增加突显热点数字的功能(严西建议)
    • 增加一些数独相关网站链接
    • 增加以表格形式复制题目的功能,增强复制解题步骤的功能
    • 增加恢复上次运行窗口大小的功能,改进启动体验
    • 减少更新检查频度,优化软件更新逻辑
    • 改进候选数标记删除的展示效果(默认显示为不存在)
    • 增加多种用户可定制的配置选项
  2. 问题修正:
    • 修正一些对数格或者候选数颜色标注的错误
    • 修正X-Chain解题技巧在特定情况下会出现遗漏的问题

2009.4.10(v1.1 build 23847)

  1. 问题修正:

    • 修正未选择默认操作数情况下数组越界崩溃的错误
    • 修正在提示模式下数格和候选数背景色显示错误的问题

      2009.4.8(v1.1)

  2. 问题修正:

    • 修正在未联网情况下因为检测新版本失败而退出的问题

      2009.3.23(v1.1Preview)

  3. 新增功能

    • 增加7种唯一矩形排除法Uniquess Rectangle
    • 增加XY-Chain解法
    • 重新实现了隐式数集法,XY-Wing
    • 重新设定题目难度划分
    • 增加使用颜色标注提示的数格和候选数的功能
    • 增强普通模式(非候选数模式)的操作
    • 增加手动添加候选数的功能
    • 预置了近5万个17个初始数的数独题
    • 调整复制出来的解题步骤信息
    • 增加新的用户手册,以说明操作方法以及解题技巧
    • 缩减安装包大小
  4. 问题修正

    • 修正一些解题技巧的实现问题
    • 修正一些基础逻辑错误
    • 修正撤销错误无法正确完成的问题
    • 修正生成题目的问题
    • 修正后台线程影响操作的问题

      2009.2.21(v1.0)

  5. 增加以下逻辑解法

    • X-Chain
    • Forcing-Chain
    • SwordFish
    • JellyFish
  6. 重新实现以下逻辑解法:
    • Naked Pair
    • Naked Triple
    • Naked Quad
    • X-Wing
  7. 可以根据指定难度出题
  8. 窗口大小可缩放,数格也相应缩放
  9. 在主程序实现出题器,增加配置文件和题库记录文件
  10. 增加基本解题技巧网页帮助到安装包里
  11. 修改一些操作的小BUG

    2009.2.16

  12. 安装包和程序可在 .NET Framework 2.0 版下运行

  13. 支持以下解法
    • 显式唯一数法,隐式唯一数法
    • 区块排除法(intersection removal)
    • 显示数对法(Naked Pair),隐式数对法(Hidden Pair)
    • 显式三数集(Naked Triple),四数集法(Naked Quad)
    • 隐式三数集(Hidden Triple),四数集法(Hidden Quad)
    • X-Wing
    • XY-Wing
    • XYZ-Wing
  14. 解题步骤撤销和重复功能
  15. 解题提示功能
  16. 可以复制解题步骤
  17. 题目可以通过粘贴或者文本文件导入,题目格式支持81个长数或者9X9数列表
  18. 可手动输入游戏

开发和使用环境说明

  • 开发环境说明:Visual Studio 2008 with SP1 , Windows XP
  • 程序语言: C#
  • 安装包需求: .NET框架2.0

其他说明

出于学习的目的,代码里使用了一些不必要的代码来达成目标,如果这对阅读代码时造成了困扰,可以给我写邮件询问。

编写过程中,参考了数独百科sudopedia和sudocue两个网站的不少解题技巧说明: * http://www.sudocue.net/guide.php * http://www.sudopedia.org/wiki/Solving_Technique

其他相关计划

准备将KLSudoku使用QT重新移植一次,争取在Windows,Linux,Symbian,WinCE上发布KLSudoku。 移植的项目将会增加网络功能,且将不再开源(将以共享软件形式发布),但是KLSudoku依然会持续更新,实现新的功能。

界面预览

http://klsudoku.googlecode.com/svn/trunk/csharp/SudokuPanel/Docs/ui_1.PNG

http://klsudoku.googlecode.com/svn/trunk/csharp/SudokuPanel/Docs/ui_2.PNG

更多界面预览图见: http://klsudoku.googlecode.com/svn/trunk/csharp/SudokuPanel/Docs/

Project Information

Labels:
sudoku puzzle game 数独 九宫 游戏 klsudoku