|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
无聊之际,用类模块、栈、递归、回溯,写一个数独
- '***************************************************************
- ' VBA 数独类模块
- ' (clsSukodu)
- ' Ver:1.0 Author:lsdongjh
- '***************************************************************
- '提供使用的过程和函数
- '
- '根据难度系数intDifficulty,创建不同的数独题目
- '1) CreateSukodu(Optional intDifficulty As Integer = 0)
- '自动解答,前题是 需要有题目,题目可以自动生成,也可以根据格式导入
- '2) AutoAnSwer() As Boolean
- '导入题目,支持三种类型:二维数组、一维数组、字符串
- '3) InitSukoduByValue(varValue As Variant, affType As afferentType) As Boolean
- '导出题目,支持三种类型:二维数组、一维数组、字符串
- '4) OutPutValue(OutType As afferentType) As Variant
- '根据行列号,返回 当前格子可用的 数字,为一维数组形式
- '5) GetNums(RowID As Integer, ColID As Integer) As Integer()
- '在指定行列号的某个位置填入某个数字
- '6) PutNum(RowID As Integer, ColID As Integer, intValue As Integer) As Boolean
- '删除指定行列号的某个位置上的某个数字
- '7) DelNum(RowID As Integer, ColID As Integer, intValue As Integer) As Boolean
- '判断题目是否创建成功
- '8) HasCreate() As Boolean
- '获取当前某个行列号上的数字
- '9)Nums(RowID, ColID) As Integer
- '判断题目是否完成
- '10)Finsh() As Boolean
复制代码
只是把工作表当做显示界面,所有核心逻辑均在类模块中解决
给大家参考吧:
sudoku.rar
(82.22 KB, 下载次数: 253)
|
评分
-
4
查看全部评分
-
|