Пример #1
0
        public void registerMatrix(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                if (drawingInProgress)
                {
                    return;
                }
                MapButton but = (MapButton)sender;

                var c = but.BackColor.ToKnownColor();
                switch (c)
                {
                case KnownColor.LightGreen:
                    but.BackColor = Color.DarkOrange;
                    break;

                case KnownColor.DarkOrange:
                    but.BackColor = Color.Blue;
                    break;

                case KnownColor.Blue:
                    but.BackColor = Color.Green;
                    break;

                case KnownColor.Green:
                    but.BackColor = Color.Gray;
                    break;

                case KnownColor.Gray:
                    but.BackColor = Color.LightGreen;
                    break;
                }

                char butc = but.colorToString();
                mapUserInterface.setMatrixXY(but.getPosY(), but.getPosX(), butc);
                mapUserInterface.clearTiles();
            }
            else if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                if (drawingInProgress)
                {
                    drawingInProgress = false;
                }

                MapButton but = (MapButton)sender;
                mapUserInterface.setEndPoint(but.getPosY(), but.getPosX());
                startPathFind();
            }
        }
Пример #2
0
        private void startPathFind()
        {
            MapButton start = mapUserInterface.getStartPoint();
            MapButton end   = mapUserInterface.getEndPoint();
            Map       myMap = new Map(mapUserInterface.getMatrix(),
                                      start.getPosY(), start.getPosX(),
                                      end.getPosY(), end.getPosX());
            Executor    exec   = new Executor();
            RadioButton button = algorithmChoice.Controls.OfType <RadioButton>().FirstOrDefault(n => n.Checked);

            mapUserInterface.clearTiles();
            exec.RunAlgorithm(button.Text, myMap);
            result = exec.getResult();
            DrawPath(myMap);
        }