コード例 #1
0
ファイル: Juego.aspx.cs プロジェクト: Orbp1403/EDD_201220165
        protected void Button2_Click(object sender, EventArgs e)
        {
            if (TextBox7.Text.Length > 0 && TextBox8.Text.Length > 0 && TextBox9.Text.Length > 0 && TextBox10.Text.Length > 0 && TextBox11.Text.Length > 0 && TextBox12.Text.Length > 0)
            {
                ServiceReference1.WebServiceProyectoSoapClient sr = new ServiceReference1.WebServiceProyectoSoapClient();
                if (sr.EsMiTurno(Session["Nombre"].ToString()))
                {
                    string idnave        = TextBox7.Text.ToString();
                    int    filainicio    = int.Parse(TextBox8.Text.ToString());
                    char   columnainicio = char.Parse(TextBox9.Text.ToString());
                    int    filafinal     = int.Parse(TextBox10.Text.ToString());
                    char   columnafinal  = char.Parse(TextBox11.Text.ToString());
                    int    nivelfinal    = int.Parse(TextBox12.Text.ToString());
                    int    nivel         = 0;
                    if (idnave.Contains("Submarino"))
                    {
                        nivel = 0;
                    }
                    else if (idnave.Contains("Crucero") || idnave.Contains("Fragata"))
                    {
                        nivel = 1;
                    }
                    else if (idnave.Contains("Bombardero") || idnave.Contains("Caza") || idnave.Contains("Helicoptero"))
                    {
                        nivel = 2;
                    }
                    else if (idnave.Contains("Neosatelite"))
                    {
                        nivel = 3;
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('No existe ese tipo de nave');", true);
                    }

                    if (sr.ExistePieza(nivel, columnainicio, filainicio, idnave, Session["Nombre"].ToString()))
                    {
                        if (sr.ExisteNodoMov(nivelfinal, columnafinal, filafinal))
                        {
                            if (sr.ValidarAtaque(idnave, nivel, filainicio, columnainicio, nivelfinal, filafinal, columnafinal))
                            {
                                if (sr.Atacar(nivel, filainicio, columnainicio, nivelfinal, filafinal, columnafinal))
                                {
                                    sr.Llamadaagraficar("tiu," + Session["Nombre"].ToString(), "C:\\Reportes\\");
                                    string pathdestino    = Server.MapPath("/images/");
                                    string pathob         = @"C:\\Reportes";
                                    string archivofuente  = System.IO.Path.Combine(pathob, "tableroinicial" + Session["Nombre"].ToString() + ".jpg");
                                    string archivodestino = System.IO.Path.Combine(pathdestino, "tableroinicial" + Session["Nombre"].ToString() + ".jpg");
                                    System.IO.File.Copy(archivofuente, archivodestino, true);
                                    TableroNivel0.ImageUrl = "/images/tableroinicial" + Session["Nombre"].ToString() + ".jpg";
                                    TextBox7.Text          = TextBox8.Text = TextBox9.Text = TextBox10.Text = TextBox11.Text = TextBox12.Text = "";
                                    string consola = TextArea1.Value.ToString();
                                    sr.SetConsola("Unidad: " + idnave + " ataco desde fila: " + filainicio + " y columna: " + columnainicio + " a la Unidad: " + idnave + " que esta en fila: " + filafinal + " y columna: " + columnafinal + "\n");
                                    TextArea1.Value = "";
                                    TextArea1.Value = sr.GetConsola();
                                    if (sr.GetTipoJuego() == 1 || sr.GetTipoJuego() == 3)
                                    {
                                        string ganador = sr.ObtenerGanador(Session["Nombre"].ToString());
                                        if (ganador.Length > 0)
                                        {
                                            ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('El ganador fue " + Session["Nombre"] + "');", true);
                                            sr.FinalizarPartida(sr.GetUsuario1() + "vs." + sr.GetUsuario2());
                                            Response.Redirect("Inicio.aspx");
                                        }
                                    }
                                }
                                else if (sr.Atacardondenohaynada(nivel, filainicio, columnainicio, nivelfinal, filafinal, columnafinal))
                                {
                                    TextBox7.Text = TextBox8.Text = TextBox9.Text = TextBox10.Text = TextBox11.Text = TextBox12.Text = "";
                                    string consola = TextArea1.Value.ToString();
                                    sr.SetConsola("Unidad: " + idnave + " ataco desde fila: " + filainicio + " y columna: " + columnainicio + " a la fila: " + filafinal + " y columna: " + columnafinal + " pero no se encuentra ninguna unidad en esa posicion.\n");
                                    TextArea1.Value = "";
                                    TextArea1.Value = sr.GetConsola();
                                }
                                else
                                {
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La unidad con la que desea atacar no puede atacar');", true);
                                }
                            }
                            else
                            {
                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('No se puede atacar en esa posicion con la nave ingresada');", true);
                            }
                        }
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('No existe una nave con ese nombre en la posicion inidcada');", true);
                    }
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('No es su turno, por favor espere');", true);
                }
            }
        }