mjm65 Posted February 21, 2007 Posted February 21, 2007 i wrote a code to take a map from the web and find the spaces in it. the $state variable tells me what color the space was. I want to update a 2d array to put the color in as a string. Any help would be appreciated CODE#include <array.au3> #include <GuiConstants.au3> Global $pic[34][51], $state = 0 Dim $x=0,$i=0,$AnchorX=0, $AnchorY = 0 Sleep(4000) $coord = PixelSearch(422, 225, 725, 430, 0x998675, 50) MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1]) $AnchorX= $coord[0] $AnchorY = $coord[1] For $i = 0 To 34 Step 1 For $x= 0 To 51 Step 1 ;math to find the pixel $GetX = ($x * 5) + $AnchorX + 3 $GetY = ($i * 5) + $AnchorY + 3 $state = PixelGetColor($GetX,$GetY) If $state = 10061429 Then;brown $state = "1" ElseIf $state = 1681474 Then ;Green $state = "2" ElseIf $state = 16777215 Then ;White $state = "3" ElseIf $state = 16711680 Then ;Red $state = "4" Else MsgBox(16, "? ", "ERROR COLOR NOT RECONIZED" + $state) EndIf $pic[$i][$x] = $state ; dosen't work Next Next
SadBunny Posted February 21, 2007 Posted February 21, 2007 Oldest problem in the book Your for loop runs to 34 and 51, but array element [34][51] does not exist. This because you gave your array 34 resp. 51 elements, so their array numbers run from 0 to 33 resp. 50. (This is called 0-based because arrays start at 0 by default.) I would say, either decrease the for loop by one $i and $x, or increase your array dimensions to 35 and 52 so all will fit... Google for "0-based" (INclude the quotation marks this time since otherwise google will kill the - Roses are FF0000, violets are 0000FF... All my base are belong to you.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now