解法是有了, 可题目是从那里来的呢? 难道是随手填出来的? 1, 2, 3, 4 ... (九宫题目自定义中...) 啊?!!真的出现了一个! (在这里我们称之为完整九宫) ^_^, 这个九宫, 还真有规律啊...(别忘了, Ctrl + S和F4... 郁闷, 竟然又发现了个BUG, 读取完整九宫的时候竟然会出错. 这错犯得...)
貌似, 貌似这个是答案啊. 怎么给人出个题目呢? 我东删删, 西减减, 还真有点模样了...
(九宫单机版-->编辑-->更高难度)
那用程序该怎么实现呢?
步骤1: 我们把一个完整九宫看做一个九宫题目. 显然, 这个题目有唯一解. (原因嘛, 天知地知, 你知我知)
步骤2: 从得到的九宫题目里, 任选一个数, 移除, 看得到的新九宫题目是否有解. 若有唯一解, 则保留所得九宫题目; 若无解或多解(^_^既然是从完整九宫拿到的, 当然没有无解的情况了), 则将移除的数填回.
步骤3: 重复步骤2直到没有数可以再被移除或者达到一定的条件(由你说的算, 比如最终所得九宫题目所填入数的多少)为止.
^_^想想看, 貌似这3个步骤有很多可以利用的地方呢...
Q1: 如果步骤3里的结束条件是由我们确定的, 那么我们是不是可以控制难度(九宫题目初始时所填入数的多少)呢? --- 所得题目难度的实现
Q2: 如果步骤2中移除数字时考虑相关数字的移除, 我们是不是还可以控制所得九宫题目的"形状"呢? --- 特殊格式的得到
| (1)中心对称(设置-->新建选项-->中心对称) | (2)左右对称 |
| (3)上下对称 | (4)全对称(中心, 左右, 上下均对称) |
| (5)半一致(我报[MyPaper]上用的) (格式第1, 3, 5, 7, 9个大宫格形状一样, 2, 4, 6, 8一样) | (6)全一致 |
Q3: 如果步骤1中起始的不是一个完整九宫题目, 而是一个从报纸上得到的九宫题目, 那利用步骤2, 步骤3是不是可以得到一种更难的版本呢? --- 更难版本的获得
等等等等, 完整题目怎么能这么得到?! 那就看下篇 --- 随机题目的生成
^_^好像不对, 下篇是 --- 九宫题目有多少
注: 关于标题中的简化2字, 指的是数的个数多少的简化
(九宫蓝牙对战版前几天基本完工了, Project的report也该写了. ^_^, 决定了, 让他们去写, 哈哈哈哈哈哈)