Exemplo n.º 1
0
        public static void secileniBul(Panel cizimYeri, int x, int y)
        {
            FileStream   fs = new FileStream(Application.StartupPath.ToString() + "\\tmp.txt", FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(fs);

            for (; ;)
            {
                string   yazi;
                string[] bolunmus = new string[6];
                yazi = sr.ReadLine();
                if (yazi == null)
                {
                    break;
                }
                bolunmus = yazi.Split(' ');
                int x1 = Convert.ToInt32(bolunmus[0]), y1 = Convert.ToInt32(bolunmus[1]), x2 = Convert.ToInt32(bolunmus[2]), y2 = Convert.ToInt32(bolunmus[2]);
                int a = x1 - ((2 * x2 - 2 * x1) / 2), b = y1 - ((2 * x2 - 2 * x1) / 2), c = (x1 - ((2 * x2 - 2 * x1) / 2)) + 2 * x2 - 2 * x1, d = (y1 - ((2 * x2 - 2 * x1) / 2)) + 2 * x2 - 2 * x1;
                if (Convert.ToInt32(bolunmus[5]) == 0)
                {
                    if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) >= 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) >= 0)
                    {
                        if (Convert.ToInt32(bolunmus[2]) > x && x > Convert.ToInt32(bolunmus[0]) && Convert.ToInt32(bolunmus[3]) > y && y > Convert.ToInt32(bolunmus[1]))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) >= 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) < 0)
                    {
                        if (Convert.ToInt32(bolunmus[2]) > x && x > Convert.ToInt32(bolunmus[0]) && Convert.ToInt32(bolunmus[1]) > y && y > Convert.ToInt32(bolunmus[3]))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) < 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) >= 0)
                    {
                        if (Convert.ToInt32(bolunmus[0]) > x && x > Convert.ToInt32(bolunmus[2]) && Convert.ToInt32(bolunmus[3]) > y && y > Convert.ToInt32(bolunmus[1]))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) < 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) < 0)
                    {
                        if (Convert.ToInt32(bolunmus[0]) > x && x > Convert.ToInt32(bolunmus[2]) && Convert.ToInt32(bolunmus[1]) > y && y > Convert.ToInt32(bolunmus[3]))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                }
                else if (Convert.ToInt32(bolunmus[5]) == 1)
                {
                    if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) >= 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) >= 0)
                    {
                        if (c > x && x > a && d > y && y > b)
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) >= 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) < 0)
                    {
                        if (c > x && x > a && d > y && y > b)
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) < 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) >= 0)
                    {
                        if (a > x && x > c && b > y && y > d)
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else if (Convert.ToInt32(bolunmus[2]) - Convert.ToInt32(bolunmus[0]) < 0 && Convert.ToInt32(bolunmus[3]) - Convert.ToInt32(bolunmus[1]) < 0)
                    {
                        if (a > x && x > c && b > y && y > d)
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                }
                else if (Convert.ToInt32(bolunmus[5]) == 2)
                {
                    if (x1 < x2)
                    {
                        if (x1 - (x2 - x1) < x && x < x1 + (x2 - x1) && y1 - (x2 - x1) < y && y < y1 + (x2 - x1))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else
                    {
                        if (x1 + (x2 - x1) < x && x < (x1 - (x2 - x1)) && y1 + (x2 - x1) < y && y < y1 - (x2 - x1))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                }
                else if (Convert.ToInt32(bolunmus[5]) == 3)
                {
                    if (x1 < x2)
                    {
                        if (x1 - (x2 - x1) < x && x < x1 + (x2 - x1) && y1 - (x2 - x1) < y && y < y1 + (x2 - x1))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                    else
                    {
                        if (x1 + (x2 - x1) < x && x < x1 - (x2 - x1) && y1 + (x2 - x1) < y && y < y1 - (x2 - x1))
                        {
                            Cizim.secim(cizimYeri, Convert.ToInt32(bolunmus[5]), Convert.ToInt32(bolunmus[0]), Convert.ToInt32(bolunmus[1]), Convert.ToInt32(bolunmus[2]), Convert.ToInt32(bolunmus[3]));
                            break;
                        }
                    }
                }
            }
            sr.Close(); fs.Close();
        }