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(); } }
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); }