易语言数独计算保存源码

.版本 2 .支持库 eGrid .程序集 窗口程序集1 .子程序 _按钮1_被单击 .局部变量 i, 整数型 .局部变量 j, 整数型 .局部变量 有解, 逻辑型 .局部变量 计时, 日期时间型 计时 = 取现行时间 () 无解 = 假 .计次循环首 (9, i) .计次循环首 (9, j) .如果真 (数独表格.取数据 (i - 1, j - 1) = “”) 数独表格.置数据 (i - 1, j - 1, #表格常量.文本型, “123456789”) .如果真结束 .计次循环尾 () .计次循环尾 () .判断循环首 (数独未完成 ()) .计次循环首 (9, i) .计次循环首 (9, j) .如果真 (取文本长度 (数独表格.取数据 (i - 1, j - 1)) = 1) 删同行 (i - 1, j - 1) 删同列 (i - 1, j - 1) 删同九宫 (i - 1, j - 1) .如果真结束 .计次循环尾 () .计次循环尾 () .如果真 (取时间间隔 (取现行时间 (), 计时, #秒) > 20) 信息框 (“对不起,本题无解,请检查核实”, 0, ) 无解 = 真 ' 标注:数独无解 返回 () .如果真结束 .判断循环尾 () .子程序 数独未完成, 逻辑型, , 未完成返回真,完成返回假 .局部变量 i, 整数型 .局部变量 j, 整数型 .计次循环首 (9, i) .计次循环首 (9, j) .如果真 (取文本长度 (数独表格.取数据 (i - 1, j - 1)) ≠ 1) 返回 (真) .如果真结束 .计次循环尾 () .计次循环尾 () 返回 (假) .子程序 删同行 .参数 行号, 整数型 .参数 列号, 整数型 .局部变量 i, 整数型 .局部变量 临时变量, 文本型 临时变量 = 数独表格.取数据 (行号, 列号) .计次循环首 (9, i) 数独表格.置数据 (行号, i - 1, #表格常量.文本型, 子文本替换 (数独表格.取数据 (行号, i - 1), 临时变量, , , , 真)) .计次循环尾 () 数独表格.置数据 (行号, 列号, #表格常量.文本型, 临时变量) .子程序 删同列 .参数 行号, 整数型 .参数 列号, 整数型 .局部变量 临时变量, 文本型 .局部变量 i, 整数型 临时变量 = 数独表格.取数据 (行号, 列号) .计次循环首 (9, i) 数独表格.置数据 (i - 1, 列号, #表格常量.文本型, 子文本替换 (数独表格.取数据 (i - 1, 列号), 临时变量, , , , 真)) .计次循环尾 () 数独表格.置数据 (行号, 列号, #表格常量.文本型, 临时变量) .子程序 删同九宫 .参数 行号, 整数型 .参数 列号, 整数型 .局部变量 i, 整数型 .局部变量 j, 整数型 .局部变量 临时变量, 文本型 .局部变量 九宫代码, 整数型 临时变量 = 数独表格.取数据 (行号, 列号) 九宫代码 = (行号 \ 3) × 10 + 列号 \ 3 .计次循环首 (9, i) .计次循环首 (9, j) .如果真 (((i - 1) \ 3) × 10 + (j - 1) \ 3 = 九宫代码) 数独表格.置数据 (i - 1, j - 1, #表格常量.文本型, 子文本替换 (数独表格.取数据 (i - 1, j - 1), 临时变量, , , , 真)) .如果真结束 .计次循环尾 () .计次循环尾 () 数独表格.置数据 (行号, 列号, #表格常量.文本型, 临时变量) .子程序 _按钮2_被单击, , , 存储数独 .局部变量 i, 整数型 .局部变量 j, 整数型 .局部变量 数独数据, 文本型 数独数据 = “” .计次循环首 (9, i) .计次循环首 (9, j) .如果 (数独表格.取数据 (i - 1, j - 1) = “”) 数独数据 = 数独数据 + “0” .否则 数独数据 = 数独数据 + 数独表格.取数据 (i - 1, j - 1) .如果结束 .计次循环尾 () .计次循环尾 () _按钮1_被单击 () .如果真 (无解 = 假) 打开 (“数独题库.edb”, , , , , , ) .如果真 (查找 (读 (“原题”) = 数独数据) = 假) 加记录 (数独数据) .如果真结束 关闭 () .如果真结束 .子程序 _按钮3_被单击, , , 读取数独 .局部变量 数独数据, 文本型 .局部变量 i, 整数型 打开 (“数独题库.edb”, , , , , , ) 置随机数种子 () 跳到 (取随机数 (1, 取记录数 ())) 数独数据 = 读 (1) 关闭 () .计次循环首 (81, i) .如果 (取文本中间 (数独数据, i, 1) ≠ “0”) 数独表格.置数据 ((i - 1) \ 9, (i - 1) % 9, #表格常量.文本型, 取文本中间 (数独数据, i, 1)) .否则 数独表格.置数据 ((i - 1) \ 9, (i - 1) % 9, #表格常量.文本型, “”) .如果结束 .计次循环尾 () .子程序 __启动窗口_创建完毕
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注