コード例 #1
0
        private bool checarDistancia()
        {
            //Obtiene	la	coordenada	del	centro	del	círculo	que	mueve	la	persona
            double dX1 = (double)Puntero.GetValue(Canvas.LeftProperty) + (Puntero.Width / 2);
            double dY1 = (double)Puntero.GetValue(Canvas.TopProperty) + (Puntero.Height / 2);
            //Calcula	la	distancia	entre	el	centro	del	Puntero	(círculo	rojo)	y
            //el	centro	del	aro
            double dDistancia = Math.Sqrt(Math.Pow(dXC - dX1, 2) + Math.Pow(dYC - dY1, 2));

            //Compara	la	distancia	calculada	con	los	radios	de	los	dos	círculos	que	forman
            //el	aro	en	el	entendido	de	que	si	la	distancia	es	mayor	al	círculo	más	grande
            //o	menor	al	círculo	más	pequeño,	entonces	el	círculo	rojo
            //se	ha	salido	del	trayecto.
            return(dDistancia > dRadioC1 || dDistancia < dRadioC2);
        }
コード例 #2
0
        /* ------------------------------------------------------------------------- */

        /* --------------------------- Métodos Nuevos ------------------------------ */


        private bool Posicion()
        {
            double Manod    = (double)Puntero.GetValue(Canvas.TopProperty);
            double Cabeza   = (double)Puntero3.GetValue(Canvas.TopProperty);
            double Manoi    = (double)Puntero1.GetValue(Canvas.TopProperty);
            double Rodillai = (double)Puntero5.GetValue(Canvas.TopProperty);
            double Pied     = (double)Puntero6.GetValue(Canvas.TopProperty);

            if (Manod < Cabeza && Manoi < Cabeza && Rodillai + 50 > Pied)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }