国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android版微信跳一跳小游戲利用技術手段達到高分的操作方法

2019-10-22 18:17:53
字體:
來源:轉載
供稿:網友

本文主要來講個個好玩的東西,近來微信剛出的跳一跳微信小程序的游戲很火,看到很多人都達到了二三百分就各種刷朋友圈了。

android,微信跳一跳,微信小游戲

甩手一個表情

最終我們達到的分數卻是這樣的:

android,微信跳一跳,微信小游戲

羨慕吧

一定會有人拍手叫好,“黃金右手”!說真的,我已經不用右手好多年,而且我玩這個游戲壓根就沒用手,而是意念!哈哈,別噴我,開個玩笑而已,肯定是利用技術手段啦,什么技術?python嘍~哈哈,不過不是我寫的,我自己是做Android開發的,我對于python從來沒有接觸,只是恰好在蛋哥公眾號看到關于這個游戲的文章,覺得有意思,就花了點時間試著搞了一下,沒想到還跑成功了,收獲也挺多的:smile:。本文針對mac系統+Android全面屏手機,如想了解其他系統或者手機的教程,可以到項目主頁或者issue中探索一下。好了,下面給大家看看它的“廬山真面目”。

關于游戲腳本,作者已經開源在了github,地址在 https://github.com/wangshub/wechat_jump_game ,有興趣的可以先去看看。

一般的,手機型號比較老(像Android4.3以下的),或者比較新(像vivox20,小米mix2等等剛出的全面屏手機),再或者比較稀有的(像TCL,聯想,諾基亞等等),順利的跑起腳本還是挺難的,多少都會有些問題,由于腳本是作者幾個小時就寫好的,已經很厲害了,適配的這些問題不可能全部都面面具到,畢竟Android機型千千萬呀!希望大家多多體諒,作者精力也是有限,不可能及時回答每一個人的問題,大家畢竟也是搞技術的,有些問題應該都有能力解決的,例如issue,度娘等等。這里我簡單說明以下自己用mac和vivox20如何跑起來的。

首先,我們到作者的源碼地址看看原理和Android的使用步驟,如下:

將手機點擊到《跳一跳》小程序界面;

用 ADB 工具獲取當前手機截圖,并用 ADB 將截圖 pull 上來

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

計算按壓時間

手動版:用 Matplotlib 顯示截圖,用鼠標點擊起始點和目標位置,計算像素距離;

自動版:靠棋子的顏色來識別棋子,靠底色和方塊的色差來識別棋盤;

用 ADB 工具點擊屏幕蓄力一跳;

adb shell input swipe x y x y time(ms)

原來是利用adb來計算和模擬位置的,我們暫時不需要關心這個,再來看看Android手機使用步驟:

  • 安卓手機打開 USB 調試,設置》開發者選項》USB 調試
  • 電腦與手機 USB 線連接,確保執行adb devices可以找到設備 ID
  • 界面轉至微信跳一跳游戲,點擊開始游戲
  • 運行python wechat_jump_auto.py,如果手機界面顯示 USB 授權,請點擊確認
  • 請按照你的手機分辨率從./config/文件夾找到相應的配置,拷貝到 *.py 同級目錄./config.json(如果屏幕分辨率能成功探測,會直接調用 config 目錄的配置,不需要復制)

OK,我就按照步驟一步一步來:

1.打開手機開發者選項和usb調試,這一步我想不需要多說了,大家應該都知道怎么做;

2.需要確保adb devices可以找到設備。

搞移動端開發的應該都知道adb吧,不過可能有些人沒有接觸過,這里就簡單說明一下如何執行adb命令。首先需要下載adb工具,一般Android studio的sdk中自帶了,我們只需要配置一下環境變量就可以了,想知道如何配置,可以遵循如下步驟:

- 打開mac的terminal終端,輸入 cd ~/ 【進入當前用戶的home目錄】- 輸入 touch .bash_profile 【如果沒有.bash_profile這個文件,則創建一個這個文件】- 輸入 open .bash_profile 【打開我們創建的這個文件,此時應該彈出一個文本編輯框,如果是第一次配置環境,那么文本編輯框為空白】- 在打開的文本編輯器中寫入如下代碼: export ANDROID_HOME=/usr/local/opt/android-sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools- 注意的ANDROID_HOME后面應該根據自己的sdk路徑來填寫,其余可以直接復制。至于sdk路徑,可以打開Android Studio,在preference(Windows的setting)中搜索sdk來查看。在終端中輸入 source .bash_profile 【使我們的改動生效】- 輸入 adb 【驗證是否完成配置,如果不顯示 adb: command not found,說明配置完成 】

