今天研究了一整天的三角函數,雖然年輕時學過,但離開學校那麼多年,早就已經忘光光了。
現在我有點擔心,要是以後我女兒不會寫的作業跑來問我,我應該怎麼辦?
"那個...... 爸爸現在在忙,妳去問媽媽好嗎?"應該是最標準的答案!
為什麼我會莫名其妙地開始重學三角函數呢?
因為我想搞懂一段不知是哪位高手寫的程式碼,它背後的邏輯,這個搜尋方式實在是寫得太艱深了!
function search //尋找目標
//取窗口原點坐標
GetActiveWindowXY(WinX0, WinY0)
x1=1024 //螢幕解析度(預設1024 x 768)
y1=768 //螢幕解析度(預設1024 x 768)
c1=250 //尋怪範圍(請勿修改)
//其他資訊
pi = 4 * Atn(1) //定義圓周率
do //循環1起始點
MouseMove(WinX0+x1/2, WinY0+y1/2) //游標移至螢幕中央
Wait(10)
GetMouseID(InitCursorID) //最初游標樣式
do //循環2起始點
for dist = 0 to c1 step 30 //圓型範圍搜索開始
steps = Int(2 * pi * dist / 30) //以圓周為基準 每30 pixel為一步
dAngle = 2 * pi / (steps + 1) //計算每移動30 pixel後的角度變化
angle = 0 //起始角度
for i = 0 to steps
dx = dist * sin(angle)
dy = -dist * cos(angle)
mx = WinX0 + x1/2 + dx
my = WinY0 + y1/2 + dy
MouseMove(mx, my)
wait(20)
GetMouseID(cursorID)
if cursorID <> InitCursorID then //如果游標樣式改變
monster_found = true //發現目標
exit do //脫離循環2
end if
angle = angle + dAngle
next
next
exit do //脫離循環2
loop //循環2終點
exit do //脫離循環1
loop //循環1終點
end function
基本上,這段程式的功能是讓你的滑鼠以圓型方式,從螢幕的正中央開始,一圈一圈地往外搜尋某個目標。還有一些更複雜的搜尋方式,像是不規則型、橢圓型等等,這就完全看你的數學學得有多精。
到了此時,我才明白國中、高中、大學為什麼要教我們數學!書到用時方恨少吶!
總之,最近我找到一個可以寫腳本讓電腦自己動的程式叫Seraph,就忍不住玩了起來。
雖然我不是電腦專業,在大學也只修過一兩門寫程式的課,但一些簡單的東西還是寫得出來的。
事實上,我記得從前新聞上有報什麼點點點大戰,就是比哪一國的人點滑鼠點得最多。其實那還蠻簡單的,只要一小段程式碼,就可以讓滑鼠自己狂點一整天,比人手快上N倍。
如果你有在玩任何網路遊戲或網頁遊戲,包括facebook上的開心農場,你都可以利用這個腳本程式去幫你自動種菜偷菜之類的。
於是呢,我就找了好幾個網頁遊戲來作實驗(好啦,我的玩法比較怪...),寫出來後真是超有成就感的!
不過我比較想學那種讀取記憶體內存的編碼方式,那才是真正的高竿!
話說,我六月要考分析師欸...
想學的東西太多,時間永遠都不夠吶~
- Apr 03 Sat 2010 06:45
三角函數
close
全站熱搜
留言列表