C#又能出來裝個B了。一步一步微信跳一跳自動外掛


 

PS:語言只是載體。思維邏輯才是王道

  前天看見了個python的腳本。於是裝python。配置環境變量。裝pip。折騰了一上午,最終裝逼失敗

於是進入博客園,頂部有篇文章吸引了我 .NET開發一個微信跳一跳輔助程序。於是download下來測試一把。

  

 

  不過博主的是半自動外掛。需要左鍵點擊小人,右鍵點擊需要跳的點。點了幾十次之后不耐煩了。

  那又怎樣?又不開車?又不會裝逼?食屎啦你!

  手動玩到了2018。。。

  

 

 發現

    原來還可以通過C#連接安卓發送shell命令進行操控。新姿勢!新姿勢!

    通過42樓發現,從圖片中搜索小人。咦?這怎么實現呢?

    百度百度百度。。好吧很少用google。。可能我是菜鳥程序員吧

    喜出望外。

    “圖片像素遍歷

    

 

 實現思路

    一、找到小人坐標

    二、找到要跳的坐標

    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。。。。。沒毛病

  

   如何找到小人坐標?

 

       --  小人顏色固定,取底部rgb掃描像素對比

       --  沒毛病

    代碼:

    

    效果:

    

    完美?完美!!

    弱水三千只取一瓢。我要最底下那個!!

    

    到此,小人底部坐標取到。是不是很簡單粗暴??

 

   如何找到要跳的坐標?

    

      

      -- 取到要跳的頂點和最右邊。取頂點的 x 和右邊點的 y 作為要跳的點

      -- 怎么取頂點?

      -- 從上到下,從左到右,與背景對比,第一個碰到的顏色不一樣的為頂點

      -- 不行 背景是漸變的

      -- 噗。。。  那把r g b 設置相差10 以上為准吧

        if (bpixel.R - pixel.R > 10 || bpixel.R - pixel.R < -10 || bpixel.G - pixel.G > 10 || bpixel.G - pixel.G < -10 || bpixel.B - pixel.B > 10 || bpixel.B - pixel.B < -10)

      -- 第一點是右上角那個 

      -- 像素遍歷從高度*30%的坐標點開始

 

      -- 行是行,有時候與背景色相近識別不到

      -- 把 bpixel 設置成當前像素的 y-1 位置的像素  bpixel = MyBitmap.GetPixel(x, y - 1);

      -- 嗯 上下對比,背景漸變差異不大,第一個差異大的點就是要跳的頂部,完美

      -- 怎么取右邊點呢?

      -- 遍歷到頂部以后像素的時候與頂部顏色對比,顏色一致設置紅色,取 x 最大的為最右邊

        

        

      -- 成功啦  有時候會有bug,多個塊顏色一致的時候,最右邊不是最后要跳的塊

        

 

      --  對比右坐標的時候,如果大於150像素 就放棄。

        

      --  頂部也會有bug,有時候小人頭超過要跳的小方塊,導致計算頂部位置會是小人頭

      --  那就在小人坐標 x 左右30不計入頂部識別

        

      --  哇塞  !好像沒有什么bug了 ,再加上定時器,或者死循環,或者遞歸就可以實現自動跳轉啦。一會兒就兩千多分啦!

        

 

      --   其實取到頂點之后,掃描 y 值相等 顏色一樣的。然后取中間值,會更精准

        

 

      --  艹 ! 剛才想啥去了?

      --  慢慢試嘛 。其實別人還有更好的算法。顏色相似的,點集合取平均坐標值, 沒經歷過,總要經歷笨方法。起碼源於自己的思維

 

    

 

      祝大家新年快樂

       2018  888 !!!

 

沒想到這么多人看。加個群交流下吧? 企鵝群:170501545。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM