예제 #1
0
        //Modificar Barco
        public ActionResult ModificarBarco(string id)
        {
            DAOBarco data            = DAOBarco.getInstance();
            Barco    BarcoEncontrado = data.buscarBarco(id);

            return(View(BarcoEncontrado));
        }
예제 #2
0
        public ActionResult EliminarBarco(Barco model)
        {
            string name    = TempData["username"].ToString();
            string nameRol = TempData["rol"].ToString();
            int    codUser = Int32.Parse(TempData["codUser"].ToString());

            ViewBag.name         = name;
            ViewBag.rol          = nameRol;
            TempData["username"] = name;
            TempData["rol"]      = nameRol;
            TempData["codUser"]  = codUser;

            DAOUsuario dataU  = DAOUsuario.getInstance();
            string     today  = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss tt");
            string     accion = "Elimino Barco " + model.placa;

            dataU.insertarAccion(codUser, 4, today, accion);

            //int cod = Int32.Parse(model.cod);
            DAOBarco data = DAOBarco.getInstance();

            data.eliminarBarco(model.placa);
            List <Barco> Barcos = data.obtenerBarcos();

            return(View("~/Views/Vehiculo/Barco.cshtml", Barcos));
        }
예제 #3
0
        private void buttonColocarAceptar_Click(object sender, EventArgs e)
        {
            int indice;

            /* bandera que nos ayuda ir controlando la cantidad de barcos que el usuario va colocando.
             * Se encarga de ir controlando la cantidad de barcos que se van colocando dentro del campo de juego,
             * ademas de ayudar a cumplir con la condicion que el usuairo puede tener +/- 1 barco que el enemigo.*/
            if (terreno.bandera)
            {
                if ((cantBarcos + 1) >= jugador.BarcosActuales)
                {
                    indice = (comboBoxBarcos.SelectedIndex);
                    if (jugador.BarcosActuales == 0)
                    {
                        barco = terreno.listaGeneral[indice];
                    }

                    else
                    {
                        barco = terreno.listaGeneral[indice + 1];
                    }
                }
                else
                {
                    MessageBox.Show("Maxima cantidad de barcos ya colocada!!, Puede comenzar la batalla");
                }
            }
            else
            {
                MessageBox.Show("Seleccione primero el barco a colocar en el terreno!!");
            }
        }
예제 #4
0
        public ActionResult ModificarBarco(Barco model, string modeloVeh, string puerto)
        {
            string name    = TempData["username"].ToString();
            string nameRol = TempData["rol"].ToString();
            int    codUser = Int32.Parse(TempData["codUser"].ToString());

            ViewBag.name         = name;
            ViewBag.rol          = nameRol;
            TempData["username"] = name;
            TempData["rol"]      = nameRol;
            TempData["codUser"]  = codUser;

            DAOUsuario dataU  = DAOUsuario.getInstance();
            string     today  = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss tt");
            string     accion = "Modifico Barco " + model.placa;

            dataU.insertarAccion(codUser, 3, today, accion);

            int      fkM  = Int32.Parse(modeloVeh);
            int      fkP  = Int32.Parse(puerto);
            DAOBarco data = DAOBarco.getInstance();

            data.modificarBarco(model.placa, model.serialMotor, model.capacidad, model.peso,
                                model.descripcion, model.serialCarroceria, model.fechaCreacion, model.nombre, fkM, fkP);
            List <Barco> Barcos = data.obtenerBarcos();

            return(View("~/Views/Vehiculo/Barco.cshtml", Barcos));
        }
