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); }
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); }