为编程爱好者分享易语言教程源码的资源网

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

易语言任意画直线源码

三叶资源网 2019-06-01 20:52:55 易语言例程 3684 ℃ 6 评论

一条可以是从任意点开始 去任意点的线条

.版本 2
.支持库 EThread

.程序集 窗口程序集1

.子程序 画直线
.参数 起点横向位置, 整数型
.参数 起点纵向位置, 整数型
.参数 终点横向位置, 整数型
.参数 终点纵向位置, 整数型
.参数 返回坐标, 坐标型, 数组
.参数 递进, 整数型, 可空
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 dx, 整数型
.局部变量 dy, 整数型
.局部变量 e, 小数型
.局部变量 k, 小数型
.局部变量 n, 整数型
.局部变量 临时坐标, 坐标型

清除数组 (返回坐标)

e = -0.5
.如果真 (是否为空 (递进))
    递进 = 1
.如果真结束
.如果真 (起点横向位置 ≤ 终点横向位置 且 起点纵向位置 ≤ 终点纵向位置)
    dx = 终点横向位置 - 起点横向位置
    dy = 终点纵向位置 - 起点纵向位置
    k = dy ÷ dx
    x = 起点横向位置
    y = 起点纵向位置
    .如果 (k > 1)
        k = dx ÷ dy
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)
        .计次循环首 (dy, n)
            y = y + 递进
            e = e + k
            .如果真 (e ≥ 0)
                x = x + 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)
        .计次循环尾 ()
        返回 ()
    .否则
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dx, n)
            x = x + 递进
            e = e + k
            .如果真 (e ≥ 0)
                y = y + 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .如果结束

.如果真结束

.如果真 (起点横向位置 ≥ 终点横向位置 且 起点纵向位置 ≤ 终点纵向位置)
    dx = 起点横向位置 - 终点横向位置
    dy = 终点纵向位置 - 起点纵向位置
    k = dy ÷ dx
    x = 起点横向位置
    y = 起点纵向位置
    .如果 (k > 1)
        k = dx ÷ dy
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dy, n)
            y = y + 递进
            e = e + k
            .如果真 (e ≥ 0)
                x = x - 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .否则
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)
        .计次循环首 (dx, n)
            x = x - 递进
            e = e + k
            .如果真 (e ≥ 0)
                y = y + 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .如果结束

.如果真结束

.如果真 (起点横向位置 ≤ 终点横向位置 且 起点纵向位置 ≥ 终点纵向位置)
    dx = 终点横向位置 - 起点横向位置
    dy = 起点纵向位置 - 终点纵向位置
    k = dy ÷ dx
    x = 起点横向位置
    y = 起点纵向位置
    .如果 (k > 1)
        k = dx ÷ dy
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dy, n)
            y = y - 递进
            e = e + k
            .如果真 (e ≥ 0)
                x = x + 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .否则
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dx, n)
            x = x + 递进
            e = e + k
            .如果真 (e ≥ 0)
                y = y - 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .如果结束

.如果真结束

.如果真 (起点横向位置 ≥ 终点横向位置 且 起点纵向位置 ≥ 终点纵向位置)
    dx = 起点横向位置 - 终点横向位置
    dy = 起点纵向位置 - 终点纵向位置
    k = dy ÷ dx
    x = 起点横向位置
    y = 起点纵向位置
    .如果 (k > 1)
        k = dx ÷ dy
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dy, n)
            y = y - 递进
            e = e + k
            .如果真 (e ≥ 0)
                x = x - 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .否则
        临时坐标.x = x
        临时坐标.y = y
        加入成员 (返回坐标, 临时坐标)

        .计次循环首 (dx, n)
            x = x - 递进
            e = e + k
            .如果真 (e ≥ 0)
                y = y - 递进
                e = e - 递进
            .如果真结束
            临时坐标.x = x
            临时坐标.y = y
            加入成员 (返回坐标, 临时坐标)

        .计次循环尾 ()
        返回 ()
    .如果结束

.如果真结束


.子程序 子程序1
.局部变量 坐标, 坐标型, , "0"
.局部变量 i, 整数型
.局部变量 颜色, 整数型



.判断循环首 (i ≠ -1)
    置随机数种子 (取启动时间 () + 取随机数 (1, 200))
    画板1.清除 (, , , )
    画直线 (取随机数 (1, 300), 取随机数 (1, 200), 取随机数 (1, 300), 取随机数 (1, 200), 坐标)

    .计次循环首 (取数组成员数 (坐标), i)
        画板1.画点 (坐标 [i].x, 坐标 [i].y, #青绿)
        延时 (1)
    .计次循环尾 ()
    延时 (10)
.判断循环尾 ()

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

启动线程 (&子程序1, , )

@manbuzv

文件下载

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

已有6位网友发表了看法:

  • 目的代码

    目的代码  评论于 [2020-03-19 12:45:06]  回复

    易语言让电脑桌面画线条

  • 易语言

    易语言  评论于 [2020-04-17 21:07:38]  回复

    画直线易语言

  • 易语言

    易语言  评论于 [2020-09-11 10:31:43]  回复

    易语言+画直线

  • yiyuyan

    yiyuyan  评论于 [2021-05-19 16:14:37]  回复

    MFCdda画直线源码

欢迎 发表评论:

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

网站分类
随机tag
dll返回数组正则加密解密新浪博客git易语言资源网快手二维码自动审核进群大漠模拟CMOS集成电路go agent配置文字游戏源码HTTP服务端cookie远程端口图文识别多关键词筛选阿里云oss分片上传支持库超文本浏览框支持库
最新评论