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); }
/* ------------------------------------------------------------------------- */ /* --------------------------- 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); } }