Google Chromeでドラゴンボットを作成する

こんにちは、さっきのことではありませんが、Google Chromeブラウザのミニゲームで記録を更新したいと思いました。 誰も知らない場合、インターネットアクセスがない場合、上記のブラウザーを使用すると、ミニゲームが表示され、スペースバーを押すだけで起動します。携帯電話の場合は画面をタップします。

画像

それの作成を始めましょう。 ボットの原理は、サイクル内のキャラクターから特定の距離にあるピクセルの色を解析し、ピクセルの色がサボテンの色と等しいかどうかを確認し、それ以外の場合は何もしないことです。

画像

正しいピクセルを見つけることから始めましょう。 私の場合、このピクセルは座標「775x250」にあります。 必要なピクセル1を、道路上で最も高い結節よりも高く、試行錯誤によって推測されたキャラクターから離れた場所で撮影します。 また、画面解像度が1920x1080 21.5であることにも注意する必要があります。また、何か他のものがある場合は、おそらくうまく動作しません。
VSでコンソールアプリケーションを作成しましょう。

最初に、ピクセル座標の変数を宣言します。

public static int x = 775; public static int y = 250; 

次に、DLLを接続して動作させます。

  [DllImport("user32.dll")] public static extern IntPtr GetDC(IntPtr hwnd); [DllImport("user32.dll")] public static extern int ReleaseDC(IntPtr hwnd, IntPtr hDC); [DllImport("gdi32.dll")] public static extern uint GetPixel(IntPtr hDC, int x, int y); 

さらに簡単です。ハンドラー自体のコードを追加します

 IntPtr hDC = GetDC(IntPtr.Zero); while (true) { uint pixel = GetPixel(hDC, x, y); if (pixel == 5460819) { SendKeys.SendWait("{UP}"); } } 

コードは無限ループになります。

 if (pixel == 5460819) 

この行は、ピクセルの色がDecimalエンコーディングのサボテンの色と等しい場合、上矢印が押されることを意味します。

 SendKeys.SendWait("{UP}"); 

また、2つのリンクを接続する必要があります。

 using System.Diagnostics; using System.Windows.Forms; 

現時点では、ドラゴンは500メートルのゲームメーターを簡単に克服し、鳥と夜の形の予期せぬ事態が彼を待っています。 これらの問題を解決するために、次の記事を書きます。 頑張って

完全なコード
 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Diagnostics; using System.Windows.Forms; namespace DragonChrome { class Program { #region VAR public static int x = 775; public static int y = 250; #endregion #region DLL [DllImport("user32.dll")] public static extern IntPtr GetDC(IntPtr hwnd); [DllImport("user32.dll")] public static extern int ReleaseDC(IntPtr hwnd, IntPtr hDC); [DllImport("gdi32.dll")] public static extern uint GetPixel(IntPtr hDC, int x, int y); #endregion static void Main(string[] args) { IntPtr hDC = GetDC(IntPtr.Zero); while (true) { uint pixel = GetPixel(hDC, Convert.ToInt32(x), y); if (pixel == 5460819) { SendKeys.SendWait("{UP}"); } } } } } 

Source: https://habr.com/ru/post/J330672/


All Articles