예제 #5
0
 /// <summary>
 /// Verifica si hay el barco actual se superpone con otro barco ya ubicado previamente
 /// </summary>
 /// <param name="barco">El barco que se quiere ubicar</param>
 /// <param name="longitudSuperposicion">Devuelve la longitud desde la posicion actual del barco, hasta la posicion donde colisiona, Esto para saber la cantidad de zonas del mar a pintar</param>
 /// <returns>true si se superpone, false si no</returns>
 private bool verificarSuperposicion(Barco barco, int longitudUbicable, out int longitudSuperposicion)
 {
     if (barco.instanciaDelBarco.orientacion == OrientacionBarco.Vertical)
     {
         for (int i = 0; i < longitudUbicable; i++)
         {
             if (tableroUsuario[barco.instanciaDelBarco.coordenadaDeReferencia.FilaToNum() - i, barco.instanciaDelBarco.coordenadaDeReferencia.Columna])
             {
                 longitudSuperposicion = i;
                 return(true);
             }
         }
     }
     else
     if (barco.instanciaDelBarco.orientacion == OrientacionBarco.Horizontal)
     {
         for (int i = 0; i < longitudUbicable; i++)
         {
             if (tableroUsuario[barco.instanciaDelBarco.coordenadaDeReferencia.FilaToNum(), barco.instanciaDelBarco.coordenadaDeReferencia.Columna + i])
             {
                 longitudSuperposicion = i;
                 return(true);
             }
         }
     }
     longitudSuperposicion = -1;
     return(false);
 }
예제 #6
0
파일: Program.cs 프로젝트: pmacedo-19/PL_2
        static void Main(string[] args)
        {
            #region Barcos

            Barco b1 = new Barco();
            b1.codBarco = 1;
            b1.nome     = "Skiff";
            b1.data     = DateTime.Today;

            Barcos barcos = new Barcos();
            barcos.fornecedor = "Nelo";
            barcos.RegistaBarco(b1);


            #endregion


            #region ClasseAB

            ClasseA ca = new ClasseA();
            ClasseB cb = new ClasseB();

            //cb.total = 2;


            #endregion

            Console.ReadKey();
        }
예제 #7
0
 /// <summary>
 /// Esteblecer el barco en la posicion actual y actualizar el tablero
 /// </summary>
 /// <param name="barco">El barco a ubicar</param>
 public void ubicarBarco(Barco barco)
 {
     barco.instanciaDelBarco.coordenadasOcupadas = new Coordenada[barco.informacionBarco.Longitud];
     if (barco.instanciaDelBarco.orientacion == OrientacionBarco.Vertical)
     {
         for (int i = 0; i < barco.informacionBarco.Longitud; i++)
         {
             int fila = barco.instanciaDelBarco.coordenadaDeReferencia.FilaToNum() - i;
             tableroUsuario[fila, barco.instanciaDelBarco.coordenadaDeReferencia.Columna] = true;
             barco.instanciaDelBarco.coordenadasOcupadas[i] = new Coordenada(Coordenada.FILAS[fila], barco.instanciaDelBarco.coordenadaDeReferencia.Columna);
         }
     }
     else
     if (barco.instanciaDelBarco.orientacion == OrientacionBarco.Horizontal)
     {
         for (int i = 0; i < barco.informacionBarco.Longitud; i++)
         {
             int columna = barco.instanciaDelBarco.coordenadaDeReferencia.Columna + i;
             tableroUsuario[barco.instanciaDelBarco.coordenadaDeReferencia.FilaToNum(), columna] = true;
             barco.instanciaDelBarco.coordenadasOcupadas[i] = new Coordenada(barco.instanciaDelBarco.coordenadaDeReferencia.Fila, columna);
         }
     }
     informacionDeLaPartida.barcosUsuario.Add(new BarcoEnPartida(barco.informacionBarco.Nombre, barco.informacionBarco.Longitud, barco.instanciaDelBarco));
     pintarZonaDelMar(barco, TipoDePintado.NoSePuedeUbicar, barco.informacionBarco.Longitud);
     barco.ubicado          = true;
     barco.gameObject.layer = LayerMask.NameToLayer("Default");
     this.barcoAUbicar      = null;
 }
