新手Python實現微信跳一跳自動運行,再忍不住了

2021-02-15 python語言

最近我相信很多人都在玩微信的跳一跳小遊戲,前面幾天,很多人在朋友圈曬「跳一跳」人工智慧開掛教程:如何讓電腦自己玩微信跳一跳。

很多朋友表示不太懂這是什麼。

首先,這不是一個「破解插件」安裝教程,而是一個「破解軟體」製作教程,要靠自己用代碼一點點寫出來,你需要有一定的編程基礎,這裡用的是 Python 語言,所以一定的 Python 語法基礎是必備的。

其次,你需要一部Android 手機,iPhone 手機是無法實現的。

對於掌握了基本 Python 語法但有些迷茫不知道該怎麼用的同學,這個小項目會很適合你,能夠幫你找回對 Python 的熱愛!

整個教程的框架是這樣子:

這裡先簡單講下解決問題的思路。因為整個遊戲的背景是純色的,分數和退出的位置是固定的,只有到了小人兒和起跳位置才出現了顏色的分隔,那麼代碼只需要判斷檢測到哪一行的顏色不一樣,那就說明 get 到了目標位置。

簡單來說,只要找到顏色出現區隔的地方,就可以得到了跳躍平面的頂點式,但是如何確定可以安全跳躍的目標點呢?

通過觀察發現,遊戲中需要跳躍的平面不是長方形就是圓形或者菱形,形狀都是對稱的。所以一旦找到頂點,不需要更改 x 軸,只需要順著頂點往下面探索即可。

當然這裡有一個難點就是跳躍點的上頂點和下頂點的背景顏色看似一樣但不完全一樣,略微有些漸變,所以在工程實現的時候需要注意這一點。

總結下,確定目標位置的整個思路就是先找到跳躍平面的頂點,再找到終點,把這兩個點連成一條線,然後取1/2或者1/3的地方,就是安全的落腳目標點。

但僅僅知道目標位置的點是不夠的,我們還需要知道小人兒所在的地方。確定這個是比較難的。因為它的頭部會落在純色背景色上面,就像上圖所示,但是腳部卻會出現在跳躍平面上的任意一點,而跳躍平面的顏色又總是在變化。

不過還好,小人兒本身的顏色是不會變的。我們只需要取出類似上圖小人一個點的顏色,然後遍歷整個圖像上每一個點,找出哪個點的顏色值和之前所取的顏色值最相近,那個點就是小人兒所在位置。

到目前為止,我們已經確定了起跳點和落腳點,接下來要做的就是計算兩點之間的距離。

這裡只需要用到初中幾何知識:勾股定理。通過兩點的坐標,得出直角三角形底邊和高,然後算出斜邊的長度,就是兩點間的距離。

最後,我們根據距離計算出需要多少秒跳過去,然後模擬出點擊,就可以實現整個自動跳的過程。

以上就是跳一跳實現自動跳的基本原理和思路。具體要怎麼通過代碼實現、中間需要注意的小細節以及如果出現錯誤應該如何去處理。

以上大概的教程已經分析出整體的思路,有想法的朋友可以試著做一下。

在前面的文章中,我給大家分享了Python的類和正則式的表達,後面4期文章,我給大家講下Python裡的異常處理。

要想寫出穩定健壯的程序,必須要學會異常處理來保護程序,儘量讓程序不要crash,Python的異常處理到底長啥樣呢,有哪些是初學者特別容易犯的錯呢,不要急,我都給你總結好了~~

要點:

異常實例:

1基本的語法介紹

Python中有一套異常處理機制,來幫助我們進行錯誤處理,語法也比較簡單:

1)try-except語句:

try:

do something

except Exception, e:

handle error

else:

pass

try 語句是用來捕獲異常

except語句是用來處理不同的異常,Exception是異常的種類,分很多種,不清楚的可以看看上一篇裡面例舉的9種.

e表示異常的信息

else 表示若沒有發生異常,當try執行完畢之後,就會執行else

2)try-except-finally語句:

try:

do something

except Exception:

handle error

finally:

do finally

若try語句是用來捕獲異常,若沒有發生錯誤,執行try代碼之後,直接執行finally

若try語句捕獲到異常,首先執行except部分處理錯誤,然後才是執行finally

其實finally語句是表示無論是否檢測到異常,都會執行finally代碼,因此一般我們都會把一些清理的工作,比如關閉文件或者釋放資源,放在finally裡面.

2猜數字的遊戲#處理單個異常

先看一下最簡單的猜數字的遊戲,隨機取1-10,然後讓你猜:

>>

Enter 1~10:5

guess Bigger: 5

Enter 1~10:3

guess Bigger: 3

Enter 1~10:2

guess Bigger: 2

Enter 1~10:1

Great,You guess correct.Game Over

