Exemple #1
0
        public void WIP_ExploringImprovedBitmap()
        {
            var p     = Puzzle.Builder.DefaultTestPuzzle();
            var floor = p.ToMap(p.Definition.AllFloors);

            outp.WriteLine($"{floor.GetType().Name} = {floor.SizeInBytes()} bytes");
            var alt = new BitmapByteSeq(floor);

            outp.WriteLine($"{alt.GetType().Name}  = {alt.SizeInBytes()}");


            var enumFloor = StaticAnalysis.IndexPositions(floor);

            outp.WriteLine($"Floors : {enumFloor.Count}={enumFloor.Count /8 + 1}bytes vs {floor.Size.X * floor.Size.Y}");
        }
        private BitmapMaskedIndex.Master BuildMaster(Puzzle p)
        {
            var floors = p.ToMap(p.Definition.AllFloors);
            var master = new BitmapMaskedIndex.Master(floors);

            outp.WriteLine(master.Reference.ToString());

            outp.WriteLine($"Size: {master}");
            outp.WriteLine($"Size.Bitmap: {Bitmap.SizeInBytes(master.Reference.Size)}");
            outp.WriteLine($"Size.BitmapByteSeq: {BitmapByteSeq.SizeInBytes(master.Reference.Size)}");

            outp.WriteLine(new FluentString().ForEach(master.MapIn));
            outp.WriteLine(new FluentString(Environment.NewLine).ForEach(master.MapOut.WithIndex()));

            return(master);
        }