【Unity小游戏】数独(一)——前言及整体思路

编程入门 行业动态 更新时间:2024-10-06 10:37:53

【Unity<a href=https://www.elefans.com/category/jswz/34/1769974.html style=小游戏】数独(一)——前言及整体思路"/>

【Unity小游戏】数独(一)——前言及整体思路

前言

突发奇想打算做一个联机的数独跟朋友玩,这个系列是用来记录我制作数独的一些想法和思路,里面用到的算法可能不会是最优的。为了简化处理,我尽量不涉及联机相关的逻辑。

这种方法下数独的特点

1.生成是完全由电脑随机的,无需录入题库

2.可以设定题目难度

数独总体思路

第一步,让程序自动生成一个已经填好所有数字的数独(数独终盘)

第二步,盖住所有数字并随机打开17个格子(要使数独的结果唯一,至少要提供17个数字以上,虽然这个结论到现在也没有被证实,但各种资料公认是这个数字)

第三步,遍历每一个未打开的格子,对格子做标记,默认可以填写123456789,根据行、列、宫里已有的数字去掉标记中的数字

第三步,编写所有数独的解题方法并根据难度从易到难为每个方法编序号(这里参考的是全民数独app里面列举的解题方法,感谢全民数独app的整理)

第四步, 从第0个方法开始尝试解题,如果当前方法无法填写数据或剔除标记,那么继续尝试下一个方法,当方法序号大于设定的难度系数时,随机打开一个标记最多的格子并更新标记回到第0个方法;如果在第n个方法可以填写数据或者剔除标记,那么填写并更新标记,并回到第0个方法,以此类推...,当程序能够解完整个数独,那么已打开的格子就是数独的题目(数独初盘)

更多推荐

【Unity小游戏】数独(一)——前言及整体思路

本文发布于:2024-03-10 19:39:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728866.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小游戏   思路   数独   Unity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!