コード例 #1
0
        internal static void MakeSureMineHasAccessToVillage(Labyrinth labyrinth, Mine mine, Village village)
        {
            int xFrom, yFrom, xTo, yTo;

            if (mine.LabyrinthCorX >= village.LabyrinthCorX)
            {
                xFrom = village.LabyrinthCorX;
                xTo = mine.LabyrinthCorX;
            }
            else
            {
                xFrom = mine.LabyrinthCorX;
                xTo = village.LabyrinthCorX;
            }

            if (mine.LabyrinthCorY >= village.LabyrinthCorY)
            {
                yFrom = village.LabyrinthCorY;
                yTo = mine.LabyrinthCorY;
            }
            else
            {
                yFrom = mine.LabyrinthCorY;
                yTo = village.LabyrinthCorY;
            }

            for (int i = xFrom; i <= xTo; i++)
            {
                labyrinth.Remove(i, yFrom);
                labyrinth.Remove(i, yTo);
            }

            for (int k = yFrom; k <= yTo; k++)
            {
                labyrinth.Remove(xTo, k);
                labyrinth.Remove(xFrom, k);
            }
        }