예제 #8
0
        public ITransporte ObtenerTransporte(string _cTransporte, DatosConfiguracion _entDatosConfig)
        {
            ITransporte      Transporte;
            MediosTransporte datosMedios;

            switch (_cTransporte)
            {
            case "Marítimo":
                datosMedios = _entDatosConfig.MediosTransporte.Where(w => w.Medio == "Marítimo").FirstOrDefault();
                Transporte  = new Barco(datosMedios.CostoPorKilometro, datosMedios.Velocidad);
                break;

            case "Terrestre":
                datosMedios = _entDatosConfig.MediosTransporte.Where(w => w.Medio == "Terrestre").FirstOrDefault();
                Transporte  = new Tren(datosMedios.CostoPorKilometro, datosMedios.Velocidad);
                break;

            case "Aéreo":
                datosMedios = _entDatosConfig.MediosTransporte.Where(w => w.Medio == "Aéreo").FirstOrDefault();
                Transporte  = new Avion(datosMedios.CostoPorKilometro, datosMedios.Velocidad);
                break;

            default:
                throw new Exception("No existe el transporte solicitado");
            }

            return(Transporte);
        }
예제 #9
0
        static void Main(string[] args)
        {
            Carro c = new Carro();

            c.Ano            = 1980;
            c.QuantidadeRoda = 4;
            c.Nome           = "Fusca";

            c.Acelerar();
            c.Frear();

            Barco b = new Barco();

            b.QuantidadePes = 20;
            b.Nome          = "Titanic";
            b.Ano           = 1909;

            b.Acelerar();
            b.Frear();

            Uber u = new Uber("Godofredo");

            u.Ano            = 2017;
            u.Nome           = "BMW";
            u.QuantidadeRoda = 4;

            u.Acelerar();
            u.Frear();

            //MeioTransporte mt = new MeioTransporte();
            //mt.Nome = "MeioTransporte";
            System.Console.ReadKey();
        }
예제 #10
0
        public void ObtenerMejorOpcion_EnviarCostoDeEnvioAlto_MensajeConDiferenciaDePrecio()
        {
            //Arrange
            string  cResultado = "";
            lEnvios aereo      = new Avion()
            {
                dVelocidadEntrega = 600, dCostoEnvio = 10, cNombre = "Avion"
            };
            lEnvios barco = new Barco()
            {
                dVelocidadEntrega = 46, dCostoEnvio = 1, cNombre = "Barco"
            };
            lEmpresas fedex = new Estafeta(new List <lEnvios>()
            {
                barco
            }, 50, "Fedex");
            lEmpresas dhl = new DHL(new List <lEnvios>()
            {
                aereo, barco
            }, 40, "DHL");
            List <lEmpresas> lstEmpresas = new List <lEmpresas>()
            {
                fedex, dhl
            };
            BuscarMejorOpcion buscarMejorOpcion = new BuscarMejorOpcion();
            DateTime          dtHoy             = Convert.ToDateTime("27-01-2020 12:00:00");
            DateTime          dtEntrega         = Convert.ToDateTime("28-01-2020 12:00:00");

            State.State entPedido = new State.State(new DesactivarState(), "México", "USA", 2500, fedex, barco, dtHoy);
            //Act
            cResultado = buscarMejorOpcion.ObtenerMejorOpcion(lstEmpresas, dhl, entPedido, 5000);
            //Assert
            Assert.AreEqual("Si hubieras pedido en Fedex te hubiera costado 1250.0 mas barato", cResultado);
        }
예제 #11
0
        public void AsignarEmpresa_EnviarListaDeEmpresasQueNoContengaEmpresaSolicitada_EmpresaSolicitadaNoAsignada()
        {
            //Arrange
            AsignarDatosEnvio asignarDatosEnvio = new AsignarDatosEnvio();
            lEnvios           aereo             = new Avion()
            {
                dVelocidadEntrega = 600, dCostoEnvio = 10, cNombre = "Avion"
            };
            lEnvios barco = new Barco()
            {
                dVelocidadEntrega = 46, dCostoEnvio = 1, cNombre = "Barco"
            };
            lEmpresas fedex = new Estafeta(new List <lEnvios>()
            {
                barco
            }, 50, "Fedex");
            lEmpresas dhl = new DHL(new List <lEnvios>()
            {
                aereo, barco
            }, 40, "DHL");
            lEmpresas        empresa     = null;
            List <lEmpresas> lstEmpresas = new List <lEmpresas>()
            {
                fedex, dhl
            };

            //Act
            asignarDatosEnvio.AsignarEmpresa("Estafeta", ref empresa, lstEmpresas);
            //Assert
            Assert.AreEqual(null, empresa);
        }