如果沒有用過Android studio,那么可以去百度一下如何安裝,我相信這對于大家來說不是一件困難的事,安裝完成后只需要按照上面說的配置一下環境變量就可以了。接下來我們將手機連接到電腦,并開啟第一步中的設置選項后,在電腦終端輸入:

adb devices

不出意外的話,終端會出現類似如下內容:

Last login: Mon Jan 1 20:20:11 on ttys000MoosdeMacBook-Pro:~ moos$ adb devicesList of devices attacheda619aaxx device

這樣就代表我們adb設備連接成功了。

打開我們的微信中“跳一跳”游戲小程序,點擊開始游戲,手機出現游戲初始界面;
要求我們運行腳本項目中的python文件,這就需要我們安裝python了,不用擔心,一般mac系統自帶了python,我們終端

輸入如下命令:

python

如果出現如下內容,則說明我們已經安裝過了:

MoosdeMacBook-Pro:~ moos$ pythonPython 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwinType "help", "copyright", "credits" or "license" for more information.>>>

 

下面我們就需要運行wechat_jump_auto.py這個腳本文件了,這個是自動玩游戲,你也可以選擇手動玩,運行wechat_jump_py3.py即可,如何運行?很簡單,只需要把github上面的項目下載下來,并進入到該目錄下,執行如下命令即可(以自動版為例):

python wechat_jump_auto.py

這樣,我們就可以跑起來這個腳本了,但是你可能會遇到這個問題:

Traceback (most recent call last): File "wechat_jump_auto.py", line 8, in <module> from PIL import Image, ImageDrawImportError: No module named PILMoosdeMacBook-Pro:wechat_jump_game-master moos$

只需要安裝pillow,執行如下命令即可:

sudo pip install Pillow

記得加上sudo,需要獲取系統權限。

這樣,應該基本可以跑起來腳本了。但是,vivox20手機運行了腳本之后,一直沒有自動游戲,后來發現,可能是不同手機分辨率和尺寸差異,導致腳本沒有是識別到對應的模擬按壓的坐標位置,可以修改一下對應的按壓參數為320,1210,720,910,對應的修改位置是wechat_jump_auto.py中的如下參數:

swipe['x1'], swipe['y1'], swipe['x2'], swipe['y2'] = 320, 410, 320, 410

該修改意見已經被作者合并到主分支了,打開該文件就可以看到了。再跑一下試試,發現還是不行,程序在運行,位置坐標也在變化,但游戲沒有進行,那可能就是手機的問題了,嘗試開啟開發者設置中的usb安全驗證設置,我再跑,嘿,可以了:

android,微信跳一跳,微信小游戲

效果圖

請忽略這渣圖,vysor還沒有很好的適配vivox20,并不是gif的問題:cry:,再看看終端的數據:

('scan_start_y: ', 720)(1514815959, 0, 0, 0, 0)adb shell input swipe 320 1210 720 910 200('scan_start_y: ', 670)(1514815962, 0, 0, 0, 0)adb shell input swipe 320 1210 720 910 200('scan_start_y: ', 670)(1514815966, 0, 0, 0, 0)adb shell input swipe 320 1210 720 910 200('scan_start_y: ', 820)(1514815971, 338, 1224, 788, 968)adb shell input swipe 320 1210 720 910 710('scan_start_y: ', 920)(1514815976, 697, 1203, 400, 1008)adb shell input swipe 320 1210 720 910 487('scan_start_y: ', 820)(1514815979, 320, 1275, 839, 940)adb shell input swipe 320 1210 720 910 847('scan_start_y: ', 870)(1514815984, 392, 1194, 718, 1009)adb shell input swipe 320 1210 720 910 514('scan_start_y: ', 870)(1514815987, 660, 1167, 450, 1052)adb shell input swipe 320 1210 720 910 328('scan_start_y: ', 770)...

這樣就沒毛病了,同時,我還修改了2160x1080的配置參數,提高了跳躍的準確度,達到幾千分不是問題,并且已經被作者同意了合并了,無需再做額外修改了。

在借用該腳本作者的一句話:

事實證明,機器人比人更會玩兒游戲。

總結

以上所述是小編給大家介紹的Android版微信跳一跳小游戲利用技術手段達到高分的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌江| 镇雄县| 井冈山市| 安顺市| 凤阳县| 汤阴县| 建阳市| 上犹县| 长宁区| 潢川县| 吉木萨尔县| 上思县| 京山县| 盐山县| 淮阳县| 云林县| 河西区| 辉南县| 天镇县| 万源市| 阿合奇县| 乐东| 姚安县| 崇州市| 进贤县| 乐山市| 无极县| 芦溪县| 赤壁市| 玉溪市| 大丰市| 肇东市| 县级市| 石景山区| 固原市| 哈尔滨市| 巢湖市| 崇州市| 绩溪县| 巴彦淖尔市| 韶山市|