找到幾種線性遞增找怪的方法,不過(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