Example #1
0
        void LoadMap(Stream fileStream)
        {

            var img = new BitmapImage();
            img.SetSource(fileStream);


            var writeable = new WriteableBitmap(img);

            var width = img.PixelWidth;

            var map = new Cell[img.PixelWidth, img.PixelHeight];

            for (int row = 0; row < img.PixelHeight; ++row)
                for (int col = 0; col < img.PixelWidth; ++col)
                {
                    var cell = Cell.Free;
                    var pixel = writeable.GetPixeli(col, row);
                    switch (pixel)
                    {
                        case WHITE:
                            cell = Cell.Free;
                            break;
                        case BLACK:
                            cell = Cell.Obstacle;
                            break;
                        case RED:
                            cell = Cell.Goal;
                            break;
                        case GREEN:
                            cell = Cell.Start;
                            break;
                        default:
                            System.Diagnostics.Debugger.Break();
                            StatusText.Text = "Invalid Color encountered";
                            break;

                    }
                    map[col, row] = cell;
                }
            _Map = new RobotMap(map);
            _Path = null;
            ShowMap();
        }