這個是沒有異常保護的,若正常輸入沒有問題,但是若你惡意輸入aa,或者是非數字,那就會有問題了:

Enter 1~10:aa

ValueError: invalid literal for int() with base 10: 'aa'

所以我們要加入異常處理.

3.文件讀取,處理多個異常

我們在處理文件讀取的時候,可能會遇到多個異常,我們分步來解釋

Step1:假如我們當前目錄下沒有123.txt文件,然後執行下面的代碼

Step2:我們在當前目錄下裡面新建一個123.txt文件,並且把裡面的寫一個100

|----123.txt---

100

再運行我們的代碼,這下沒有問題了

Step3:我們把123.txt裡面的100改成字符串'aa',會出現什麼情況

|----123.txt---

aa

再運行step2的代碼,就會報錯這是一個ValueError,但是我們的代碼只捕捉了IOError,沒有捕捉ValueError,所以沒有處理我們except部分,我們繼續改代碼

Step4:加入多個異常處理,加入處理ValueError

這樣就捕捉到了ValueError,Python在異常處理裡面是可以捕捉多個異常,也就是說我們若發生了IOError,就執行IOError裡面的異常處理,若發生了ValueError,就執行ValueError裡面的異常,哎呦不錯哦.

也許有同學會問,太麻煩了,有的時候我們也不知道異常的類型,能不能捕獲所有的異常,有的你只要 except Exception 就可以了.

最後還是要推薦下小編的Python學習群:399288541,不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2017最新的Python和0基礎入門教程,歡迎初學和進階中的小夥伴。

每天晚上20:00我都會開直播給大家分享Python知識和路線方法,群裡會不定期更新最新的教程和學習方法(進群送2017Python學習教程),大家都是學習Python的,或是轉行,或是大學生,還有工作中想提升自己能力的Python黨,如果你是正在學習Python的小夥伴可以加入學習。最後祝所有程式設計師都能夠走上人生巔峰,讓代碼將夢想照進現實,非常適合新手學習,有不懂的問題可以隨時問我,工作不忙的時候希望可以給大家解惑。

