public Bitmap E_Suchen() { bool[,] pixel = this.Pixel.Clone() as bool[, ]; for (int i = 1; i <= 4; i++) { if (i == 3) { pixel = this.Pixel.Clone() as bool[, ]; } for (int j = 0; j < this.Stuecke.Count; j++) { Stueck start = this.Stuecke[j] as Stueck; if (start.Check(2, 2, 2, 0.4)) { KreisFinden finden = new KreisFinden(); ArrayList list = new ArrayList(); if ((i % 2) == 1) { list = finden.Kreis_Finden(ref start, this.Pixel, 0x186a0, i); } else { list = finden.Kreis_Finden(ref start, pixel, 0x186a0, i); } if (start.Ellipse) { for (int m = 0; m < list.Count; m++) { pixel[(list[m] as int[])[0], (list[m] as int[])[1]] = false; this.Bild.SetPixel((list[m] as int[])[0], (list[m] as int[])[1], Color.Green); } start.Testen = false; } else if (list.Count == 1) { start.Testen = false; } } } int num4 = 0; for (int k = 0; k < this.Stuecke.Count; k++) { Stueck stueck2 = this.Stuecke[k] as Stueck; if (stueck2.Ellipse) { for (int n = 0; n < this.Stuecke.Count; n++) { Stueck stueck3 = this.Stuecke[n] as Stueck; if (((stueck3.Ellipse && (stueck2.a != stueck3.a)) && ((stueck2.b != stueck3.b) && ((Math.Pow((double)(stueck2.mx - stueck3.mx), 2.0) + Math.Pow((double)(stueck2.my - stueck3.my), 2.0)) < 50.0))) && ((Math.Abs((double)(stueck2.a - stueck3.a)) > 3.0) || (Math.Abs((double)(stueck2.b - stueck3.b)) > 3.0))) { num4++; this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 7, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 7, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 7, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 7, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 7, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my - 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my - 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my - 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 7, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my - 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 7, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my - 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 7, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my, Color.Red); this.Bild.SetPixel(stueck2.mx - 7, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my + 1, Color.Red); this.Bild.SetPixel(stueck2.mx - 7, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my + 2, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my + 3, Color.Red); this.Bild.SetPixel(stueck2.mx - 6, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx + 6, stueck2.my + 4, Color.Red); this.Bild.SetPixel(stueck2.mx - 5, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx + 5, stueck2.my + 5, Color.Red); this.Bild.SetPixel(stueck2.mx - 4, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 3, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 3, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx + 4, stueck2.my + 6, Color.Red); this.Bild.SetPixel(stueck2.mx - 2, stueck2.my + 7, Color.Red); this.Bild.SetPixel(stueck2.mx - 1, stueck2.my + 7, Color.Red); this.Bild.SetPixel(stueck2.mx, stueck2.my + 7, Color.Red); this.Bild.SetPixel(stueck2.mx + 1, stueck2.my + 7, Color.Red); this.Bild.SetPixel(stueck2.mx + 2, stueck2.my + 7, Color.Red); } } } } Image Copy = new Bitmap(this.Bild); if (num4 != 0) { try { } catch { } return(this.Bild); } } // Image Copy1 = new Bitmap(this.Bild); //Copy1.Save(Application.StartupPath + "\\"); return(this.Bild); }
public void Laden(string Path) { this.Path = Path; int[,] numArray = new int[, ] { { 0, -1 }, { 1, -1 }, { 1, 0 }, { 1, 1 }, { 0, 1 }, { -1, 1 }, { -1, 0 }, { -1, -1 } }; int[,] numArray2 = new int[, ] { { 0, -2 }, { 1, -2 }, { 2, -2 }, { 2, -1 }, { 2, 0 }, { 2, 1 }, { 2, 2 }, { 1, 2 }, { 0, 2 }, { -1, 2 }, { -2, 2 }, { -2, 1 }, { -2, 0 }, { -2, -1 }, { -2, -2 }, { -1, -2 } }; StreamReader SR = new StreamReader(Path); this.Bild = new Bitmap(SR.BaseStream); SR.Close(); for (int i = 0; i < this.Bild.Width; i++) { for (int m = 0; m < this.Bild.Height; m++) { if (this.Bild.GetPixel(i, m).B < 200) { this.Pixel[i, m] = true; } } } for (int j = 2; j < (this.Bild.Width - 2); j++) { for (int n = 2; n < (this.Bild.Height - 2); n++) { if (this.Pixel[j, n]) { int num5 = 0; for (int num6 = 0; num6 < 8; num6++) { if (this.Pixel[j + numArray[num6, 0], n + numArray[num6, 1]]) { num5++; } } if (num5 < 3) { this.Pixel_rot[j, n] = true; } if (num5 == 3) { int num7 = 0; for (int num8 = 0; num8 < 0x10; num8++) { if (this.Pixel[j + numArray2[num8, 0], n + numArray2[num8, 1]]) { num7++; } } if (num7 < 3) { this.Pixel_rot[j, n] = true; } } } } } for (int k = 0; k < this.Bild.Width; k++) { for (int num10 = 0; num10 < this.Bild.Height; num10++) { int[] numArray3; if (!this.Pixel_rot[k, num10]) { continue; } int num11 = 0; for (int num12 = 0; num12 < 8; num12++) { if (this.Pixel_rot[k + numArray[num12, 0], num10 + numArray[num12, 1]]) { num11++; } } if (num11 != 1) { continue; } Stueck stueck = new Stueck(); stueck.Pixel.Add(new int[] { k, num10 }); this.Pixel_rot[k, num10] = false; Label_028A: numArray3 = stueck.Pixel[stueck.Pixel.Count - 1] as int[]; for (int num13 = 0; num13 < 8; num13++) { if (this.Pixel_rot[numArray3[0] + numArray[num13, 0], numArray3[1] + numArray[num13, 1]]) { stueck.Pixel.Add(new int[] { numArray3[0] + numArray[num13, 0], numArray3[1] + numArray[num13, 1] }); this.Pixel_rot[numArray3[0] + numArray[num13, 0], numArray3[1] + numArray[num13, 1]] = false; goto Label_028A; } } stueck.Calc(); this.Stuecke.Add(stueck); } } }
public ArrayList Kreis_Finden(ref Stueck Start, bool[,] Pixel, int steps, int h) { int num = 0; int num2 = 0; int num3 = (Start.Pixel[0] as int[])[0]; int num4 = (Start.Pixel[0] as int[])[1]; int num5 = 0; int[] numArray4 = new int[] { 0, 0, -1, 0x63, -1, 0, 0 }; numArray4[0] = num3; numArray4[1] = num4; int[] numArray = numArray4; this.Weg.Add(numArray.Clone()); this.Weg3.Add(new double[2]); this.Weg4[numArray[0], numArray[1]] = true; for (int i = 0; i < 8; i++) { if (((num3 + this.r8r[i, 0]) == (Start.Pixel[1] as int[])[0]) && ((num4 + this.r8r[i, 1]) == (Start.Pixel[1] as int[])[1])) { numArray[0] = (Start.Pixel[1] as int[])[0]; numArray[1] = (Start.Pixel[1] as int[])[1]; numArray[2] = i + 8; numArray[3] = 0x63; numArray[4] = i + 8; numArray[5] = 1; numArray[6] = 1; break; } } num = numArray[2] + 10; this.Weg.Add(numArray.Clone()); this.Weg3.Add(new double[] { this.angle(), 1.0 }); this.Weg4[numArray[0], numArray[1]] = true; while ((steps > num2) && (this.Weg.Count > 1)) { numArray = this.Weg[this.Weg.Count - 1] as int[]; double[] numArray2 = (double[])this.Weg3[this.Weg3.Count - 1]; double[] numArray3 = numArray2; if (this.Weg3.Count > 10) { numArray3 = (double[])this.Weg3[this.Weg3.Count - 10]; } this.Weg.RemoveAt(this.Weg.Count - 1); this.Weg3.RemoveAt(this.Weg3.Count - 1); this.Weg4[numArray[0], numArray[1]] = false; for (int j = numArray[4] + 1; j >= (numArray[4] - 1); j--) { if (numArray[3] <= j) { j = numArray[3] - 1; } if ((num3 == (numArray[0] + this.r8r[j % 8, 0])) && (num4 == (numArray[1] + this.r8r[j % 8, 1]))) { if (Start.Ellipse_C(this.Weg, h)) { Start.Ellipse = true; return(this.Weg); } num5--; this.Weg.RemoveAt(this.Weg.Count - 1); this.Weg3.RemoveAt(this.Weg3.Count - 1); this.Weg.RemoveAt(this.Weg.Count - 1); this.Weg3.RemoveAt(this.Weg3.Count - 1); this.Weg.RemoveAt(this.Weg.Count - 1); this.Weg3.RemoveAt(this.Weg3.Count - 1); break; } double num8 = this.angle(); double num9 = 3.1415926535897931; if ((((((j < (numArray[4] - 1)) || (j > num)) || ((numArray[5] > 20) || (numArray[6] > 50))) || (((num8 >= (numArray2[0] + 0.175)) || (num8 <= (numArray2[0] - 0.24))) && (((num8 >= ((numArray2[0] - (2.0 * num9)) + 0.175)) && (num8 <= ((numArray2[0] + (2.0 * num9)) - 0.223))) && ((num2 > 10) && (h <= 2))))) || (((num8 >= (numArray2[0] + 0.24)) || (num8 <= (numArray2[0] - 0.24))) && (((num8 >= ((numArray2[0] - (2.0 * num9)) + 0.175)) && (num8 <= ((numArray2[0] + (2.0 * num9)) - 0.223))) && ((num2 > 10) && (h >= 3))))) || (((num8 >= (numArray3[0] + 1.07)) || (num8 < (numArray3[0] - 0.0))) && (((num8 >= ((numArray3[0] - (2.0 * num9)) + 1.07)) && (num8 <= ((numArray3[0] + (2.0 * num9)) - 0.0))) && (num2 > 20)))) { break; } if ((((((numArray[0] + this.r8r[j % 8, 0]) >= 0) && ((numArray[1] + this.r8r[j % 8, 1]) >= 0)) && (((numArray[0] + this.r8r[j % 8, 0]) <= 0x27f) && ((numArray[1] + this.r8r[j % 8, 1]) <= 0x10d))) && ((Pixel[numArray[0] + this.r8r[j % 8, 0], numArray[1] + this.r8r[j % 8, 1]] && !this.Weg4[numArray[0] + this.r8r[j % 8, 0], numArray[1] + this.r8r[j % 8, 1]]) && (((numArray[0] + this.r8r[j % 8, 0]) >= (num3 - 70)) && ((numArray[1] + this.r8r[j % 8, 1]) >= (num4 - 70))))) && ((((numArray[0] + this.r8r[j % 8, 0]) <= (num3 + 70)) && ((numArray[1] + this.r8r[j % 8, 1]) <= (num4 + 70))) && ((numArray[4] <= (num - 4)) || (numArray3[1] >= (Math.Pow((double)((numArray[0] + this.r8r[j % 8, 0]) - num3), 2.0) + Math.Pow((double)((numArray[1] + this.r8r[j % 8, 1]) - num4), 2.0)))))) { numArray[3] = j; this.Weg.Add(numArray.Clone()); this.Weg3.Add(numArray2); this.Weg4[numArray[0], numArray[1]] = true; numArray[0] += this.r8r[j % 8, 0]; numArray[1] += this.r8r[j % 8, 1]; if (j != numArray[2]) { numArray[5] = 0; } numArray[2] = j; numArray[3] = 0x63; if (j > numArray[4]) { numArray[4] = j; numArray[6] = 0; } numArray[5]++; numArray[6]++; this.Weg.Add(numArray.Clone()); this.Weg3.Add(new double[] { num8, Math.Pow((double)((numArray[0] + this.r8r[j % 8, 0]) - num3), 2.0) + Math.Pow((double)((numArray[1] + this.r8r[j % 8, 1]) - num4), 2.0) }); this.Weg4[numArray[0], numArray[1]] = true; } } num2++; } return(this.Weg); }