示例#1
0
        public static bool PusteNaOkoło(WybórPrzeszkody[,] TabLidrzbX10, int x, int y, Punkt Miejsce, out Punkt Pusty)
        {
            Pusty = Miejsce;
            int MIEJSCEX = Miejsce.X;
            int MIEJSCEY = Miejsce.Y;

            if (MIEJSCEY + 1 < y)
            {
                if (TabLidrzbX10[MIEJSCEX, MIEJSCEY + 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.Y++;
                    return(true);
                }
            }
            if (MIEJSCEX + 1 < x)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X++;
                    return(true);
                }
            }
            if (MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX, MIEJSCEY - 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.Y--;
                    return(true);
                }
            }
            if (MIEJSCEX > 0)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X--;
                    return(true);
                }
            }
            if (MIEJSCEY + 1 < y && MIEJSCEX + 1 < x)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY + 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X++;
                    Pusty.Y++;
                    return(true);
                }
            }
            if (MIEJSCEX + 1 < x && MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY - 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X++;
                    Pusty.Y--;
                }
            }
            if (MIEJSCEX > 0 && MIEJSCEY + 1 < y)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY + 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X--;
                    Pusty.Y++;
                    return(true);
                }
            }
            if (MIEJSCEX > 0 && MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY - 1] == WybórPrzeszkody.Pusty)
                {
                    Pusty.X--;
                    Pusty.Y--;
                    return(true);
                }
            }
            return(false);
        }
示例#2
0
        public static int SprawdźOdległośćDoPunkt(int[,] TabLidrzbX10, int x, int y, Punkt P)
        {
            int MIEJSCEX = P.X;
            int MIEJSCEY = P.Y;
            int Wartośc  = x * y * 10;

            if (MIEJSCEY + 1 < y)
            {
                if (TabLidrzbX10[MIEJSCEX, MIEJSCEY + 1] + 10 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX, MIEJSCEY + 1] + 10;
                }
            }
            if (MIEJSCEX + 1 < x)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY] + 10 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY] + 10;
                }
            }
            if (MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX, MIEJSCEY - 1] + 10 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX, MIEJSCEY - 1] + 10;
                }
            }
            if (MIEJSCEX > 0)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY] + 10 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY] + 10;
                }
            }
            if (MIEJSCEY + 1 < y && MIEJSCEX + 1 < x)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY + 1] + 14 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY + 1] + 14;
                }
            }
            if (MIEJSCEX + 1 < x && MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY - 1] + 14 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX + 1, MIEJSCEY - 1] + 14;
                }
            }
            if (MIEJSCEX > 0 && MIEJSCEY + 1 < y)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY + 1] + 14 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY + 1] + 14;
                }
            }
            if (MIEJSCEX > 0 && MIEJSCEY > 0)
            {
                if (TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY - 1] + 14 < Wartośc)
                {
                    Wartośc = TabLidrzbX10[MIEJSCEX - 1, MIEJSCEY - 1] + 14;
                }
            }
            return(Wartośc);
        }