用js能做出生成数独游戏的方法吗

JavaScript023

用js能做出生成数独游戏的方法吗,第1张

1.完整数独生成算法(规律性低,非随机,不保证全可能性)

2.非唯一解挖坑

3.正确性判断

4.使用localStorage,制作继续游戏功能

5.简单使用jquery mobile

6.在某日早上,在地铁时代报上看到数独游戏,就想在网页上做一个试试

百度google了下生成算法,没有发现有效的生成算法,很多是随机回滚类型[还有错误的算法。。。]

在纸上随意写写,排排,发现还有个简单的生成数独的方法,但没有论证是否可以生成所有数独

上来必须先学会做标准数独,如果喜欢杀手就想直接做杀手,那基本是行不通的。如果不提前学好标准数独,就必须在学做杀手的过程中学习标准数独,那么过程会很曲折。

1、掌握标准数独规则及排除法

可以去书店找那种前面带一点解法的入门题集,前面基本都会介绍规则及排除法,然后把这本题集做完,至少做上100道左右的题,如果是入门或者初级的书,主要都是用排除法完成的题目。碰到卡住的时候就多想想,这个时候不建议问别人,因为最简单的题集里不会有太难的题,可能是有排除你还没看到,或者有一点超范围的解法,可以等后面学到更新的解法后再试试做。另外做完以后稍微检查一下看有没有漏填的,一上来练习就培养一下好的做题习惯。

我不建议一上来先学更多的解法然后就再做题。俗话说,贪多嚼不烂,刚上来会的多了反而会乱,做题的时候有可能总想着用复杂一点的方法而绕弯子。这就好比学习打羽毛球要先学习握拍和步伐,练习熟练后再学习挥拍和发球,然后再打球。因为当握拍和步伐已经成为习惯后,练习后面的时候就不用再惦记着它们的要领了。否则一下子全学了直接就打球,需要刻意强化的要领太多更容易乱。

2、学习几种基本解法。

做完100道题,基本上所有人速度都可以提到10分钟以内完成一道简单的题了。这时候可以先不着急继续练速度,现在基本上对数独已经培养出自己独有的感觉了,就需要再完善自己的解法体系了。继续去学习一下区块、数对、唯余这几种解法。如果想要加快你练数独的方法,你可以在苹果上下载Nil数独游戏,很有用哦,难度系数很高。然后再继续大量做题,学习数独的过程中基本学习解法和做题练习的时间比例至少是1:20。如果你学习了一个小时的解法,起码要再做20个小时的题目,才能把学习到的内容消化。

区块和数对只要掌握了标候选数的方法是可以在排除之后就掌握的。唯余一开始会比较难,虽然很好理解,但是不容易找到,慢慢练习,如果做不下去的题目可以尝试全标候选数去看看,虽然标数比较费时间,但是标过几次,感觉可能就出来了。在什么地方可能会出现唯余,这种感觉也是要靠训练才能有的。有人可能知道一些数独软件,说我直接把题目输入软件不就能一下子看到唯余的地方了么?但这种方式基本达不到找感觉的目的,训练效果几乎为零。实在碰到做不下去的时候,在网上请教一下其他高手可能更好,在论坛或者QQ群,截图把自己卡住的地方发出来问大家下一步怎么做,很多人会愿意解答的。

然后就一直做题,做到大部分中级的题目可以在5-8分钟左右做完,基本上标准数独初步的学习就达到了。可以选择参加一次北京市数独运动协会的五段考试测试一下,如果30分钟能做完4道题,基本上就算达到初级水平了。这时候根据你的兴趣可以有三种选择:

(1)变型数独:如果标准实在做的有些无聊了,想追求点新鲜感和刺激,可以直接跳到第二大点:变型数独的学习中。基本上这时候一部分简单的变型数独你已经可以学习和完成了,在做变型数独的过程中也可以结合着练到标准数独解法。但如果变型数独做到一定程度你还想继续参加比赛了,那就必须再回来进行下面两个小点的训练,一旦想参加比赛,标准数独的训练根本不能停。

(2)速度训练:五段达到的速度就够了么?其实差的还很远,这只是最基本的要求了。后面可以再不断的反复练习,直到把速度提高到平均3分钟左右,当然还可以再快,越快越好。

(3)难度训练:后面还有很多复杂一点的技巧可以学习,如果想接触一些候选数的解法,就要有一些精力去学习和研究了。比如X-WING,XY-WING,单数链、唯一矩阵等等,这些也是很必要的解题技能,而且在高水平的比赛中也是会出现的。这时候除了做题,还需要一些辅助,比如一些能帮助你标候选数的软

(前提是自己标候选数已经不会出错了。)软件这块需要自己摸索,中文的有数独博士,英文的选择范围就多了,SE,HSUDOKU,JS等等,自己找个喜欢的顺手的就行。因为难的题有时候真的不知道是什么。当然用软件最好是在基本解法训练已经达标后,否则可能就练废了。授人以鱼不如授人以渔,但是出海钓鱼前安全起见也要先学会游泳啊喂!

4

总的来说现在的关于数独的书都是没什么用的,所以小编觉得你可以在苹果系统上下载Nil数独,很不错的数独游戏,个人很喜欢这个Nil数独游戏,很有意思,玩起来很不错,画面简洁,眼睛看着也不累,很不错哟!!喜欢数独游戏的朋友可以采纳一下哦!

希望对你有帮助

请采纳 谢谢

数独游戏玩法:根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。利用排除法先填可以确定数字的行或列。优先填空格最少的行或列。当应用以上两个原则填好可以确定的和空格最少的行和列之后,其他行或列又有可以确定的数字,循环运用前两个原则填写空格。运用此技巧基本上就是逐个填确定的数字,不需要去尝试可能性。数独游戏是一种源自18世纪末的瑞士的游戏,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。数独是锻炼脑筋的好方法,在做数独题时需要接触大量的数字,进行大量的练习和操作,通过这样对数字的反复计算和排列,能够最快速度的提高对数字的敏感度, 提高做题速度。数独游戏技巧:1、按照行的思路做题。即从第一行开始排除,直到第四行做完把确定的数字填上。2、按照列的思路做题。从第一列开始观察,直到轮询所有列做完。3、按照小宫格的方式去做题,直到四个小宫格做完。