ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 15262|回复: 46

[分享] 最强VBA版数独游戏(吹牛)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-30 20:25 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:娱乐和游戏应用
VBA窗体全功能版数独游戏,应该是本站功能最多最完善的了.源码全部公开
1. 自动检测游戏有无解及多解
2. 自动生成唯一解标准数独
3. 可以生成指定难度数独游戏,但稍慢一点点,随机出题,基本上秒出
4. 实现了VBA(VB)版的数独舞蹈链解法(DLX),这是检测数独游戏有无解及多解和自动出题的基础
   该算法可以实现5ms左右解一题
5. 可以自动撤销错误步骤,不限次数撤销及重做步骤
6. 热点数标注,协助解题
7. 可以从剪贴板粘贴游戏,手动输入游戏,皆可检测是不是唯一解数独,不接受多解题目,因为人工AI有部分技巧
   是依赖唯一解这个规则的
8. 实现了主要的人工AI解题算法:
   a.显式唯一数
   b.隐式唯一数
   c.行,列,宫排除法
   d.显式数对排除法
   e.隐式数对排除法
   f.显式三数集排除法
   g.隐式三数集排除法
   h.显式四数集排除法
   i.隐式四数集排除法
   j.X-WING排除法
   k.Swordfish排除法
   l.Jellyfish排除法
   m.BUG+1排除法
   n.XY-WING
   o.XYZ-WING
   p.UniqueRectangle(唯一矩形法含7种)
   q.Skyscraper(摩天楼)
   r.X_Chain
   s.XY_chain
   t.Force_chain
   u.Sue_De_Coq
   v.ALS-XZ
9.版面使用了自定义控件,需要注册才可以使用游戏,程序尝试自动注册,若失败,请手动注册一次即可
10.请大家帮忙查找bug sudoku.rar (175.4 KB, 下载次数: 1155)


补充内容 (2018-11-22 08:12):
这个附件基本上完美了

补充内容 (2018-11-22 08:25):
附件在34楼,主楼无法编辑

评分

7

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-8-30 21:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
就凭着3000+行的代码必须顶下,楼主耐心真好.........

TA的精华主题

TA的得分主题

发表于 2018-8-30 22:26 | 显示全部楼层
收藏                       

TA的精华主题

TA的得分主题

发表于 2018-8-31 11:42 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-8-31 16:08 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-8-31 16:30 | 显示全部楼层
手动输入一道题,点下面的“提示一步”,提示假设 H7=9,  刚开始  就需要试错分析?
你列取的各种解题技巧 在哪呢?


qq112.JPG

TA的精华主题

TA的得分主题

发表于 2018-8-31 16:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
收藏 ,好贴

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-31 19:24 | 显示全部楼层
zopey 发表于 2018-8-31 16:30
手动输入一道题,点下面的“提示一步”,提示假设 H7=9,  刚开始  就需要试错分析?
你列取的各种解题 ...

你这是明显的抬杠,你这一题是数学家精心设计的,任何已知的技巧都无法解题,只能爆破,请你说说你的解题技巧,不用爆破方法

TA的精华主题

TA的得分主题

发表于 2018-8-31 21:58 | 显示全部楼层
yangyangzhifeng 发表于 2018-8-31 19:24
你这是明显的抬杠,你这一题是数学家精心设计的,任何已知的技巧都无法解题,只能爆破,请你说说你的解题 ...

转载自 小向的标准数独技巧教程

:网结构 简称MSLS


如图所示,标注在盘面外的数字,表示所在行(列)上,一定存在于此区域的候选数。比如说r1外围的1、3、6,表示这一行内,结构涉及的单元格内,候选数1、3、6恰只属于此行内。


然后,数一下外围的数字的个数。结构涉及五行,一共是3+2+2+1+2=10个数;又涉及四列,一共是2+3+3+2=10个数,所以结构整体一共涉及的是20个数。而恰好又是20个单元格。

v2-7647cb44666a853ba1854bfd85ce530e_hd.jpg

结论:这些外围的数字表示所在行(列)上,一定会出现这些数字。所以所在行(列)上,可以对应删除掉其他位置的候选数。
如图所示,红色的均为删数。


v2-be51b7d36b302cb6d9556ab54ef77be2_hd.jpg

再观察第3 宫 ,右上角 出现4组 “4,5,7,9” ,为显式4 数组 结构。
第3宫 第3行的 “458” 可以删除4,5候选 ,确定 为 8 。

继续答题。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-9-1 08:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
厉害厉害, 顶楼主.....
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 06:01 , Processed in 0.042148 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表