数独游戏

 

数独的游戏分成两部:一,生成棋盘;二,搜寻答案

问题一:生成棋盘

采用比较简单的一种方式生成,如下图所示,A-I分别代表数独的九宫格。首先生成一串1-9的随机序列,填充到E部分,接下交换E的行填充到D,继续交换E的行填充到F,如下面的一种行交换,使得DEF每行都不一样


A B C
D E F
G H I

         数独棋盘,每个字母代表9宫格


接下来用相同的方式交换列,分别填充到B和H里面,然后再基于D和F采用同样的方法交换列,填充到A,G和C,I里面,这样就可以生成一个符合数独规律的棋盘了。

根据难度,可以分别挖掉其中的数字,就可以生成游戏界面。


问题二:搜寻答案

采用深度搜索的方式,从上到下,从左到右,搜寻每一个空格,然后得到这个空格可能填充的数字,如果选择一个数字填充,然后继续往下搜寻;如果最终得到符合数独的规律的棋盘,则搜寻结束,否则选择下一个数字填充,然后往下搜寻。

源码下载地址:http://download.csdn.net/detail/hbdatouerzi/9201835

 

posted @ 2015-10-22 09:33  黄大仙爱编程  阅读(154)  评论(0编辑  收藏  举报