예제 #12
0
        private void IncluirTransportes()
        {
            Barco barco = new Barco(1, 46);
            Avion avion = new Avion(10, 600);

            _empresa.AgregarTransporte(barco);
            _empresa.AgregarTransporte(avion);
        }
        private void IncluirTransportes()
        {
            Barco barco = new Barco(1, 46);
            Tren  tren  = new Tren(5, 80);

            _empresa.AgregarTransporte(barco);
            _empresa.AgregarTransporte(tren);
        }
예제 #14
0
        public EstatusCalculos CalcularPorBarco()
        {
            Barco barco = new Barco();

            _estatusCalculos.Costo        = barco.CalcularCosto(barco.CostoPorKilometro, _distanciaPedido, MargenUtilidadPorcentaje);
            _estatusCalculos.FechaEntrega = barco.CalcularFechaEntrega(_fechaPedido, barco.CalcularTiempoTrasladoHoras(_distanciaPedido));
            return(_estatusCalculos);
        }
예제 #15
0
        public void Atacar()
        {
            ITablero tablero = new Tablero(10);
            IBarco   barco1  = new Barco(4, 3, 4, 2);

            tablero.ColocarBarco(barco1);

            Assert.Equal(true, tablero.Atacar(3, 7));
        }
예제 #16
0
 public bool RegistaBarcoClube(Barco c)
 {
     //Validações
     if (barcos.ExisteBarco(c.codBarco) == false)
     {
         barcos.RegistaBarco(c);
     }
     return(true);
 }
예제 #17
0
 protected override void InicializarTransporte()
 {
     if (Transporte == null)
     {
         Transporte = new Barco(VelocidadTransporte)
         {
             CostoDistancia = _costoDistancia
         };
     }
 }
예제 #18
0
        public void ColocarBarco()
        {
            ITablero tablero = new Tablero(10);
            IBarco   barco1  = new Barco(3, 1, 2, 1);
            IBarco   barco2  = new Barco(4, 2, 1, 2);

            tablero.ColocarBarco(barco1);

            Assert.Equal(false, tablero.ColocarBarco(barco2));
        }
예제 #19
0
        public void CostoEnvio_ParametrosCero_DebeRegresarCero()
        {
            //Arrange
            Barco barco = new Barco();

            //Act
            //double resultado = barco.CostoEnvio(0, 0, 0);

            //Assert
            //Assert.AreEqual(0, resultado);
        }
예제 #20
0
 void IPointerExitHandler.OnPointerExit(PointerEventData eventData)
 {
     if (gameManager.informacionDeLaPartida.EstadoActual == EstadoDeLaPartida.UbicandoBarcos)
     {
         if (gameManager.barcoAUbicar)
         {
             Barco barco = gameManager.barcoAUbicar;
             gameManager.verificarUbicacionBarco(barco, true);
         }
     }
 }
예제 #21
0
        public void CalcularTiempoTraslado_VelocidadEntregaCero_ExcepcionDivisionCero()
        {
            //Arrange
            decimal dDistancia = 20m;
            var     SUT        = new Barco(new MetodoEnvioDTO {
                dVelocidadEntrega = 0m
            });

            //Assert
            Assert.ThrowsException <DivideByZeroException>(() => SUT.CalcularTiempoTraslado(dDistancia));
        }
예제 #22
0
        //Crear nuevo barco
        //Devuelve el barco creado
        static Barco CrearBarco(int tamaño, int fila, int columna, Barco.Orientacion orientacion)
        {
            Barco barco = new Barco();

            barco.tamaño      = tamaño;
            barco.fila        = fila;
            barco.columna     = columna;
            barco.impactos    = 0;
            barco.orientacion = orientacion;

            return(barco);
        }
 public void pintarBarco(Barco b)
 {
     if (b != null)
     {
         //lock (b)
         //{
         for (int i = 0; i < b.celdasDelBarco.Length; i++)
         {
             celdasTotales[b.celdasDelBarco[i].posX, b.celdasDelBarco[i].posY].cambiarlr(b.celdasDelBarco[i].atacado);
         }
         //}
     }
     //MessageBox.Show("hola debo pintarme"); //falta el servidor
 }
