今天玩了一下QQ的開心農場,我有一堆朋友在玩。每次去偷別人的東西時,都要一個一個地點選,看看是否有可摘的東西。然後還要一個個地點摘取,這樣才算偷到,感覺好像有點太麻煩了。 有時候朋友的東西可摘了,但是我沒時間去看(總不能每XX分鐘查一次,每次查全部的朋友的吧。。@@,那樣會累死。。)
然後我就想,如果有一軟體,可以自動去自己的好友的地裡偷東西。每隔十分鐘查一次,如果好友的地裡有東西可以摘,就把它偷回來。 這樣就太爽了。來錢,升級,太方便了。。 ^_^.這類軟體,我們稱之為外掛。
下面分析一下。。
開啟QQ開心農場時,會去這個地址http://happyfarm.qzone.qq.com/api.php?mod=user&act=run請求自己的農場的資料資訊,就是你的農場長什麼樣的,就是靠這些資料了。請求時會post兩個資料:
然後就會返回你的農場的資訊了,資料是json格式,我的是如下:
然後我的農場是長這樣:
然後就做操作時,比如說買種子,種下,澆水,除草等,都會以POST方式發出相關請求,然後返回json的資料。
比如我買一粒玉米種子,他會發出以下URL請求: http://happyfarm.qzone.qq.com/api.php?mod=repertory&act=buySeed
POST的資料如下:
然後返回的結果如下:
{"cId":3,"code":1,"direction":"","cName":"\u80e1\u841d\u535c","num":1,"money":-163}
變成介面大概是這樣:
所以,自動管理自己農場的外掛軟體大概是這樣弄:先登入QQ,然後去抓取自己的農場的狀態資訊,然後分析這些資訊,然後再決定要做什麼操作,比如說地幹了會自動澆水,作物成熟了會自動摘,自動賣出倉庫裡的果實等。。
下面分析一下定時的自動去朋友的農場偷東西的外掛的實現方式。
只要在QQ開心農場中點選一朋友,就可以得到朋友的農場的資訊,請求的網址一般是:
http://happyfarm.qzone.qq.com/api.php?mod=user&act=run&flag=1&ownerId=406951363
然後會返回:
然後就分析這些資料,就知道朋友的農場裡的狀態,比如有沒有東西成熟可摘了,是不是有地幹了要澆水等。
比如,經程式分析資料後,發現朋友的農場裡有可摘的東西,我要摘一朋友的東西,會向http://happyfarm.qzone.qq.com/api.php?mod=farmlandstatus&act=scrounge這個網址發出的請求。POST的資料如下:
然後會重新返回朋友的農場的狀態。
然後又分析這些資料,直到沒有東西可摘,就去分析下一個朋友的農場。