Ejemplo n.º 1
0
        public MainWindow()
        {
            InitializeComponent();

            puzzle = new DotPuzzle();
            this.puzzle.Dots.Add(new Point(200, 300));
            this.puzzle.Dots.Add(new Point(1600, 300));
            this.puzzle.Dots.Add(new Point(1650, 400));
            this.puzzle.Dots.Add(new Point(1600, 500));
            this.puzzle.Dots.Add(new Point(1000, 500));
            this.puzzle.Dots.Add(new Point(1000, 600));
            this.puzzle.Dots.Add(new Point(1200, 700));
            this.puzzle.Dots.Add(new Point(1150, 800));
            this.puzzle.Dots.Add(new Point(750, 800));
            this.puzzle.Dots.Add(new Point(700, 700));
            this.puzzle.Dots.Add(new Point(900, 600));
            this.puzzle.Dots.Add(new Point(900, 500));
            this.puzzle.Dots.Add(new Point(200, 500));
            this.puzzle.Dots.Add(new Point(150, 400));

            this.puzzleDotIndex = -1;

            this.Loaded += (s, e) =>
            {
                KinectSensor.KinectSensors.StatusChanged += KinectSensors_StatusChanged;
                DiscoverKinect();
                DrawPuzzle(this.puzzle);
            };
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 绘制问题的点
        /// </summary>
        /// <param name="dotPuzzle"></param>
        private void DrawPuzzle(DotPuzzle dotPuzzle)
        {
            PuzzleBoardElement.Children.Clear();

            if (puzzle != null)
            {
                for (int i = 0; i < puzzle.Dots.Count; i++)
                {
                    Grid dotContainer = new Grid();
                    dotContainer.Width  = 50;
                    dotContainer.Height = 50;
                    dotContainer.Children.Add(new Ellipse {
                        Fill = Brushes.Gray
                    });

                    TextBlock dotLabel = new TextBlock();
                    dotLabel.Text                = (i + 1).ToString();
                    dotLabel.Foreground          = Brushes.White;
                    dotLabel.FontSize            = 24;
                    dotLabel.HorizontalAlignment = HorizontalAlignment.Center;
                    dotContainer.Children.Add(dotLabel);

                    // 在UI界面上绘制点
                    Canvas.SetTop(dotContainer, puzzle.Dots[i].Y - (dotContainer.Height / 2));
                    Canvas.SetLeft(dotContainer, puzzle.Dots[i].X - (dotContainer.Width / 2));
                    PuzzleBoardElement.Children.Add(dotContainer);
                }
            }
        }