幾種線性遞增的方法

找到幾種線性遞增找怪的方法,不過(guò)效率特低,沒有選用。不過(guò)感覺挺好玩的。

腳本

//從附件釋放大漠插件并注冊(cè)
//PutAttachment "c:\test_game","*.*"
//PutAttachment ".\Plugin", "RegDll.dll"
//call Plugin.Regdll.reg("c:\test_game\dm.dll")

//設(shè)置大漠路徑以及字庫(kù)名
Set dm = createobject("dm.dmsoft")
dm.SetPath ("d:")
//dm_ret = dm.SetDict(0,"lanhuo.txt")
//字庫(kù)

//綁定當(dāng)前鼠標(biāo)位置程序?yàn)榍芭_(tái)操作模式
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)

call 橢圓()
call 圓形()
call 方形()

Sub 橢圓()
    Dim x0, n, y0, x, color0, color1
    x0 = 800 : n = 1 : y0 = 600 : x = 800
    //變量初始化
    l = 10
    //設(shè)置2點(diǎn)間距離
    While x < 1024
        //限定橫坐標(biāo)范圍不超過(guò)1024
        x = x0 + 4 * (cos(n) + n * sin(n))
        y = y0 + 3 * (sin(n) - n * cos(n))
        color0 = GetPixelColor(x, y)
        dm.moveTo x, y
        dm.leftclick
        color1 = GetPixelColor(x, y)
        If color1 <> color0 Then 
            dm.LeftClick
            Delay 1000
        End If
        Delay 10
        n = n + 0.2
        //漸開線參數(shù)增量,其中0.2代表點(diǎn)間距,數(shù)值越小,漸開線散開點(diǎn)間距越小
        r = Sqr((x - x0) ^ 2 + (y - y0) ^ 2)
        //計(jì)算當(dāng)前點(diǎn)(x,y)到原點(diǎn)(x0,y0)的距離
        n = n + l / r
        //漸開線參數(shù)增量,其中l(wèi)/r:點(diǎn)距除以半徑,取得2點(diǎn)間相對(duì)圓心的角度
        //能有效控制掃描點(diǎn)的密度,2點(diǎn)間的距離就比較平均
    Wend
End Sub

Sub 圓形()
    //設(shè)置圓心坐標(biāo)
    x0=800:y0=600
    //設(shè)置遞增半徑
    rr=20
    //設(shè)置點(diǎn)間距
    l=20
    //初始化角度
    n=0
    //設(shè)置第一圈半徑
    r=30
    //畫圓圈數(shù)
    For 10
        While n<3.1415926*2
            //畫圓公式
            x=x0+r*cos(n)
            y=y0-r*sin(n)
            dm.MoveTo x,y
            dm.LeftClick
            Delay 10
            //l/r:點(diǎn)距除以半徑,取得2點(diǎn)間相對(duì)圓心的角度
            //能有效控制掃描點(diǎn)的密度,2點(diǎn)間的距離就比較平均
            n=n+l/r
        Wend
        //畫完一圈后重置角度
        n=0
        //畫完一圈后半徑遞增rr
        r=r+rr
    Next
End Sub

Sub 方形()
    //設(shè)置中心點(diǎn)
    x=400:y=300
    //設(shè)置2點(diǎn)間距離
    v=10
    i=1
    //循環(huán)20次,即畫20圈
    For 20
        j=0:k=v
        For 2
            For i
                x=x+j:y=y+k
                dm.MoveTo x,y
                dm.LeftClick
                Delay 10
            Next
            j=v:k=0
        Next
        i=i+1:v=v*(-1)
    Next
End Sub
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 小池塘清露踏漣漪 一圈一圈泛起 那眷戀依舊被微風(fēng)凋零 翻閱相濡以沫的夢(mèng) 長(zhǎng)不過(guò)天地間 每一篇 如青澀般浮現(xiàn) 落雨聲...
    Aobooooo閱讀 410評(píng)論 0 0
  • 深山老林, 荒郊野外, 你孤獨(dú)地尋夢(mèng)。 南下川滇, 北上陜甘, 你勇敢在路上。 居無(wú)定所, 流離顛沛, 你無(wú)畏。 ...
    湍河故事閱讀 296評(píng)論 1 2
  • 門當(dāng)戶對(duì)重要嗎?當(dāng)然重要啊 end 作者:煙波人長(zhǎng)安 01. 門當(dāng)戶對(duì)存在的意義,不是為了證明愛情的力量,而是為兩...
    陳霓裳閱讀 637評(píng)論 0 24