public MainWindow()
        {
            InitializeComponent();

            timerPuntos           = new DispatcherTimer();
            timeSpanMS            = 2500;
            timeSpan              = new TimeSpan(0, 0, 0, 0, timeSpanMS);
            timerPuntos.Interval  = timeSpan;
            timerPuntos.Tick     += new EventHandler(Timer_Tick);
            timerPuntos.IsEnabled = true;

            timerAceleracion           = new DispatcherTimer();
            timerAceleracion.Interval  = new TimeSpan(0, 0, 0, 0, 5000);
            timerAceleracion.Tick     += new EventHandler(Timer_Tick_Acelerar);
            timerAceleracion.IsEnabled = true;

            disponibles = new Queue <int>();
            setPuntos();
            setVidasImg();
            Kinect_Config();

            for (int i = 0; i < puntos.Length; i++)
            {
                puntosObj[i].dAlto  = puntos[i].Height;
                puntosObj[i].dAncho = puntos[i].Width;
            }

            manoDerecha.dPosX    = (double)PunteroR.GetValue(Canvas.LeftProperty);
            manoDerecha.dPosY    = (double)PunteroR.GetValue(Canvas.TopProperty);
            manoDerecha.dAlto    = PunteroR.Height;
            manoDerecha.dAncho   = PunteroR.Width;
            manoIzquierda.dPosX  = (double)PunteroL.GetValue(Canvas.LeftProperty);
            manoIzquierda.dPosY  = (double)PunteroL.GetValue(Canvas.TopProperty);
            manoIzquierda.dAlto  = PunteroL.Height;
            manoIzquierda.dAncho = PunteroL.Width;

            vidas           = 5;
            puntajeContador = 0;
        }
        /* -- Área para el método que utiliza los datos proporcionados por Kinect -- */
        /// <summary>
        /// Método que realiza las manipulaciones necesarias sobre el Skeleton trazado
        /// </summary>
        private void usarSkeleton(Skeleton skeleton)
        {
            Joint joint1 = skeleton.Joints[JointType.HandRight];
            Joint joint2 = skeleton.Joints[JointType.HandLeft]; //Agregacion de leftHand

            // Si el Joint está listo obtener las coordenadas
            if (joint1.TrackingState == JointTrackingState.Tracked)
            {
                // Obtener coordenadas
                joint_Point = this.SkeletonPointToScreen(joint1.Position);
                dMano_X     = joint_Point.X;
                dMano_Y     = joint_Point.Y;

                // Modificar coordenadas del indicador que refleja el movimiento (Ellipse rojo)
                PunteroR.SetValue(Canvas.TopProperty, dMano_Y - 12.5);
                PunteroR.SetValue(Canvas.LeftProperty, dMano_X - 12.5);
                manoDerecha.dPosX = dMano_X;
                manoDerecha.dPosY = dMano_Y;

                // Indicar Id de la persona que es trazada
                LID.Content = skeleton.TrackingId;
            }

            if (joint2.TrackingState == JointTrackingState.Tracked)
            {
                // Obtener coordenadas
                joint_Point = this.SkeletonPointToScreen(joint2.Position);
                lMano_X     = joint_Point.X;
                lMano_Y     = joint_Point.Y;

                // Modificar coordenadas del indicador que refleja el movimiento (Ellipse rojo)
                PunteroL.SetValue(Canvas.TopProperty, lMano_Y - 12.5);
                PunteroL.SetValue(Canvas.LeftProperty, lMano_X - 12.5);
                manoIzquierda.dPosX = lMano_X;
                manoIzquierda.dPosY = lMano_Y;

                // Indicar Id de la persona que es trazada
                LID.Content = skeleton.TrackingId;
            }

            // COLISIONES CHECK
            //Colision MR con Rojo

            for (int i = 0; i < puntos.Length; i++)
            {
                if (checarColision(puntosObj[i], manoDerecha))
                {
                    SystemSounds.Hand.Play();
                    puntosObj[i].dPosX = -MainCanvas.Width * 1.2;
                    puntos[i].SetValue(Canvas.LeftProperty, -MainCanvas.Width * 1.2);
                    puntos[i].Opacity = 0;
                    disponibles.Enqueue(i);
                    if (puntos[i].Fill == colorDerecha)
                    {
                        puntajeContador++;
                    }
                    else
                    {
                        puntajeContador--;
                    }
                    puntaje.Content = "Puntaje: " + puntajeContador;
                }

                if (checarColision(puntosObj[i], manoIzquierda))
                {
                    SystemSounds.Hand.Play();
                    puntosObj[i].dPosX = -MainCanvas.Width * 1.2;;
                    puntos[i].SetValue(Canvas.LeftProperty, -MainCanvas.Width * 1.2);
                    puntos[i].Opacity = 0;
                    disponibles.Enqueue(i);
                    if (puntos[i].Fill == colorIzquierda)
                    {
                        puntajeContador++;
                    }
                    else
                    {
                        puntajeContador--;
                    }
                    puntaje.Content = "Puntaje: " + puntajeContador;
                }
            }
        }