void MedirDistancia() { peticion.Text = "Selecciona planeta de origen..."; Planeta p1 = ObtenerPlanetaPulsado(); DeNuevo: peticion.Text = "Selecciona planeta de destino..."; Planeta p2 = ObtenerPlanetaPulsado(); if (p2 == p1) { goto DeNuevo; } if (p1 == null || p2 == null) { return; } double distancia = Cliente.CalcularDistancia(p1, p2); MessageBox.Show("La distancia de ambos planetas es de " + distancia + " años luz.\r\n\r\nUna flota enviada en este turno, llegaría en el turno " + (numeroRondaActual + (int)Math.Round(distancia)) + ".", "Distancia", MessageBoxButtons.OK); this.Invoke(new EventHandler(EnviarFlota), new object[] { null, null }); //Enviar ataque }
void SimularBatalla() { peticion.Text = "Selecciona planeta de origen..."; Planeta p1 = ObtenerPlanetaPulsado(); DeNuevo: peticion.Text = "Selecciona planeta de destino..."; Planeta p2 = ObtenerPlanetaPulsado(); if (p2 == p1) { goto DeNuevo; } if (Clientes.Count == 1) { this.Invoke(new DelegadoSimularBatalla(simularBatalla), new object[] { p1, p2, Clientes[0] }); } else if (clienteActual != null) { this.Invoke(new DelegadoSimularBatalla(simularBatalla), new object[] { p1, p2, clienteActual }); } this.Invoke(new EventHandler(EnviarFlota), new object[] { null, null }); //Enviar ataque }
private Planeta ObtenerPlanetaPulsado() { PlanetaPulsado = null; Esperar = new AutoResetEvent(false); Esperar.WaitOne(); return(PlanetaPulsado); }
private void ClicPlaneta(Mapa mapa, Planeta planeta) { PlanetaPulsado = planeta; if (Esperar != null) { Esperar.Set(); } }
private void SobrePlaneta(Mapa mapa, Planeta planeta) { imagenPlaneta.Image = planeta.Imagen; Info.Text = string.Format("Nombre del planeta: {0}\r\nLocalizazión: {1}", planeta.Name, planeta.Localizacion); if (planeta.Dueño != null) { Info.Text += string.Format("\r\nDueño: {1}\r\nNaves: {2}\r\nProducción: {3}\r\nTecnología militar: {4}" , planeta.Name, planeta.Dueño.Nombre, planeta.Naves, planeta.Produccion, planeta.TecnologiaMilitar); } }
private void EnviarFlota() { bCancelarHerramienta.Visible = true; otroPlaneta: peticion.Text = "Selecciona planeta de origen de la flota..."; Planeta origen = ObtenerPlanetaPulsado(); if (origen.Dueño != clienteActual) { goto otroPlaneta; } DeNuevo: peticion.Text = "Selecciona planeta de destino..."; Planeta destino = ObtenerPlanetaPulsado(); if (origen == destino) { goto DeNuevo; } peticion.Text = "Número de naves"; int naves = ObtenerNumeroIntroducido(); if (origen.Naves >= naves) { clienteActual.EnviarFlota(origen, destino, naves, numeroRondaActual); } else { if (MessageBox.Show( "No hay suficientes naves en el planeta.\r\n\r\n¿Enviar todas las naves que quedan? (" + origen.Naves + " naves)", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { clienteActual.EnviarFlota(origen, destino, origen.Naves, numeroRondaActual); } } mapa.Refresh(); this.Invoke(new EventHandler(EnviarFlota), new object[] { null, null }); //Enviar ataque }
private void simularBatalla(Planeta p1, Planeta p2, Cliente jugador) { SimularBatalla bat = new SimularBatalla(p1, p2, clienteActual); bat.Show(); }
private void FueraPlaneta(Mapa mapa, Planeta planeta) { imagenPlaneta.Image = null; Info.Text = string.Empty; }