private void cargaZona(dynamic item) { var verti = item.Polygono.Split(' '); var codigo = ((string)item.Name).Split('-').LastOrDefault().Trim().Replace(" ", string.Empty).PadLeft(4, '0'); //var vertices = new List<Tuple<double, double>>(); if (codigo == "A600") { codigo = "A600"; } var vertices = new List <Coordenada>(); double lat; double lng; foreach (var vx in verti) { var coord = vx.Split(','); lng = double.Parse(coord[0], CultureInfo.InvariantCulture); lat = double.Parse(coord[1], CultureInfo.InvariantCulture); var coordenada = new Coordenada() { Latitud = lat, Longitud = lng }; vertices.Add(coordenada); //vertices.Add(new Tuple<double, double>(lat, lng)); } if (!this.Zonas.Keys.Any(p => p == codigo)) { this.Zonas.Add(codigo, vertices); } }
// GET: Home public ActionResult Index() { //coordenadas quaisquer para mostrar o mapa var coordenadas = new Coordenada("São Paulo", "-23.64340873969638", "-46.730219057147224"); return(View(coordenadas)); }
/// <summary> /// Método que evalúa si una línea de comando "UPDATE" es válido para la clase. /// </summary> /// <param name="lineaComando">Línea de comando a evaluar.</param> /// <returns>Valor que indica si es válido o no.</returns> private bool LineaComandoValido(string lineaComando) { bool esValido = false; this.coordenada = new Coordenada(); this.contenido = 0; if (Regex.IsMatch(lineaComando, regexUpdate)) { string[] comandoQuery = lineaComando.Split(' '); int[] coordenadas = comandoQuery.Skip(1).Select(c => int.Parse(c)).ToArray(); if (coordenadas.Take(3).All(c => Topes.MagnitudMinima <= c && c <= Topes.MagnitudMaxima)) { int wContenido = coordenadas.Last(); if (Topes.ContenidoMinimo <= wContenido && wContenido <= Topes.ContenidoMaximo) { this.coordenada = new Coordenada(coordenadas[0], coordenadas[1], coordenadas[2]); this.contenido = wContenido; esValido = true; } } } return(esValido); }
private void Poner_Segundo_Numero(int numero, Coordenada punto_insercion) { //Comprobamos en que posiciones podemos colocar el primer número Coordenada arriba = new Coordenada(punto_insercion.X, punto_insercion.Y - 1); Coordenada abajo = new Coordenada(punto_insercion.X, punto_insercion.Y + 1); Coordenada izquierda = new Coordenada(punto_insercion.X - 1, punto_insercion.Y); Coordenada derecha = new Coordenada(punto_insercion.X + 1, punto_insercion.Y); int ocupadas_arriba = Comprobar_Celdas_Colindantes_Si0(arriba); int ocupadas_abajo = Comprobar_Celdas_Colindantes_Si0(abajo); int ocupadas_izquierda = Comprobar_Celdas_Colindantes_Si0(izquierda); int ocupadas_derecha = Comprobar_Celdas_Colindantes_Si0(derecha); if (ocupadas_arriba <= 1) { dataGridView1.Rows[arriba.Y].Cells[arriba.X].Value = "*"; } if (ocupadas_abajo <= 1) { dataGridView1.Rows[abajo.Y].Cells[abajo.X].Value = "*"; } if (ocupadas_izquierda <= 1) { dataGridView1.Rows[izquierda.Y].Cells[izquierda.X].Value = "*"; } if (ocupadas_derecha <= 1) { dataGridView1.Rows[derecha.Y].Cells[derecha.X].Value = "*"; } pon_este = numero; }
internal override List <Coordenada> rangoAtaque(Coordenada coor) { List <Coordenada> tmp = new List <Coordenada>(); switch (ladoAtaca) { case ConstructorTablero.LadoTablero.izquierda: for (int i = 1; i <= numeroEspaciosAtaque; i++) { if (coor.X - i < 0 || Tablero[coor.X - i, coor.Y].TipoDelSuelo.EsObstaculo) { break; } tmp.Add(new Coordenada(coor.X - i, coor.Y)); } break; case ConstructorTablero.LadoTablero.derecha: for (int i = 1; i <= numeroEspaciosAtaque; i++) { if (coor.X + i >= ConstructorTablero.X || Tablero[coor.X + i, coor.Y].TipoDelSuelo.EsObstaculo) { break; } tmp.Add(new Coordenada(coor.X + i, coor.Y)); } break; } return(tmp); }
public IHttpActionResult PutCoordenada(int id, Coordenada coordenada) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != coordenada.Id) { return(BadRequest()); } db.Entry(coordenada).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CoordenadaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void BuildMap(Coordenada coord) { var position = new Position(Double.Parse(coord.Latitude), Double.Parse(coord.Longitude)); var pin = new Pin { Type = PinType.Place, Position = position, Label = "custom pin", Address = "custom detail info" }; var map = new Map( MapSpan.FromCenterAndRadius( new Position(Double.Parse(coord.Latitude), Double.Parse(coord.Longitude)), Distance.FromMiles(0.3))) { IsShowingUser = true, HeightRequest = 100, WidthRequest = 960, VerticalOptions = LayoutOptions.FillAndExpand }; map.Pins.Add(pin); var stack = new StackLayout { Spacing = 0 }; stack.Children.Add(map); Content = stack; }
public async Task <ActionResult <Coordenada> > Post( [FromBody] Coordenada model) { if (ModelState.IsValid) { try { Context.Coordenadas.Add(model); await Context.SaveChangesAsync(); return(model); } catch (System.Exception) { Context.Update(model); await Context.SaveChangesAsync(); return(model); } } else { return(BadRequest(ModelState.IsValid)); } }
public ActionResult query([FromBody] Payload payload) { int sumatoria = 0; Coordenada c1 = new Coordenada { x = payload.x1, y = payload.y1, z = payload.z1 }; Coordenada c2 = new Coordenada { x = payload.x2, y = payload.y2, z = payload.z2 }; Cubo cubo = new Cubo(payload.registro); sumatoria = cubo.query(c1, c2); object respuesta = new { sumatoria = sumatoria, mensaje = cubo.registro.mensaje }; return(Ok(respuesta)); }
public void InserirCoordenada(Coordenada coordenada) { coordenada.CodCoordenada = _conn.QueryScalar <int>(@"DECLARE @CodCoordenada AS INT = 0 SELECT TOP 1 @CodCoordenada = CodCoordenada FROM Coordenada WHERE Esquerda = @Esquerda AND Topo = @Topo AND Largura = @Largura AND Altura = @Altura IF @CodCoordenada > 0 BEGIN SELECT @CodCoordenada FROM Coordenada END ELSE BEGIN INSERT INTO Coordenada(Esquerda,Topo,Largura,Altura) VALUES (@Esquerda,@Topo,@Largura,@Altura) SELECT SCOPE_IDENTITY() AS CodCoordenada END" , new { coordenada.Esquerda, coordenada.Topo, coordenada.Largura, coordenada.Altura }); }
public async Task <ActionResult <Coordenada> > GetEspecifico( [FromBody] Coordenada model) { var RCoordenadas = Context.Coordenadas.FirstOrDefault(x => x.Email == model.Email); return(RCoordenadas); }
internal void getMessage(string mensaje) { string[] submensaje = mensaje.Split(';'); string[] coordenadas; Coordenada coor; switch (submensaje[0]) { case "0": // Recibe los 5 personajes string[] personajes = submensaje[1].Split(','); form1.PersonajesRemotos = personajes; break; case "1": // Recibe el nombre del tablero form1.NombreTablero = submensaje[1]; break; case "2": // Recibe accion coordenadas = submensaje[1].Split(','); coor = new Coordenada(int.Parse(coordenadas[0]), int.Parse(coordenadas[1])); form1.Juego.formClickRemoto(coor, coordenadas[2]); break; case "3": // Recibe un movimiento coordenadas = submensaje[1].Split(','); coor = new Coordenada(int.Parse(coordenadas[0]), int.Parse(coordenadas[1])); form1.Juego.formClickRemoto(coor, string.Empty); break; case "4": // Recibe un ataque simple coordenadas = submensaje[1].Split(','); coor = new Coordenada(int.Parse(coordenadas[0]), int.Parse(coordenadas[1])); form1.Juego.formClickRemoto(coor, string.Empty); // <-- lleva el lado del jugador que ataco break; case "5": // Recibe un ataque completo coordenadas = submensaje[1].Split(','); coor = new Coordenada(int.Parse(coordenadas[0]), int.Parse(coordenadas[1])); form1.Juego.modoBatallaCompletoRemoto(coor); // <-- lleva el lado del juegador que ataco break; case "6": // Recibe un cancelado form1.Juego.formDoubleClickRemoto(); break; case "7": // Recibe Cambio de turno form1.Juego.cambiarTurno(); break; case "8": // Recibe las coordenas del click coordenadas = submensaje[1].Split(','); coor = new Coordenada(int.Parse(coordenadas[0]), int.Parse(coordenadas[1])); form1.Juego.seleccionarPersonaje(coor); break; case "9": // Recibe cancelado de Modo Batalla Completo form1.Juego.salirModoBatallaCompleto(); break; } }
//Metodo que verifica si el personaje que esta atacando entrara al modo batalla completo private bool siEntraModoBatallaCompleta(Coordenada coorAtacante, Coordenada coorVictima) { bool comp1 = comprobarRango(coorVictima, tablero[coorAtacante.X, coorAtacante.Y].Personaje.rangoAtaque(coorAtacante)); bool comp2 = comprobarRango(coorAtacante, tablero[coorVictima.X, coorVictima.Y].Personaje.rangoAtaque(coorVictima)); return(comp1 && comp2); }
public void ObterCoordenadaDoPontoSuperiorDireitoDaMalhaDoPlanalto(string linha) { var caracteres = ObterCaracteresSeparadosPorEspaco(linha); if (caracteres.Length <= 1) { throw new IndexOutOfRangeException($"Mensagem inválida, coordenada do ponto superior-direito da malha do planalto só contém {caracteres.Length} caracter(s)."); } int[] numeros = new int[2]; int contador = 0; foreach (var item in caracteres) { int numero = 0; if (!ENumero(item, out numero)) { throw new ArithmeticException("Mensagem inválida, coordenada do ponto superior-direito da malha do planalto não contém valores númericos."); } numeros[contador] = numero; contador++; } coordenada = new Coordenada(numeros[0], numeros[1]); }
private void marcarCasilla(Coordenada coordenada) { tablero = gato.turno(coordenada.x, coordenada.y, tablero); marcarCasillaOponente(); determinarGanador(); }
private void Watcher_PositionChanged(object sender, GeoPositionChangedEventArgs <GeoCoordinate> e) { Coordenada?.Invoke(this, new CoordenadasEventArgs() { Coordenadas = new Point3D(e.Position.Location.Longitude, e.Position.Location.Latitude, e.Position.Location.Altitude) }); }
public async Task <IActionResult> PutCoordenada(int id, Coordenada coordenada) { if (id != coordenada.ruta) { return(BadRequest()); } _context.Entry(coordenada).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CoordenadaExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private void moverCursor(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.NumPad8: case Keys.NumPad2: case Keys.NumPad4: case Keys.NumPad6: Coordenada target = seleccionado; switch (e.KeyCode) { case Keys.NumPad8: target.Y--; break; case Keys.NumPad2: target.Y++; break; case Keys.NumPad4: target.X--; break; case Keys.NumPad6: target.X++; break; } e.Handled = true; casillas[target]?.Select(); break; } }
/// <summary> /// Obetener el barco golpeado por un disparo /// </summary> /// <param name="coordenada">La cordenada del disparo</param> /// <returns>El barco golpeado</returns> private BarcoEnPartida getBarcoGolpeado(Coordenada coordenada) { if (turnoDelUsuario) { for (int i = 0; i < informacionDeLaPartida.barcosIA.Count; i++) { BarcoEnPartida barco = informacionDeLaPartida.barcosIA[i]; for (int j = 0; j < barco.infoInstancia.coordenadasOcupadas.Length; j++) { //SI este es el barco que golpeamos if (barco.infoInstancia.coordenadasOcupadas[j].Equals(coordenada)) { return(barco); } } } } else { for (int i = 0; i < informacionDeLaPartida.barcosUsuario.Count; i++) { BarcoEnPartida barco = informacionDeLaPartida.barcosUsuario[i]; for (int j = 0; j < barco.infoInstancia.coordenadasOcupadas.Length; j++) { if (barco.infoInstancia.coordenadasOcupadas[j].Equals(coordenada)) { return(barco); } } } } return(null); }
public void resultadoMovimiento(Coordenada mov, int resultado) { ultimoResultado = resultado; cant_movimientos++; switch (resultado) { case 0: cant_agua++; break; case 1: cant_aciertos++; if (ultMovAcertado == null) { primerMov = mov; } ultMovAcertado = mov; ultimo_desplazamiento_acertado = ultimo_desplazamiento; ultimo_desplazamiento = 0; break; case 2: cant_aciertos++; ultMovAcertado = null; primerMov = null; ultimo_desplazamiento = 0; ultimo_desplazamiento_acertado = 0; break; case -1: cant_repetidos++; break; } }
private int Comprobar_Celdas_Colindantes_Si0(Coordenada punto) { Coordenada arriba = new Coordenada(punto.X, punto.Y - 1); Coordenada abajo = new Coordenada(punto.X, punto.Y + 1); Coordenada izquierda = new Coordenada(punto.X - 1, punto.Y); Coordenada derecha = new Coordenada(punto.X + 1, punto.Y); int ocupada = 0; if (Convert.ToInt32(dataGridView1.Rows[arriba.Y].Cells[arriba.X].Value) != 0) { ocupada++; } if (Convert.ToInt32(dataGridView1.Rows[abajo.Y].Cells[abajo.X].Value) != 0) { ocupada++; } if (Convert.ToInt32(dataGridView1.Rows[izquierda.Y].Cells[izquierda.X].Value) != 0) { ocupada++; } if (Convert.ToInt32(dataGridView1.Rows[derecha.Y].Cells[derecha.X].Value) != 0) { ocupada++; } return(ocupada); }
public Raqueta(IEnumerable <IElemento> entorno, Coordenada posicion, Dimension dimension, Coordenada velocidad) : base(dimension, posicion, velocidad) { this.entorno = entorno; this.Goles = 0; this.seccion = Dimension.Altura / 3; }
public void ObterCoordenadaDoPontoSuperiorDireitoDaMalhaDoPlanalto(string linha) { var caracteres = ObterCaracteresSeparadosPorEspaco(linha); if (caracteres.Length <= 1) { especificacaoDeNegocio.Adicionar(new RegraDeNegocio($"Mensagem inválida, coordenada do ponto superior-direito da malha do planalto só contém {caracteres.Length} caracter(s).")); return; } int[] numeros = new int[2]; int contador = 0; foreach (var item in caracteres) { int numero = 0; if (!ENumero(item, out numero)) { especificacaoDeNegocio.Adicionar(new RegraDeNegocio("Mensagem inválida, coordenada do ponto superior-direito da malha do planalto não contém valores númericos.")); break; } numeros[contador] = numero; contador++; } if (!especificacaoDeNegocio.HouveViolacao()) { coordenada = new Coordenada(numeros[0], numeros[1]); } }
public void CompruebaDistancia() { Coordenada cnds2 = new Coordenada(); double latx1 = -2.133674; double lngy1 = -79.865877; double latx2 = -2.132447; double lngy2 = -79.863426; Cnds.SetCoordenada(latx1, lngy1, "", ""); cnds2.SetCoordenada(latx2, lngy2, "", ""); //Formula: Raiz((X2-X1)^2 + (Y2-Y1)^2) double resultado = Math.Sqrt(Math.Pow((latx2 - latx1), 2) + (Math.Pow((lngy2 - lngy1), 2))); Assert.AreEqual(resultado, Cnds.ObtenerDistancia(cnds2)); //Formula: Raiz((X2-X1)^2 + (Y2-Y1)^2) double x1 = Cnds.LatitudAMetros(latx1); double x2 = Cnds.LatitudAMetros(latx2); double y1 = Cnds.LongitudAMetros(lngy1); double y2 = Cnds.LongitudAMetros(lngy2); double metros = Math.Sqrt(Math.Pow((x2 - x1), 2) + (Math.Pow((y2 - y1), 2))); Assert.AreEqual(metros, Cnds.ObtenerDistanciaMetros(cnds2)); Assert.IsTrue(Cnds.ObtenerDistanciaMetros(cnds2) > 0); //Assert.AreEqual(303.96, Cnds.ObtenerDistanciaMetros(cnds2)); }
public async Task <ActionResult> AddorEdit(Zona zona) { if (zona.Id == 0) { Zona z = await zonasService.adicionarZona(zona); if (zona.Coordenadas != null) { JavaScriptSerializer js = new JavaScriptSerializer(); string valor = zona.Coordenadas; Coordenada_dto[] puntos = js.Deserialize <Coordenada_dto[]>(valor); foreach (var p in puntos) { Coordenada c = new Coordenada(); c.Latitud = p.lat; c.Longitud = p.lng; c.ZonaId = z.Id; await coordenadasService.adicionarCoordenada(c); } } TempData["SuccessMessage"] = "Saved Successfully"; } else { await zonasService.modificarZona(zona.Id, zona); TempData["SuccessMessage"] = "Updated Successfully"; } return(RedirectToAction("Index")); }
public ActionResult SalvarCoordenadas(Coordenada coordenada) { MvcUser user = (MvcUser)System.Web.HttpContext.Current.User; BLLResponse <Coordenada> response = new CoordenadasBLL().SalvarCoordenadas(coordenada, user.ID); return(Json(new { sucesso = response.Sucesso, mensagem = response.Mensagem })); }
private Coordenada ObterCoordenadasDaLocalizacao(string endereco) { try { string url = $"https://maps.googleapis.com/maps/api/geocode/json?address={endereco}"; Debug.WriteLine(url); var coord = new Coordenada("Não Localizado", "-10", "-10"); var response = new WebClient().DownloadString(url); var googleGeocode = JsonConvert.DeserializeObject <GoogleGeocodeResponse>(response); //Debug.WriteLine(googleGeocode); if (googleGeocode.status == "OK") { coord.Nome = googleGeocode.results[0].formatted_address; coord.Latitude = googleGeocode.results[0].geometry.location.lat; coord.Longitude = googleGeocode.results[0].geometry.location.lng; } return(coord); } catch (Exception e) { throw e; } }
private List <Coordenada> getVizinhos(Coordenada p) { List <Coordenada> retorno = new List <Coordenada>(); int xi = p.getX(); int zi = p.getZ(); /*print(message: " X+1 -> " + (xi + 1) + "," + zi + * " X-1 -> " + (xi - 1) + "," + zi + * " z+1 -> " + xi + "," + (zi + 1 ) + * " z-1 -> " + (xi) + "," + (zi - 1) * );*/ if ((xi + 1 < tamX) && ((mundo[zi][xi + 1] < limiteCalor))) { //print(message: "x+1 -> " + (xi+1) + "," + zi); if (!jaFoi(xi + 1, zi)) { Coordenada nova1 = new Coordenada(xi + 1, zi); nova1.setPai(p); retorno.Add(nova1); } } if ((zi + 1 < tamX) && (mundo[zi + 1][xi] < limiteCalor)) { //print(message: "Z+1 -> " + xi + "," + (zi + 1)); if (!jaFoi(xi, zi + 1)) { Coordenada nova2 = new Coordenada(xi, zi + 1); nova2.setPai(p); retorno.Add(nova2); } } if ((zi - 1 > -1) && (mundo[zi - 1][xi] < limiteCalor)) { //print(message: "Z-1 -> " + xi + "," + (zi - 1)); if (!jaFoi(xi, zi - 1)) { //print(message: "Z-1 -> " + xi + "," + (zi - 1)); Coordenada nova3 = new Coordenada(xi, zi - 1); nova3.setPai(p); retorno.Add(nova3); } } if ((xi - 1 > -1) && (mundo[zi][xi - 1] < limiteCalor)) { //print(message: "X-1 -> " + (xi-1) + "," + zi); if (!jaFoi(xi - 1, zi)) { //print(message: "X-1 -> " + (xi - 1) + "," + zi); Coordenada nova4 = new Coordenada(xi - 1, zi); nova4.setPai(p); retorno.Add(nova4); } } return(retorno); }
private bool VerificarCoordenada(Coordenada coordenada, string prefixo) { CoordenadaMsg msg = new CoordenadaMsg(prefixo); if (coordenada.LocalColeta.GetValueOrDefault() <= 0) { Validacao.Add(msg.LocalColetaObrigatorio); } if (coordenada.FormaColeta.GetValueOrDefault() <= 0) { Validacao.Add(msg.FormaColetaObrigatorio); } CoordenadaBus.Validar(coordenada, prefixo, true); if (!Validacao.EhValido) { return(false); } if (_da.PontoForaMBR(coordenada.EastingUtm.GetValueOrDefault(), coordenada.NorthingUtm.GetValueOrDefault())) { Validacao.Add(Mensagem.Sistema.CoordenadaForaMBR); return(false); } return(Validacao.EhValido); }
/// <summary> /// Método que evalúa si una línea de comando "QUERY" es válido para la clase. /// </summary> /// <param name="lineaComando">Línea de comando a evaluar.</param> /// <returns>Valor que indica si es válido o no.</returns> private bool LineaComandoValido(string lineaComando) { bool esValido = false; this.bloqueInicio = new Coordenada(); this.bloqueFin = new Coordenada(); if (Regex.IsMatch(lineaComando, regexQuery)) { string[] comandoQuery = lineaComando.Split(' '); int[] coordenadas = comandoQuery.Skip(1).Select(c => int.Parse(c)).ToArray(); if (coordenadas.All(c => Topes.MagnitudMinima <= c && c <= Topes.MagnitudMaxima)) { if (coordenadas[0] <= coordenadas[3] && coordenadas[1] <= coordenadas[4] && coordenadas[2] <= coordenadas[5]) { this.bloqueInicio = new Coordenada(coordenadas[0], coordenadas[1], coordenadas[2]); this.bloqueFin = new Coordenada(coordenadas[3], coordenadas[4], coordenadas[5]); esValido = true; } } } return(esValido); }