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

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

易语言任意画直线源码

三叶资源网 2019-06-01 20:52:55 易语言例程 2988 ℃ 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
腾讯滑块识别单纯挖矿支付宝勒索病毒气泡聊天框百度语音查大鱼号昵称内存池源码验证码平台二维码登录Ex_DirectUIAPI实现菜单类界面UI源码网页分析工具界面设计HTTP服务端酷Q智能机器人源码网页删除空cookie关键词采集E2EE互联网服务器套件
最新评论