void ca_Drop(object sender, DragEventArgs e)
        {
            int columna, fila;

            if (e.Handled == false)
            {
                Canvas canvasNuevo = (Canvas)sender;
                Label  label       = (Label)e.Data.GetData("Etiqueta");
                Barco  barco       = (Barco)e.Data.GetData("Object");
                if (canvasNuevo != null && label != null)
                {
                    Canvas padre = (Canvas)VisualTreeHelper.GetParent(label);
                    if (padre != null)
                    {
                        if (e.AllowedEffects.HasFlag(DragDropEffects.Move))
                        {
                            //rotar
                            columna = Grid.GetColumn(canvasNuevo);
                            fila    = Grid.GetRow(canvasNuevo);
                            bool colocado = colocarBarco(canvasNuevo, label, barco, columna, fila);
                            if (colocado)
                            {
                                padre.Children.Remove(label);
                                canvasNuevo.Children.Add(label);
                                Canvas.SetTop(label, 0);
                                //elimina el evento de poder arrastrar
                                barco.eliminarMouseDown();
                            }
                            if (canvasBarcos.Children.Count == 0)
                            {
                                //MessageBox.Show("No tiene hijos");
                                this.bJugar.IsEnabled = true;
                            }
                        }
                    }
                }
            }
        }
        private bool colocarBarco(Canvas padre, Label label, Barco barco, int x, int y)
        {
            //si el barco es mayor que 1 abre orientación
            bool ocupado   = false;
            int  direccion = 0;

            //los barcos de 1 casilla no es necesario pedir dirección
            if (barco.getTamaño() > 1)
            {
                Orientacion or = new Orientacion(x, y, barco.getTamaño());

                or.ShowDialog();
                if (or.DialogResult == true)
                {
                    //0 derecha, 1 abajo, 2 izquierda, 3 arriba
                    direccion = or.Direccion;
                }
                else
                {
                    return(false);
                }

                //"funciona"
                //or.ShowDialog();
                //direccion = or.Direccion;
                //dirección 4 es al cerrar la ventana de direcciones
                //if (direccion == 4) {
                //    return false;
                //}
            }
            for (int i = 0; i < barco.getTamaño(); i++)
            {
                for (int j = 0; j < barcos.Count; j++)
                {
                    ocupado = barcos[j].comprobarPosicion(x, y);
                    if (ocupado == true)
                    {
                        //limpia las coordenadas del barco arrastrado
                        barco.eliminarCoordenadas();
                        break;
                    }
                }
                //mejorar
                if (!ocupado)
                {
                    barco.anyadirCoordenadas(x, y);
                    Console.WriteLine(x.ToString() + " " + y.ToString());
                    switch (direccion)
                    {
                    case 0:
                        x++;
                        break;

                    case 1:
                        y++;
                        break;

                    case 2:
                        x--;
                        break;

                    case 3:
                        y--;
                        break;
                    }
                }
                else
                {
                    //si alguna casilla corresponde con otro barco, no lo añade
                    return(false);
                }
            }
            RotateTransform rotateTransform1 = new RotateTransform(90 * direccion, 17.5, 17.5);

            label.RenderTransform = rotateTransform1;
            return(true);
        }