相關焦點

  • python微信跳一跳 小白 教程
    最近微信更新6.6.1後,推出微信小遊戲,跳一跳有當年Flappy Bird的感覺。
  • Python教程——製作「微信跳一跳」輔助工具
    跳一跳是一個最近出的一個比較熱然後估計馬上就要涼了的微信小遊戲,一出來就有各路大神直接實現了各種掛。        和主流版本一樣,利用adb截取遊戲圖片,然後利用matplotlib和numpy畫出一張一樣的遊戲截圖,然後用滑鼠點一下當前棋子的位置獲取當前棋子的坐標,接著再點一下下一個要跳的平臺獲取平臺的坐標,然後計算出之間的距離,用adb模擬按壓即可。
  • 微信跳一跳遊戲輔助工具詳細的圖文操作教程-不用外掛照樣自動刷分
    之前微信只是一個簡單的聊天交友工具,後來有了微信支付、微信朋友圈、微信搜一搜、微商、充值、共享單車等等,總之已經和QQ一樣越來越臃腫了。話又說回來,微信推出跳一跳這麼一個小遊戲不僅僅是為了讓大家玩個遊戲,而是要推廣微信的小程序。大家都知道騰訊今年一直都在主推小程序,而小程序中「野心」實際是非常大。
  • 微信小程序「跳一跳」3500的高分是怎麼來的?
    自從微信更新到了6.1.1版本,一款名為「跳一跳」的小程序風靡朋友圈。
  • 我用Python玩小遊戲「跳一跳」,瞬間稱霸了朋友圈!
    以上是針對普通用戶,但對咱們程序猿來說用這套太 Low 了,接下來要說的是如何從技術層面去實現高分:在 Github 上面已經有人用 Python 來玩跳一跳這個遊戲了,想多少分就有多少分。界面轉至微信跳一跳遊戲,點擊開始遊戲。運行 python wechat_junp_auto.py,如果手機界面顯示 USB 授權,請點擊確認。很有趣!簡單點說就是:用電腦幫你玩微信跳一跳,全自動,不用手動。效果:
  • "跳一跳"微信小程序,高分攻略在這裡!
    近期,微信最新版本 6.6.1 的更新開始,微信小程序遊戲「跳一跳」似乎在一夜之間進入了所有人的視野,甚至比五六年前的飛機大戰遊戲都火爆
  • 微信小遊戲「跳一跳」外掛揭秘:如何輕鬆得高分?
    自從17年12月28日微信上線了「跳一跳」小程序遊戲後我的朋友圈就沒有停止過
  • 微信跳一跳高分教學
    下面開始教程本教程的教學對象是不懂python的小夥伴的,如果學過python,請直接移步到教程之源的gayhub,那裡寫的已經很清楚了。準備過程1.python 環境:mac 自帶python 2.x,或者在終端輸入 pythonlovesosoi$ pythonPython 2.7.10 (default, Jul 14 2015, 19:46:27)[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwinType "help"
  • 微信跳一跳小遊戲有毒
    一開始的時候我還以為是真的,心想,微信牛逼啊,這也可以,微信應該是將發了這條朋友圈的人加入隊列來處理聖誕帽,看到越來越多人發,但是有些人並沒有頭像加聖誕帽,才意識到這些頭像都是自己 p 的,還有人在朋友賣p頭像加聖誕帽,服了,老鐵。
  • 「跳一跳」輔助高分攻略
    前段時間微信更新了最新版本 (6.6.1版本),沉寂了一年的微信小程序開始迎接了它的春天,其中微信官方開發的「跳一跳」就開始肆虐了我的微信社交平臺
  • 「IT」人應如何面對微信『跳一跳』高分挑戰
    在微信「跳一跳」這個遊戲中,除了遊戲常見的好友排行榜,它還新增了超越提示——當你越過一個跳躍臺時,你會看到你正在超過某個好友。在這些超越的背後,其實玩家本身的社交地位也在上升,這與「拼點讚數多少」實際上如出一轍。而自我酬賞則是另一種內部心理訴求,他追求的是對事物的掌控感和滿足感。
  • 微信跳一跳分數怎麼作弊?黑松鼠跳一跳輔助外掛使用方法說明
    微信最近出現了一款叫跳一跳的小遊戲,非常好玩的哦,只不過想要拿到高分還是很有難度的,黑松鼠跳一跳可以讓你輕鬆拿到高分,那麼要怎麼使用這個黑松鼠跳一跳呢,和小編一起來看看吧~  黑松鼠跳一跳怎麼用 使用方法介紹  1、首先用戶需要打開黑松鼠跳一跳輔助,設置好遊戲參數,微調為-35,如果跳不準的話,可在-100到100之間調節;  2、
  • 跳一跳AI(wai gua)的實現原理詳細介紹
    V6.6.1新版本,新增了一系列小程序遊戲,主推遊戲「跳一跳」的每周更新排行榜也激也了一些玩家的刷分熱情,現在很多大牛在github上發布了程序代玩的各種語言的實現原始碼,那麼我們就來講講代碼的實現原理。
  • 跳一跳怎麼自動刷分 跳一跳安卓/ios刷分作弊器下載安裝教程
    微信跳一跳怎麼自動刷分微信跳一跳怎麼自動跳躍?首先小編要說的就是現在微信正在大力地打擊外掛,一旦被官方發現了開掛之後,不僅會被清空分數,要是情節嚴重的,甚至在以後騰訊小遊戲中,都無法取得成績。
  • 「跳一跳」得高分?技術流程序猿玩轉遊戲,讓你大開眼界
    通過 Python 手段在 Github 上面已經有人用 Python 來玩跳一跳這個遊戲了,想多少分就有多少分。界面轉至微信跳一跳遊戲,點擊開始遊戲。運行 python wechat_junp_auto.py,如果手機界面顯示 USB 授權,請點擊確認。很有趣!簡單點說就是:用電腦幫你玩微信跳一跳,全自動,不用手動。這裡梳理一份稍微完整一點的操作步驟,以 Mac 的為例,Win 的思路是一樣的。
  • 100 行代碼實現『跳一跳』輔助
    分享一下今天下午用python寫的"跳一跳"小遊戲的輔助程序。之前是準備用樹莓派操控一個"機械手指"來代替人的觸摸操作,但該方案還在醞釀中,實現了再分享。接下來要分享的是用"純軟體"的方法來玩"跳一跳"。
  • Python微信跳一跳輔助原理解析
    微信跳一跳2017 年 12 月 28 日下午,微信發布了 6.6.1 版本,加入了「小遊戲」功能,並提供了官方 DEMO「跳一跳」。這是一個 2.5D 插畫風格的益智遊戲,玩家可以通過按壓屏幕時間的長短來控制這個「小人」跳躍的距離。分數越高,那麼在好友排行榜更加靠前。
  • MATLAB實現全自動「跳一跳」
    今天圖圖基於MATLAB製作了微信跳一跳的全自動物理外掛,先看一則視頻(也可點擊「閱讀原文」去圖圖的小破站獲得更佳觀看體驗)
  • 教程 | AI玩微信跳一跳的正確姿勢:跳一跳Auto-Jump算法詳解
    最近,微信小遊戲跳一跳可以說是火遍了全國,從小孩子到大孩子仿佛每一個人都在刷跳一跳,作為無(zhi)所(hui)不(ban)能(zhuan)的
  • 微信小程序跳一跳輔助程序指北
    一、本實驗使用的環境: Win7 64位+華為榮耀9 二、準備: 電腦與手機均安裝豌豆莢,手機調到微信小程序跳一跳首頁界面