예제 #24
0
        static void Main(string[] args)
        {
            Carro car = new Carro();
            Moto  m   = new Moto();

            Barco b = new Barco();

            car.Modelo = "Ferrari";
            car.Acelerar();
            ExecutaTesteMotor(car);

            // Console.WriteLine("Velocidade: " + car.Velocidade);
            Console.ReadKey();
        }
예제 #25
0
 private void pintarBarcoDispatcher(Barco b)
 {
     //lock (b)
     //{
     for (int i = 0; i < b.celdasDelBarco.Length; i++)
     {
         if (posX == b.celdasDelBarco[i].posX && posY == b.celdasDelBarco[i].posY)
         {
             color = dic[b.celdasDelBarco[i].atacado];
             cambiarColor(color);
         }
     }
     //}
 }
예제 #26
0
        public void ObtenerFechaEntrega_UnDiaEnHorasTiempoTraslado_ObtieneFechaEntregaDiaSiguiente()
        {
            //Arrange
            decimal  dTiempoTraslado   = 24m;
            DateTime dtEntregaEsperada = new DateTime(2020, 01, 27);
            DateTime dtPedido          = new DateTime(2020, 01, 26);
            var      SUT = new Barco(new MetodoEnvioDTO());

            //Act
            DateTime dtEntrega = SUT.ObtenerFechaEntrega(dtPedido, dTiempoTraslado);

            //Assert
            Assert.AreEqual(dtEntregaEsperada, dtEntrega);
        }
예제 #27
0
        public void ObtenerFechaEntrega_ConHorasDosTiempoTraslado_ObtieneFechaEntregaConDosHorasAdicionales()
        {
            //Arrange
            decimal  dTiempoTraslado   = 2m;
            DateTime dtEntregaEsperada = new DateTime(2020, 01, 26, 11, 00, 00);
            DateTime dtPedido          = new DateTime(2020, 01, 26, 09, 00, 00);
            var      SUT = new Barco(new MetodoEnvioDTO());

            //Act
            DateTime dtEntrega = SUT.ObtenerFechaEntrega(dtPedido, dTiempoTraslado);

            //Assert
            Assert.AreEqual(dtEntregaEsperada, dtEntrega);
        }
예제 #28
0
        public void CalcularTiempoTraslado_DistanciaYVelocidadEntregaValidos_ObtieneTiempoTraslado()
        {
            //Arrange
            decimal dResultadoEsperado = 2m;
            decimal dDistancia         = 20m;
            var     SUT = new Barco(new MetodoEnvioDTO {
                dVelocidadEntrega = 10m
            });

            //Act
            decimal dTiempo = SUT.CalcularTiempoTraslado(dDistancia);

            //Assert
            Assert.AreEqual(dResultadoEsperado, dTiempo);
        }
예제 #29
0
        private void verificar(int x, int y)
        {
            Barco barcoTocado = null;

            foreach (Barco item in this.Barcos)
            {
                if (item.validarPunto(x, y) != 0)
                {
                    barcoTocado = item;
                }
            }
            if (barcoTocado != null)
            {
                this.Barcos.Remove(barcoTocado);
            }
        }
예제 #30
0
        public void CalcularCostoEnvio_DistanciaYMargenValidos_ObtieneCosto()
        {
            //Arrange
            decimal dCostoEsperado = 52m;
            decimal dDistancia     = 20m;
            decimal dMargen        = 0.30m;
            var     SUT            = new Barco(new MetodoEnvioDTO {
                dCostoKilometro = 2m
            });

            //Act
            decimal dCosto = SUT.CalcularCostoEnvio(dDistancia, dMargen);

            //Assert
            Assert.AreEqual(dCostoEsperado, dCosto);
        }