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

网站首页 > 易语言相关 > 易语言游戏开发 正文

易语言数独取样源码

三叶资源网 2016-03-13 17:01:36 易语言游戏开发 1262 ℃ 0 评论
.版本 2

.程序集 窗口程序集1
.程序集变量 行数, 整数型
.程序集变量 列数, 整数型
.程序集变量 数据地址, 整数型
.程序集变量 取样数组, 整数型, , "0"
.程序集变量 数据集, 整数型, , "81"
.程序集变量 宫地址, 整数型
.程序集变量 宫组地址, 整数型
.程序集变量 宫行数, 整数型
.程序集变量 宫列数, 整数型
.程序集变量 格地址, 整数型
.程序集变量 宫数组, 整数型, , "81"
.程序集变量 是否重复, 逻辑型
.程序集变量 筛选数组, 整数型, , "0"
.程序集变量 归零次数, 整数型

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

行数 = 1
列数 = 1
宫组地址 = 1
归零次数 = 1

.子程序 _按钮1_被单击
.局部变量 写出数据集, 整数型

行数 = 1
列数 = 1
宫组地址 = 1
归零次数 = 1
.判断循环首 (行数 ≤ 9)
    .判断循环首 (列数 ≤ 9)
        取样数组 ()
        列数 = 列数 + 1
    .判断循环尾 ()
    行数 = 行数 + 1
    列数 = 1
.判断循环尾 ()
编辑框1.内容 = “”
编辑框1.刷新显示 ()
.计次循环首 (取数组成员数 (数据集), 写出数据集)
    编辑框1.加入文本 (到文本 (数据集 [写出数据集]))
.计次循环尾 ()
行数 = 1
列数 = 1
宫组地址 = 1
归零次数 = 1

.子程序 取样数组
.局部变量 地址, 整数型
.局部变量 取样地址, 整数型

清除数组 (取样数组)
数据地址 = 列数 + (行数 - 1) × 9
.如果真 (数据地址 = 1)
    随机取数 ()
    返回 ()
.如果真结束
取样地址 = 1 + (行数 - 1) × 9  ' 行取样↓
.判断循环首 (取样地址 < 数据地址)
    加入成员 (取样数组, 数据集 [取样地址])
    取样地址 = 取样地址 + 1
.判断循环尾 ()  ' 行取样↑
取样地址 = 列数  ' 列取样↓
.判断循环首 (取样地址 < 数据地址)
    加入成员 (取样数组, 数据集 [取样地址])
    取样地址 = 取样地址 + 9
.判断循环尾 ()  ' 列取样↑
.计次循环首 (3, 宫行数)  ' 宫取样↓
    .如果真 (行数 ÷ 3 ≤ 宫行数)
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
.计次循环首 (3, 宫列数)
    .如果真 (列数 ÷ 3 ≤ 宫列数)
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
宫地址 = (宫行数 - 1) × 3 + 宫列数
格地址 = (行数 - (宫行数 - 1) × 3 - 1) × 3 + 列数 - (宫列数 - 1) × 3
宫组地址 = (宫地址 - 1) × 9 + 格地址
取样地址 = (宫地址 - 1) × 9 + 1
.判断循环首 (取样地址 < 宫组地址)
    加入成员 (取样数组, 宫数组 [取样地址])
    取样地址 = 取样地址 + 1
.判断循环尾 ()  ' 宫取样↑
取筛选数组 ()
返回 ()


.子程序 取筛选数组, , , 筛选数组成员为0则判断卡死
.局部变量 比较值, 整数型
.局部变量 样本地址, 整数型
.局部变量 x, 整数型

' 初始化各变量
比较值 = 1
样本地址 = 1
是否重复 = 假
清除数组 (筛选数组)
' 进行循环判断
.判断循环首 (比较值 ≤ 9)
    .如果真 (数据地址 = 1)
        跳出循环 ()
    .如果真结束
    .判断循环首 (样本地址 ≤ 取数组成员数 (取样数组))
        .如果真 (比较值 = 取样数组 [样本地址])
            是否重复 = 真
            跳出循环 ()
        .如果真结束
        样本地址 = 样本地址 + 1
    .判断循环尾 ()
    .如果真 (是否重复 = 假)
        加入成员 (筛选数组, 比较值)
    .如果真结束
    样本地址 = 1
    比较值 = 比较值 + 1
    是否重复 = 假
.判断循环尾 ()
.如果真 (取数组成员数 (筛选数组) = 0)
    .如果真 (数据地址 ≠ 1)
        归零 ()
        返回 ()
    .如果真结束

.如果真结束
随机取数 ()
返回 ()

.子程序 归零
.局部变量 数据集归零下标, 整数型
.局部变量 宫数组归零下标, 整数型
.局部变量 列归零判断次数, 整数型

归零次数 = 归零次数 + 1
列数 = 1
列归零判断次数 = 1
数据集归零下标 = (行数 - 1) × 9 + 列数
.判断循环首 (数据集归零下标 ≤ 数据地址)
    .计次循环首 (3, 列归零判断次数)
        .如果真 (列数 ÷ 3 ≤ 列归零判断次数)
            跳出循环 ()
        .如果真结束

    .计次循环尾 ()
    宫数组归零下标 = 18 × 宫行数 + 6 × 列归零判断次数 + 3 × 行数 + 列数 - 27
    数据集 [数据集归零下标] = 0
    宫数组 [宫数组归零下标] = 0
    列数 = 列数 + 1
    数据集归零下标 = (行数 - 1) × 9 + 列数
.判断循环尾 ()
列数 = 0
.如果真 (归零次数 > 4000)
    _按钮1_被单击 ()
.如果真结束
返回 ()

.子程序 随机取数
.局部变量 现取数, 整数型

置随机数种子 ()
.' 循环判断首 ()
    .如果 (数据地址 = 1)
        现取数 = 取随机数 (1, 9)
    .否则
        现取数 = 筛选数组 [取随机数 (1, 取数组成员数 (筛选数组))]
    .如果结束
    ' 编辑框1.加入文本 (“12fwq”)
.' 循环判断尾 (行重复 = 真 或 列重复 = 真 或 宫重复 = 真)
数据集 [数据地址] = 现取数
宫数组 [宫组地址] = 现取数
返回 ()

@易语言资源论坛

文件下载

Tags:

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

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

欢迎 发表评论:

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

网站分类
随机tag
引流聊呗协议新浪博客SysDateTimePick32kgtemp转MP3捕获网卡取电脑硬件信息DirectX例程cnzz统计关键词采集巨人拉车起名软件API创建窗口略缩图属性框倒计时音速启动PHP服务端皮肤模块源码sql例程找图
最新评论