为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言数独计算保存源码

三叶资源网 2015-02-12 17:01:15 易语言例程 1481 ℃ 0 评论
.版本 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, #表格常量.文本型, “”)
    .如果结束

.计次循环尾 ()

.子程序 __启动窗口_创建完毕

@资源源码站

文件下载

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
163邮箱注册接口htmlHelpdll返回数组宽带拨号易语言基础教程填表源码TCP调试酷Q智能机器人源码常量支持库手游登录JS分析压缩解压多线程pingiiilab视频解析Ex_Ui登陆界面易语言视频教程易语言版本EXUI例程识别
最新评论