示例#1
0
        private void PlaceBorderOnBlock(Block[,] blockMap, int x, int y)
        {
            Block block = blockMap[x, y];

            bool top    = false;
            bool bottom = false;
            bool left   = false;
            bool right  = false;

            if (y > 0)
            {
                top = blockMap[x, y - 1] != null && blockMap[x, y - 1].Type == BlockType.WALL;
            }

            if (y < Level.LEVEL_HEIGHT * Level.ROOM_HEIGHT - 1)
            {
                bottom = blockMap[x, y + 1] != null && blockMap[x, y + 1].Type == BlockType.WALL;
            }

            if (x > 0)
            {
                left = blockMap[x - 1, y] != null && blockMap[x - 1, y].Type == BlockType.WALL;
            }

            if (x < Level.LEVEL_WIDTH * Level.ROOM_WIDTH - 1)
            {
                right = blockMap[x + 1, y] != null && blockMap[x + 1, y].Type == BlockType.WALL;
            }

            block.SetBorders(new Sides(top, bottom, left, right));
        }