VB 2008 Pixel search Problem

cookyman

Grünschnabel
Hallo Community,
ich bin noch ziemlich neu in Sachen VB 2008.

Und bräuchte mal eure Hilfe.

Meine Frau und ich spielen zusammen ein Flash Game und dafür wollte ich ein kleines Programm schreiben, was uns etwas Arbeit abnimmt.

Zu meinen vorhaben:

Das Programm soll paar Pixel suchen und dann mit der Maus dorthin gehen und drauf klicken,
mehr soll es für uns nicht machen.

Wir wollen ja auch noch selber spielen,
daher wollen wir dies nur haben, damit er für uns die ganzen Felder aberntet.


Hier erst mal mein Code:

Code:
    Sub test()
        Dim farbe As Integer = &H3B5100
        'Dim farbe2 As Integer = &HA72800
        'Dim farbe3 As Integer = &H6D3700
        'Dim farbe4 As Integer = &H831000
        'Dim farbe5 As Integer = &H8F2E00
        'Dim farbe6 As Integer = &HB33200
        'Dim farbe7 As Integer = &HAD3306

        Dim b As New Bitmap(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height)
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b)
        g.CopyFromScreen(0, 0, 0, 0, New Size(b.Width, b.Height))

        For i = 0 To (b.Width - 1)
            For j = 0 To (b.Height - 1)
                Dim col As Integer = (b.GetPixel(i, j).ToArgb) And &HFFFFFF
                If col = farbe Then
                    SetCursorPos(i, j)
                    System.Threading.Thread.Sleep(2000)
                    'Mausklick(Windows.Forms.MouseButtons.Left)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe2 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe3 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe4 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe5 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe6 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                    'ElseIf col = farbe7 Then
                    'SetCursorPos(i, j)
                    'System.Threading.Thread.Sleep(2000)
                End If
            Next
        Next
    End Sub

Nu zu mein Problem:

Er sucht nicht denn ganzen Bildschirm nach diesen Pixel ab,
das heißt, er erstellt ja ein Screenshot und darauf kann ich merkwürdiger weiße auch alles erkennen, aber sobald ich dann ihn die weiteren Aktionen machen lasse,
lässt er unter anderem sehr viele Lücken bzw. lässt er sehr viele Felder frei und macht dann weiter und dann wieder frei.

Ich hatte gedacht,
das diese Felder etwas vom Pixel abweichen aber das ist nicht der Fall,
wenn ich dann aber das Spielfeld etwas bewege und dann nochmal das Programm sage es soll suchen, dann erntet er wieder ein paar Felder ab und die anderen lässt er stehen.

Ich würde mich sehr über Hilfe eurer seit´s bedanken.
 
Zuletzt bearbeitet:
Hi und herzlich willkommen auf tutorials.de

Es tut mir leid, dich enttäuschen zu müssen, aber du wirst hier keine Unterstützung beim Cheaten bzw. beim Schreiben von Bots erhalten!
 

Neue Beiträge

Zurück