當(dāng)java程序員遇到微信跳一跳會擦出什么火花贿肩?(詳細教程)

“喏峦椰,我已經(jīng)盡力了……”

12月28日,微信宣布汰规,小程序增加了新的類目:小游戲汤功,同時上線小游戲「跳一跳」,瞬間跳一跳成了全民游戲溜哮,玩得厲害的撐死不過200多分滔金,如何牢牢占據(jù)排行榜的第一位呢?用Python幫助你茂嗓,Python真的無所不能餐茵。

“跳一跳”這個東西還是今天剛接觸到的,看到了python群中有人再問“微信跳一跳的外掛有人寫了沒”述吸,“早就有了”忿族,“github”,“等著出個更詳細的教程教程沒看懂蝌矛,主要沒有用過adb”道批。

不過沒關(guān)系,你們跳的再好入撒,在毫無心理波動的程序面前都是渣渣隆豹。

剛剛會python的小白想玩怎么辦?

下有詳細的教程衅金,哈哈噪伊,包教會不收任何的費用。

感受一下被支配的恐懼吧:

使用工具

1.python3.6

2.adb

3.安卓手機(版本4.4+)

使用原理

# === 思路 ===

# 核心:每次落穩(wěn)之后截圖氮唯,根據(jù)截圖算出棋子的坐標(biāo)和下一個塊頂面的中點坐標(biāo)鉴吹,

# 根據(jù)兩個點的距離乘以一個時間系數(shù)獲得長按的時間

# 識別棋子:靠棋子的顏色來識別位置,通過截圖發(fā)現(xiàn)最下面一行大概是一條直線惩琉,就從上往下一行一行遍歷豆励,

# 比較顏色(顏色用了一個區(qū)間來比較)找到最下面的那一行的所有點,然后求個中點瞒渠,

# 求好之后再讓 Y 軸坐標(biāo)減小棋子底盤的一半高度從而得到中心點的坐標(biāo)

# 識別棋盤:靠底色和方塊的色差來做良蒸,從分數(shù)之下的位置開始,一行一行掃描伍玖,由于圓形的塊最頂上是一條線嫩痰,

# 方形的上面大概是一個點,所以就用類似識別棋子的做法多識別了幾個點求中點窍箍,

# 這時候得到了塊中點的 X 軸坐標(biāo)串纺,這時候假設(shè)現(xiàn)在棋子在當(dāng)前塊的中心丽旅,

# 根據(jù)一個通過截圖獲取的固定的角度來推出中點的 Y 坐標(biāo)

# 最后:根據(jù)兩點的坐標(biāo)算距離乘以系數(shù)來獲取長按時間(似乎可以直接用 X 軸距離)

ADB

首先碰到的就是什么是adb。Android Debug Bridge

Android操作系統(tǒng)與桌面電腦間溝通的一個命令列工具纺棺。

可以在電腦上通過命令達到操作手機的效果榄笙。

下載

在許多Android用戶多次呼吁之后,Google終于將ADB和Fastboot作為單獨的文件提供給用戶下載祷蝌。以前這些文件只包含在大尺寸的Android SDK或Android Studio當(dāng)中提供給用戶茅撞,現(xiàn)在這種變化意味著它們現(xiàn)在比以往更快,更容易執(zhí)行和側(cè)載巨朦。

這樣就免去了下載一個600M的Android SDK米丘,這也是坑了我。

1.下載之后將其路徑添加到環(huán)境變量中去罪郊。

2.手機打開開發(fā)者蠕蚜,USb調(diào)試,用數(shù)據(jù)線連接到電腦上悔橄,如果手機界面顯示USB授權(quán)靶累,請點擊確認。

3.在cmd輸入

就可以使用了癣疟,本次使用的命令和常用的幾個命令

本次使用到的命令挣柬,先了解這寫就可以應(yīng)對

adb start-server 開啟進程

adb decives 找到設(shè)備

adb shell screencao -p /sdcard/i.png 對手機進行截屏保存到sdcard的目錄下面。

adb pull /sdcard/i.png . 將sdcard目錄下的i.png傳送到當(dāng)前目錄下面

adb pull /adcard/i.png D://

注意這些命令在adb下 而不是在shell下面睛挚。

adb shell screencap -p /sdcard/1.png adb pull /sdcard/1.png .

用adb工具點擊屏幕蓄力一跳邪蛔。

adb shell input swipe x y x y time

遇到的問題

最開始一直沒有檢測到手機。然后用360助手排查問題扎狱。找到開發(fā)者侧到。就是連不上。最可氣的就是硬件的問題吧淤击。后來換了一個數(shù)據(jù)線匠抗。解決

端口被360手機助手占用。

只要在進程中退掉360 手機助手

使用安卓模擬器上面的微信的版本不支持(可能是我忘了更新了吧N厶А)汞贸。暫時還是用到了真機上的微信。找來多年不用的安卓機印机。然后一頓root矢腻。

玩了好大一會 ,一個一個測試命令射赛,當(dāng)玩到

adb shell input swipe x y x y time

