Пример #1
0
 public void Reset(Object sender, EventArgs e)
 {
     ball.Reset();
     ballClock.Stop();
     isPlaying     = false;
     goButton.Text = "Play";
     ballPen       = donePen;
     ballBrush     = doneBrush;
 }
Пример #2
0
        public void FindShortestPath(int x, int y)
        {
            try
            {
                if (_matrix.DijkstraData == null)
                {
                    return;
                }
                int value = _matrix.DijkstraData[x, y].Value;
                if (value < 0)
                {
                    MessageBox.Show(String.Format("Không tìm được đường đi từ điểm '{0}' đến điểm '{1}'",
                                                  (char)('1' + x), (char)('1' + y)));
                    return;
                }
                if (_ball == null)
                {
                    _ball = new MovingBall(this);
                }
                _ball.Reset();
                _path.Clear();
                _preNodeIndex = x;
                _ball.NodeLocations.Add(this.Controls[x + 1].Location);

                GetPath(x, y);

                _ball.NodeLocations.Add(this.Controls[y + 1].Location);
                _ball.Start();
                Invalidate();
            }
            catch (IndexOutOfRangeException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }