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

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

易语言任意画直线源码

三叶资源网 2019-06-01 20:52:55 易语言例程 2877 ℃ 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
图片转PDF助手易语言调用JAVA源码QQPC8.6协议源码找色websocket协议趣头条十天学会易语言BAT批处理音乐工具数据分页类按键精灵安卓版酷Q机器人快递查询工具源码协程模块开心ol前台打怪模块源码post上传文件libMysqlMIDI解析例程
最新评论