這條命令的時候延伸

adb shell input(Android模擬輸入),input可以用來模擬各種輸入設(shè)備的輸入操作多柑。

D:>adb shell inputusage: input ... input text input keyevent input [touchscreen|touchpad|touchnavigation] tap input [touchscreen|touchpad|touchnavigation] swipe [duration(ms)] input trackball press input trackball roll

1. keyevent指的是android對應(yīng)的keycode,比如home鍵的keycode=3楣责,back鍵的keycode=4.

具體請查閱 android keycode詳解http://blog.csdn.net/huiguixian/article/details/8550170

然后使用的話比較簡單竣灌,比如想模擬home按鍵:

adb shell input keyevent 3

請查閱上述文章诫隅,根據(jù)具體keycode編輯即可。

不僅有滑動的操作帐偎,還有其他的鍵的操作。

adb shell input keyevent 3 home鍵返回adb shell input keyevent 4 返回鍵

2. 關(guān)于tap的話蛔屹,他模擬的是touch屏幕的事件削樊,只需給出x、y坐標(biāo)即可兔毒。

此x漫贞、y坐標(biāo)對應(yīng)的是真實的屏幕分辨率,所以要根據(jù)具體手機具體看育叁,比如你想點擊屏幕(x, y) = (250, 250)位置:

adb shell input tap 250 250

3. 關(guān)于swipe同tap是一樣的迅脐,只是他是模擬滑動的事件,給出起點和終點的坐標(biāo)即可豪嗽。例如從屏幕(250, 250), 到屏幕(300, 300)即

adb shell input swipe 250 250 300 300 //滑動 adb shell input swipe 100 100 200 200 300 //從 100 100 經(jīng)歷300毫秒滑動到 200 200 //長按 adb shell input swipe 100 100 100 100 1000 //在 100 100 位置長按 1000毫秒

特別注意下 swipe后面跟的有時間的參數(shù)[duration(ms)]谴蔑,這個與手機的版本的問題有關(guān)。

input命令是用來向設(shè)備發(fā)送模擬操作的命令:

因為版本不同龟梦,input命令也有所不同

以下為Android 4.0的input命令:

usage:input text input keyevent input tap input swipe

明顯兩個版本的input命令是有差異的隐锭,也就是說在版本是4.4以下的情況下。是不能用swipe后面跟時間的计贰。在使用的時候一定要記得查詢清楚所使用的Android版本钦睡!

(我拿到手機后就root了,然后一看版本是4.3的躁倒,拿著4.3版本的手機心中飛過***荞怒,好的一點是還有一個手機,就升級一下版本秧秉,這樣換手機在接著搞褐桌。其他就不會出現(xiàn)什么錯誤了)

小結(jié)

adb在這次所起到的作用是什么?

1.簡單來說截取跳一跳中的圖片(用python分析計算)

2.精確執(zhí)行命令福贞,包括按壓的時間撩嚼,按壓的間隔(python通過調(diào)用cmd能做到)

如果還有什么不懂的可以加群,在這里給大家提供一個java交流學(xué)習(xí)的地方挖帘,java架構(gòu)群:680130298

1)具有1-5工作經(jīng)驗的完丽,面對目前流行的技術(shù)不知從何下手,需要突破技術(shù)瓶頸的可以加群拇舀。

2)在公司待久了逻族,過得很安逸,但跳槽時面試碰壁骄崩。需要在短時間內(nèi)進修聘鳞、跳槽拿高薪的可以加群薄辅。

3)如果沒有工作經(jīng)驗,但基礎(chǔ)非常扎實抠璃,對java工作機制站楚,常用設(shè)計思想,常用java開發(fā)框架掌握熟練的可以加群搏嗡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窿春,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子采盒,更是在濱河造成了極大的恐慌旧乞,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磅氨,死亡現(xiàn)場離奇詭異尺栖,居然都是意外死亡,警方通過查閱死者的電腦和手機烦租,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門延赌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人左权,你說我怎么就攤上這事皮胡。” “怎么了赏迟?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵屡贺,是天一觀的道長。 經(jīng)常有香客問我锌杀,道長甩栈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任糕再,我火速辦了婚禮量没,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘突想。我一直安慰自己殴蹄,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布猾担。 她就那樣靜靜地躺著袭灯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绑嘹。 梳的紋絲不亂的頭發(fā)上稽荧,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音工腋,去河邊找鬼姨丈。 笑死畅卓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蟋恬。 我是一名探鬼主播翁潘,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼歼争!你這毒婦竟也來了唐础?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤矾飞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后呀邢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洒沦,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年价淌,在試婚紗的時候發(fā)現(xiàn)自己被綠了申眼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝉衣,死狀恐怖括尸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情病毡,我是刑警寧澤濒翻,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站啦膜,受9級特大地震影響有送,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜僧家,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一雀摘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧八拱,春花似錦阵赠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至灯萍,卻和暖如春轧铁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旦棉。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工齿风, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留药薯,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓救斑,卻偏偏與公主長得像童本,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脸候,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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