1. 程式人生 > 其它 >用 Python 來刷微信「跳一跳」遊戲的記錄

用 Python 來刷微信「跳一跳」遊戲的記錄

本文程式碼在公眾號 datadw 裡 回覆 跳一跳 即可獲取。

微信小程式的遊戲 —— 跳一跳,可以說是火爆了所有的微信好友圈。甚至比五六年前的飛機大戰遊戲都火爆,這種小遊戲的火爆不僅僅是因為有魔性,有意思,更好玩的是和好友之間的排名比拼。可以說:微信深諳心理學啊!

這個遊戲應該怎麼玩呢?

當手指觸碰到手機螢幕時,長按,它就弓腰蓄力;鬆開,它就開始翻轉跳躍——從這個“盒子”跳到另一個“盒子”。難度還是比較大的。

既像“i”又像一個“人”。

當你的手指觸碰到手機螢幕時,長按,它就弓腰蓄力;鬆開,它就開始翻轉跳躍——從這個“盒子”跳到另一個“盒子”。

玩家要做的事情就是讓小人不要掉下去。

高分祕籍是這樣的:

1. 如果你每次都能挑到各自的正中間的話,可以 + 2 分,如果連著跳到中間會 + 4、+6、+8、+10…… 2. 跳到汙水井蓋上面,停留 2 秒,等到下水道聲音響起直接 + 5 分 3. 跳到魔方上面,停留 2 秒,等到魔方轉正會直接 + 10 分 4. 跳到音樂盒上面,停留 2 秒,等到音樂響起會直接 + 30 分 5. 跳到便利店,停留 2 秒,等到便利店開門會直接 + 15 分

這確實是遊戲攻略,但是你們知道為什麼會這麼設計嗎?停留 2 秒?因為這樣會打亂你跳躍的節奏感,你們有沒有感覺跳到加分塊上的時候,停留之後再跳,特別容易失誤?這都是套路。

在 Github 上面已經有小夥伴用 Python 來玩跳一跳這個遊戲了,想多少分就有多少分,很簡單。

本文程式碼在公眾號 datadw 裡 回覆 跳一跳 即可獲取。

工具介紹

  • Python
  • 手機或模擬器
  • ADB 驅動,可以到這裡下載
  • 相關依賴

如果你是iOS + MacOS,請參考下面的配置:

  • 使用真機除錯 WDA,參考 iOS 真機如何安裝WebDriverAgent · TesterHome
  • 安裝openatx/facebook-wda
  • Python 3

如果你是 Android + MacOS,請參考下面的配置:

  • Python 3
  • 使用brew進行安裝 brew cask install android-platform-tools
  • 安裝完後插入安卓裝置且安卓已開啟usb除錯模式,終端輸入 adb devices
    ,顯示如下表明裝置已連線

安卓手機操作步驟

  • 安卓手機開啟 USB 除錯,設定》開發者選項》USB 除錯
  • 電腦與手機 USB 線連線,確保執行adb devices可以找到裝置 ID
  • 介面轉至微信跳一跳遊戲,點選開始遊戲
  • 執行python wechat_jump_auto.py,如果手機介面顯示 USB 授權,請點選確認
  • 請按照你的手機解析度從./config/資料夾找到相應的配置,拷貝到 *.py 同級目錄./config.json(如果螢幕解析度能成功探測,會直接呼叫 config 目錄的配置,不需要複製)

iOS 手機操作步驟

  1. 執行安裝好的 WebDriverAgentRunner
  2. 將手機點選到《跳一跳》小程式介面
  3. 執行指令碼。有兩種模式可供選擇:手動輔助跳 和 自動連續跳
    • 拷貝./config/iPhone目錄下對應的裝置配置檔案,重新命名並替換到./config.json
    • 命令列執行python3 wechat_jump_auto_iOS.py
    • 會自動計算座標並連續起跳,根據起跳的精準情況更改./config.json 中的press_coefficient引數,直到獲得最佳取值
    • 命令列執行python3 wechat_jump_iOS_py3.py
    • 依次點選彈出的視窗中的起始位置和目標位置,會自動計算距離後起跳
    • 根據起跳的精準情況更改python3 wechat_jump_iOS_py3.py中的time_coefficient引數,直到獲得最佳取值
    • 手動輔助跳
    • 自動連續跳

實驗結果