Advertisement
Guest User

Form 1

a guest
Feb 4th, 2017
594
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 33.65 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace ProyectoGW2
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         int numPuntos = 40;
  16.         int numTiradas = 3;
  17.         decimal valorAnterior;
  18.         public Form1()
  19.         {
  20.             InitializeComponent();
  21.         }
  22.  
  23.         private void lblSexo_Click(object sender, EventArgs e)
  24.         {
  25.  
  26.         }
  27.  
  28.         private void groupBox1_Enter(object sender, EventArgs e)
  29.         {
  30.  
  31.         }
  32.  
  33.         private void Form1_Load(object sender, EventArgs e)
  34.         {
  35.             //Desabilitamos los sexos y los demás combos
  36.             comboProfesion.Enabled = false;
  37.             comboEspecialidad.Enabled = false;
  38.             rbSexoMasculino.Enabled = false;
  39.             rbSexoFemenino.Enabled = false;
  40.             //Ponemos la propiedad del richbox
  41.             rtbDescripcion.SelectionAlignment = HorizontalAlignment.Center;
  42.             rtbDescripcion.Visible = false;
  43.             imgEspecialidad.Visible = false;
  44.             //txtDescripcionRaza.Text = "Aunque pequeños de estatura, estos inventores mágicos son gigantes intelectuales. Los asura son seres asombrosamente inteligentes que aprovechan su conocimiento y habilidad con la magia y la artesanía para defender su dominio natural. En su mundo, no son los fuertes los que sobreviven sino los inteligentes. Otras razas creen que deberían gobernar por su poder y fuerza, pero se engañan. Todos servirán a los asura... en su debido momento.";
  45.             //ponemos los puntos a gastar
  46.             //lblGasto.Text = numPuntos.ToString();
  47.             numbVida.Enabled = false;
  48.             numbAD.Enabled = false;
  49.             numbDef.Enabled = false;
  50.             numbSpeed.Enabled = false;
  51.             numbRegen.Enabled = false;
  52.             numbMana.Enabled = false;
  53.             btnTirar.Enabled = false;
  54.         }
  55.         //al cerrar el formulario
  56.         private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  57.         {
  58.             DialogResult dialogResult = MessageBox.Show("Do You Want To Save Your Data", "CodeJuggler", MessageBoxButtons.YesNo);
  59.             if (dialogResult == DialogResult.Yes)
  60.             {
  61.                 Personaje personaje = new Personaje(obtenerNombre(), recogerSexo(), recogerRaza(), obtenerProfesion(), obtenerEspecialidad());
  62.            
  63.                 personaje.onCloseForm();
  64.             }
  65.         }
  66.         private void comboProfesion_SelectedIndexChanged(object sender, EventArgs e)
  67.         {
  68.             rtbDescripcion.Visible = true;
  69.             //limpiamos los combos
  70.             comboEspecialidad.Items.Clear();
  71.             comboEspecialidad.Text = " ";
  72.             //Según lo que hayamos seleccionado en el combo de profesión, rellenamos el de especialidades.
  73.             String seleccionProfesion = comboProfesion.SelectedItem.ToString();
  74.             rellenarCombo(comboEspecialidad, seleccionProfesion);
  75.             //llamamos a la función de cargar imágenes.
  76.             cargarImagenes(recogerRaza(), recogerProfesion(), recogerEspecialidad(), recogerSexo());
  77.         }
  78.         //Función para rellenar el combobox que pasamos por parámetro en función de la selección de otro.
  79.         private void rellenarCombo(ComboBox comboBox, String itemSeleccionado)
  80.         {
  81.             //borramos lo que hubiera
  82.             comboBox.Items.Clear();
  83.             //Según la profesión añadimos la especialidad
  84.             switch (itemSeleccionado)
  85.             {
  86.                 case "Soldado":
  87.                     comboBox.Items.Add("Guardián");
  88.                     comboBox.Items.Add("Guerrero");
  89.                     //comboBox.Items.Add("Retornado");
  90.                     break;
  91.                 case "Aventurero":
  92.                     comboBox.Items.Add("Ingeniero");
  93.                     comboBox.Items.Add("Guardabosques");
  94.                     comboBox.Items.Add("Ladrón");
  95.                     break;
  96.                 case "Erudito":
  97.                     comboBox.Items.Add("Elementarista");
  98.                     comboBox.Items.Add("Hipnotizador");
  99.                     comboBox.Items.Add("Nigromante");
  100.                     break;
  101.             }
  102.         }
  103.         private void cargarDescripcion(RichTextBox rtb, String seleccion)
  104.         {
  105.             //Según lo que pasemos por parámetro seleccionamos una cosa u otra
  106.             switch (seleccion)
  107.             {
  108.                 case "Asura":
  109.                     rtb.Text = "Aunque pequeños de estatura, estos inventores mágicos son gigantes intelectuales. Los asura son seres asombrosamente inteligentes que aprovechan su conocimiento y habilidad con la magia y la artesanía para defender su dominio natural. En su mundo, no son los fuertes los que sobreviven sino los inteligentes. Otras razas creen que deberían gobernar por su poder y fuerza, pero se engañan. Todos servirán a los asura... en su debido momento.";
  110.                     break;
  111.                 case "Charr":
  112.                     rtb.Text = "La raza charr se forjó en el despiadado crisol de la guerra. Eso es todo lo que saben. La guerra los define, y su búsqueda del dominio los lleva siempre hacia delante. Los débiles y los necios no tienen cabida entre los charr. La victoria es lo único que importa, y hay que conseguirla cueste lo que cueste.";
  113.                     break;
  114.                 case "Humano":
  115.                     rtb.Text = "Los humanos han perdido su patria, su seguridad y su antigua gloria. Incluso sus dioses se han retirado. Pero aun así, el espíritu humano sigue siendo inquebrantable. Estos valientes defensores de Kryta siguen luchando con todas sus fuerzas.";
  116.                     break;
  117.                 case "Norn":
  118.                     rtb.Text = "Esta imponente raza de cazadores sufrió una gran derrota cuando el dragón de hielo los expulsó de su gélida patria. Pero a pesar de esto, no permitirán que una batalla perdida, por dura que sea, empañe su afán por la vida y la caza. Son conscientes de que solo el vencedor final recibirá recompensas legendarias.";
  119.                     break;
  120.                 case "Sylvari":
  121.                     rtb.Text = "Los sylvari no nacen. Se despiertan bajo la Planta Pálida con los conocimientos obtenidos en el Sueño de una vida pasada. Estos nobles seres viajan en busca de aventuras y descubrimientos. Luchan por equilibrar la curiosidad con el deber, el entusiasmo con la caballería y la guerra con el honor. La magia y el misterio se entrelazan para dar forma al futuro de esta raza de reciente aparición.";
  122.                     break;
  123.             }
  124.  
  125.  
  126.         }
  127.         private void cargarDatosEspecialidad(RichTextBox rtb, String seleccion)
  128.         {
  129.             //Según lo que pasemos por parámetro seleccionamos una cosa u otra
  130.             switch (seleccion)
  131.             {
  132.                 case "Guardián":
  133.                     rtb.Text = "Los guardianes son luchadores comprometidos que protegen a sus aliados y atacan a sus enemigos utilizando el poder de sus virtudes. Los auténticos guardianes son brillantes estrategas y defensores altruistas que saben potenciar a sus aliados para alcanzar la victoria.";
  134.                     break;
  135.                 case "Guerrero":
  136.                     rtb.Text = "Los guerreros son maestros de las armas que confían en la velocidad, la fuerza, la dureza y armadura pesada para sobrevivir en combate. La adrenalina alimenta su poder ofensivo: cuanto más tiempo luche un guerrero, más peligroso será.";
  137.                     break;
  138.                 case "Ingeniero":
  139.                     rtb.Text = "A los ingenieros, como maestros del caos mecánico, les encanta trastear con explosivos, elixires y todo tipo de dispositivos peligrosos. Ayudan a sus aliados con armas alquímicas, despliegan ingeniosos inventos o eliminan a sus enemigos con una amplia gama de minas, bombas y granadas.";
  140.                     break;
  141.                 case "Guardabosques":
  142.                     rtb.Text = "Los guardabosques dependen de su buena vista, su pulso firme y el poder de la naturaleza. Son unos supervivientes sin igual gracias a las trampas, los espíritus de la naturaleza y las leales mascotas que tienen a su servicio, que les permite adaptarse a cualquier situación.";
  143.                     break;
  144.                 case "Ladrón":
  145.                     rtb.Text = "Los ladrones, expertos en el sigilo y la sorpresa, se mueven por las sombras, desaparecen y les roban objetos a sus rivales para utilizarlos como armas. Los ladrones tienen un estilo de combate acrobático y ágil que hace que resulte difícil golpearles.";
  146.                     break;
  147.                 case "Elementarista":
  148.                     rtb.Text = "Los elementalistas son unos hechiceros polifacéticos que se sirven del fuego, el aire, la tierra y el agua para canalizar la fuerza de los elementos. Lo que les falta de fuerza física lo suplen con versatilidad y la capacidad de infligir un enorme daño.";
  149.                     break;
  150.                 case "Hipnotizador":
  151.                     rtb.Text = "Los hipnotizadores son duelistas mágicos cuya arma es el engaño. Utilizan potentes ilusiones, clones y magia fantasmal para confundir a sus enemigos. Los hipnotizadores inclinan la balanza a su favor en cada combate.";
  152.                     break;
  153.                 case "Nigromante":
  154.                     rtb.Text = "Los nigromantes, que practican las artes oscuras, aprovechan el poder de los rituales y se curan con magia de sangre. Los nigromantes se alimentan de fuerza vital, que pueden utilizar de forma ofensiva o para retrasar su propia muerte.";
  155.                     break;
  156.             }
  157.  
  158.  
  159.         }
  160.         //funcion para cargar la ruta de las imagenes
  161.         private void cargarImagenes(String raza, String profesion, String especialidad, String sexo)
  162.         {
  163.             String rutaImagen = "";
  164.             String rutaImagen2 = "";
  165.             if (sexo == "Masculino")
  166.             {
  167.                 if (especialidad == "-1" || profesion == "-1")
  168.                 {
  169.                     //Si la especialidad o la profesión es igual a 0 (no hay nada)
  170.                     //muestro la imagen de la raza por defecto
  171.                     rutaImagen = @"" + raza;
  172.                     rutaImagen2 = @"" + raza;
  173.                 }
  174.                 else
  175.                 {
  176.                     switch (raza)
  177.                     {
  178.                         case "Asura":
  179.                             rutaImagen = @"1" + profesion + especialidad;
  180.                             rutaImagen2 = @"Asura";
  181.                             break;
  182.                         case "Charr":
  183.                             rutaImagen = @"2" + profesion + especialidad;
  184.                             rutaImagen2 = @"Charr";
  185.                             break;
  186.                         case "Humano":
  187.                             rutaImagen = @"3" + profesion + especialidad;
  188.                             rutaImagen2 = @"Humano";
  189.                             break;
  190.                         case "Norn":
  191.                             rutaImagen = @"4" + profesion + especialidad;
  192.                             rutaImagen2 = @"Norn";
  193.                             break;
  194.                         case "Sylvari":
  195.                             rutaImagen = @"5" + profesion + especialidad;
  196.                             rutaImagen2 = @"Sylvari";
  197.                             break;
  198.                     }
  199.                 }
  200.                 imgPJ.ImageLocation = "imgRazas/" + rutaImagen + "m.png";
  201.                 imgIconRaza.ImageLocation = "iconRazas/" + rutaImagen2 + ".png";
  202.             }
  203.             else
  204.             {
  205.                 if (especialidad == "-1" || profesion == "-1")
  206.                 {
  207.                     //Si la especialidad o la profesión es igual a 0 (no hay nada)
  208.                     //muestro la imagen de la raza por defecto
  209.                     rutaImagen = @"" + raza;
  210.                     rutaImagen2 = @"" + raza;
  211.                 }
  212.                 else
  213.                 {
  214.                     switch (raza)
  215.                     {
  216.                         case "Asura":
  217.                             rutaImagen = @"1" + profesion + especialidad;
  218.                             rutaImagen2 = @"Asura";
  219.                             break;
  220.                         case "Charr":
  221.                             rutaImagen = @"2" + profesion + especialidad;
  222.                             rutaImagen2 = @"Charr";
  223.                             break;
  224.                         case "Humano":
  225.                             rutaImagen = @"3" + profesion + especialidad;
  226.                             rutaImagen2 = @"Humano";
  227.                             break;
  228.                         case "Norn":
  229.                             rutaImagen = @"4" + profesion + especialidad;
  230.                             rutaImagen2 = @"Norn";
  231.                             break;
  232.                         case "Sylvari":
  233.                             rutaImagen = @"5" + profesion + especialidad;
  234.                             rutaImagen2 = @"Sylvari";
  235.                             break;
  236.                     }
  237.                 }
  238.                 imgPJ.ImageLocation = "imgRazas/" + rutaImagen + "f.png";
  239.             }
  240.         }
  241.         private void comboRaza_SelectedIndexChanged(object sender, EventArgs e)
  242.         {
  243.             rbSexoMasculino.Checked = true;
  244.             rtbDescripcion.Visible = true;
  245.             comboEspecialidad.Enabled = true;
  246.             comboProfesion.Enabled = true;
  247.             rbSexoFemenino.Enabled = true;
  248.             rbSexoMasculino.Enabled = true;
  249.             //dejamos en blanco los otros combos
  250.             comboEspecialidad.Text = " ";
  251.             comboProfesion.Text = " ";
  252.  
  253.             //llamamos a la función de cargar imágenes.
  254.             cargarImagenes(recogerRaza(), recogerProfesion(), recogerEspecialidad(), recogerSexo());
  255.             cargarDescripcion(rtbDescripcion, recogerRaza());
  256.         }
  257.  
  258.         private void comboEspecialidad_SelectedIndexChanged(object sender, EventArgs e)
  259.         {
  260.  
  261.             rtbDescripcion.Visible = true;
  262.             imgEspecialidad.Visible = true;
  263.             cargarDatosEspecialidad(rtbDescripcion, comboEspecialidad.Text.ToString());
  264.             String especialidad = comboEspecialidad.Text;
  265.             imgEspecialidad.ImageLocation = "iconProfesion/" + especialidad + ".png";
  266.             cargarImagenes(recogerRaza(), recogerProfesion(), recogerEspecialidad(), recogerSexo());
  267.             //rellenamos las características y los puntos a gastar
  268.             rellenarCaracteristicas(especialidad);
  269.             lblGasto.Text = numPuntos.ToString();
  270.             //Cargamos la mochila
  271.             cargarMochila(comboEspecialidad.Text.ToString());
  272.             //Ponemos el número de tiradas que tenemos
  273.             lblTiradasRestantes.Text = numTiradas.ToString();
  274.             //relleno inicial de las habilidades
  275.             rellenarHabilidadesInicial();
  276.  
  277.         }
  278.  
  279.  
  280.  
  281.         private void rbSexoMasculino_CheckedChanged(object sender, EventArgs e)
  282.         {
  283.             //en función de la raza ponemos una descripción
  284.             cargarDescripcion(rtbDescripcion, recogerRaza());
  285.             String sexo = "Masculino";
  286.             //llamamos a la función de cargar imágenes.
  287.             cargarImagenes(recogerRaza(), recogerProfesion(), recogerEspecialidad(), sexo);
  288.         }
  289.  
  290.         private void rbSexoFemenino_CheckedChanged(object sender, EventArgs e)
  291.         {
  292.             //en función de la raza ponemos una descripción
  293.             cargarDescripcion(rtbDescripcion, recogerRaza());
  294.             String sexo = "Femenino";
  295.  
  296.             //llamamos a la función de cargar imágenes.
  297.             cargarImagenes(recogerRaza(), recogerProfesion(), recogerEspecialidad(), sexo);
  298.         }
  299.  
  300.         private void rtbDescripcion_TextChanged(object sender, EventArgs e)
  301.         {
  302.  
  303.         }
  304.         public String recogerRaza()
  305.         {
  306.             //en función de la raza ponemos una descripción
  307.             String seleccionRaza = comboRaza.SelectedItem.ToString();
  308.             return seleccionRaza;
  309.         }
  310.         public String recogerProfesion()
  311.         {
  312.             String profesionSeleccionada = comboProfesion.SelectedIndex.ToString();
  313.             return profesionSeleccionada;
  314.         }
  315.         public String recogerEspecialidad()
  316.         {
  317.             String especialidadSeleccionada = comboEspecialidad.SelectedIndex.ToString();
  318.             return especialidadSeleccionada;
  319.  
  320.         }
  321.         //Obtenemos el nombre de profesion
  322.         public String obtenerProfesion()
  323.         {
  324.             String profesion = comboProfesion.SelectedItem.ToString();
  325.             return profesion;
  326.         }
  327.         //Otbenemos el nombre de la especialidad
  328.         public String obtenerEspecialidad()
  329.         {
  330.             String especialidad = comboEspecialidad.SelectedItem.ToString();
  331.             return especialidad;
  332.         }
  333.         //obtenemos el nombre del personaje
  334.         public String obtenerNombre()
  335.         {
  336.             String nombre = txtNombre.Text;
  337.             return nombre;
  338.         }
  339.         //función para recoger el sexo
  340.         public String recogerSexo()
  341.         {
  342.             String sexo;
  343.             //obtenemos el sexo
  344.             if (rbSexoFemenino.Checked)
  345.             {
  346.                 sexo = "Femenino";
  347.             }
  348.             else
  349.             {
  350.                 sexo = "Masculino";
  351.             }
  352.             return sexo;
  353.         }
  354.         //Funcion para rellenar las caracteristicas en funcion de la seleccion que hemos hecho
  355.         public void rellenarCaracteristicas(String seleccion)
  356.         {
  357.  
  358.             numbVida.Enabled = true;
  359.             numbAD.Enabled = true;
  360.             numbDef.Enabled = true;
  361.             numbSpeed.Enabled = true;
  362.             numbRegen.Enabled = true;
  363.             numbMana.Enabled = true;
  364.             numbVida.Minimum = 100;
  365.             numbAD.Minimum = 100;
  366.             numbDef.Minimum = 100;
  367.             numbSpeed.Minimum = 100;
  368.             numbRegen.Minimum = 100;
  369.             numbMana.Minimum = 100;
  370.             numbDef.Maximum = 400;
  371.             numbSpeed.Maximum = 400;
  372.             numbRegen.Maximum = 400;
  373.             numbMana.Maximum = 400;
  374.             numbAD.Maximum = 400;
  375.             numbVida.Maximum = 400;
  376.             //Segun lo que seleccionamos, cargamos unas estadisticas u otras
  377.             switch (seleccion)
  378.             {
  379.                 case "Guardián":
  380.                     numbVida.Value = 400;
  381.                     numbAD.Value = 150;
  382.                     numbDef.Value = 300;
  383.                     numbSpeed.Value = 150;
  384.                     numbRegen.Value = 300;
  385.                     numbMana.Value = 200;
  386.                     break;
  387.                 case "Guerrero":
  388.                     numbVida.Value = 300;
  389.                     numbAD.Value = 350;
  390.                     numbDef.Value = 250;
  391.                     numbAD.Value = 150;
  392.                     numbSpeed.Value = 180;
  393.                     numbRegen.Value = 200;
  394.                     numbMana.Value = 180;
  395.                     break;
  396.                 case "Ingeniero":
  397.                     numbVida.Value = 250;
  398.                     numbAD.Value = 100;
  399.                     numbDef.Value = 200;
  400.                     numbSpeed.Value = 200;
  401.                     numbRegen.Value = 100;
  402.                     numbMana.Value = 100;
  403.                     break;
  404.                 case "Guardabosques":
  405.                     numbVida.Value = 290;
  406.                     numbAD.Value = 190;
  407.                     numbDef.Value = 150;
  408.                     numbSpeed.Value = 230;
  409.                     numbRegen.Value = 200;
  410.                     numbMana.Value = 180;
  411.                     break;
  412.                 case "Ladrón":
  413.                     numbVida.Value = 200;
  414.                     numbAD.Value = 220;
  415.                     numbDef.Value = 140;
  416.                     numbSpeed.Value = 300;
  417.                     numbRegen.Value = 100;
  418.                     numbMana.Value = 150;
  419.  
  420.                     break;
  421.                 case "Elementarista":
  422.                     numbVida.Value = 245;
  423.                     numbAD.Value = 200;
  424.                     numbDef.Value = 170;
  425.                     numbSpeed.Value = 250;
  426.                     numbRegen.Value = 200;
  427.                     numbMana.Value = 300;
  428.                     break;
  429.                 case "Hipnotizador":
  430.                     numbVida.Value = 245;
  431.                     numbAD.Value = 200;
  432.                     numbDef.Value = 130;
  433.                     numbSpeed.Value = 250;
  434.                     numbRegen.Value = 200;
  435.                     numbMana.Value = 300;
  436.                     break;
  437.                 case "Nigromante":
  438.                     numbVida.Value = 245;
  439.                     numbAD.Value = 200;
  440.                     numbDef.Value = 160;
  441.                     numbSpeed.Value = 250;
  442.                     numbRegen.Value = 200;
  443.                     numbMana.Value = 300;
  444.                     break;
  445.             }
  446.             //Ponemos el número de puntos
  447.             numPuntos = 40;
  448.         }
  449.  
  450.         //generara la mochila dependiendo de la especialidad seleccionada
  451.         private void cargarMochila(string seleccion)
  452.         {
  453.             //Reseteamos  los checkbox de forma dinamica
  454.             foreach (CheckBox c in groupBoxMochila.Controls)
  455.             {
  456.                 if (c.Enabled == false)
  457.                 {
  458.                     c.Enabled = true;
  459.                 }
  460.             }
  461.             //cargamos las armas principales
  462.             chkItem1.Text = "Hacha";
  463.             chkItem2.Text = "Daga";
  464.             chkItem3.Text = "Maza";
  465.             chkItem4.Text = "Pistola";
  466.             chkItem5.Text = "Cetro";
  467.             chkItem6.Text = "Espada";
  468.             chkItem7.Text = "Foco";
  469.             chkItem8.Text = "Escudo";
  470.             chkItem9.Text = "Antorcha";
  471.             chkItem10.Text = "Cuerno de guerra";
  472.             chkItem11.Text = "Mandoble";
  473.             chkItem12.Text = "Martillo";
  474.             chkItem13.Text = "Arco largo";
  475.             chkItem14.Text = "Rifle";
  476.             chkItem15.Text = "Arco corto";
  477.             chkItem16.Text = "Báculo";
  478.             //En funcion de la especialización, tendremos desactivado un campo u otro
  479.             switch (seleccion)
  480.             {
  481.                 case "Guardián":
  482.                     chkItem1.Enabled = false;
  483.                     chkItem2.Enabled = false;
  484.                     chkItem4.Enabled = false;
  485.                     chkItem10.Enabled = false;
  486.                     chkItem13.Enabled = false;
  487.                     chkItem14.Enabled = false;
  488.                     chkItem15.Enabled = false;
  489.                     break;
  490.                 case "Guerrero":
  491.                     chkItem2.Enabled = false;
  492.                     chkItem4.Enabled = false;
  493.                     chkItem5.Enabled = false;
  494.                     chkItem7.Enabled = false;
  495.                     chkItem9.Enabled = false;
  496.                     chkItem15.Enabled = false;
  497.                     chkItem16.Enabled = false;
  498.                     break;
  499.                 case "Ingeniero":
  500.                     chkItem1.Enabled = false;
  501.                     chkItem2.Enabled = false;
  502.                     chkItem3.Enabled = false;
  503.                     chkItem5.Enabled = false;
  504.                     chkItem6.Enabled = false;
  505.                     chkItem7.Enabled = false;
  506.                     chkItem9.Enabled = false;
  507.                     chkItem10.Enabled = false;
  508.                     chkItem11.Enabled = false;
  509.                     chkItem12.Enabled = false;
  510.                     chkItem13.Enabled = false;
  511.                     chkItem15.Enabled = false;
  512.                     chkItem16.Enabled = false;
  513.                     break;
  514.                 case "Guardabosques":
  515.                     chkItem3.Enabled = false;
  516.                     chkItem4.Enabled = false;
  517.                     chkItem5.Enabled = false;
  518.                     chkItem7.Enabled = false;
  519.                     chkItem8.Enabled = false;
  520.                     chkItem12.Enabled = false;
  521.                     chkItem14.Enabled = false;
  522.                     chkItem15.Enabled = false;
  523.                     break;
  524.                 case "Ladrón":
  525.                     chkItem1.Enabled = false;
  526.                     chkItem3.Enabled = false;
  527.                     chkItem5.Enabled = false;
  528.                     chkItem7.Enabled = false;
  529.                     chkItem8.Enabled = false;
  530.                     chkItem9.Enabled = false;
  531.                     chkItem10.Enabled = false;
  532.                     chkItem11.Enabled = false;
  533.                     chkItem12.Enabled = false;
  534.                     chkItem13.Enabled = false;
  535.                     chkItem14.Enabled = false;
  536.                     chkItem16.Enabled = false;
  537.                     break;
  538.                 case "Elementarista":
  539.                     chkItem1.Enabled = false;
  540.                     chkItem3.Enabled = false;
  541.                     chkItem4.Enabled = false;
  542.                     chkItem5.Enabled = false;
  543.                     chkItem6.Enabled = false;
  544.                     chkItem8.Enabled = false;
  545.                     chkItem9.Enabled = false;
  546.                     chkItem10.Enabled = false;
  547.                     chkItem11.Enabled = false;
  548.                     chkItem12.Enabled = false;
  549.                     chkItem13.Enabled = false;
  550.                     chkItem14.Enabled = false;
  551.                     chkItem15.Enabled = false;
  552.                     break;
  553.                 case "Hipnotizador":
  554.                     chkItem1.Enabled = false;
  555.                     chkItem2.Enabled = false;
  556.                     chkItem3.Enabled = false;
  557.                     chkItem8.Enabled = false;
  558.                     chkItem10.Enabled = false;
  559.                     chkItem12.Enabled = false;
  560.                     chkItem13.Enabled = false;
  561.                     chkItem14.Enabled = false;
  562.                     chkItem15.Enabled = false;
  563.                     break;
  564.                 case "Nigromante":
  565.                     chkItem3.Enabled = false;
  566.                     chkItem4.Enabled = false;
  567.                     chkItem6.Enabled = false;
  568.                     chkItem8.Enabled = false;
  569.                     chkItem9.Enabled = false;
  570.                     chkItem11.Enabled = false;
  571.                     chkItem12.Enabled = false;
  572.                     chkItem13.Enabled = false;
  573.                     chkItem14.Enabled = false;
  574.                     chkItem15.Enabled = false;
  575.                     break;
  576.             }
  577.         }
  578.  
  579.         private void numbVida_ValueChanged_1(object sender, EventArgs e)
  580.         {
  581.             //OJO! Este método no se llamará si el valor no cambia
  582.             NumericUpDown control = (NumericUpDown)sender;
  583.             int old_value = Int32.Parse(((UpDownBase)sender).Text);
  584.             int new_value = (int)((NumericUpDown)sender).Value;
  585.             bool aumenta = old_value < new_value ? true : false;
  586.             if (aumenta) //si el nuevo valor es mayor al anterior
  587.             {
  588.                 if (numPuntos > 0) //si hay más de cero puntos disponibles (1 o más)
  589.                 {
  590.                     numPuntos--;
  591.                     lblGasto.Text = numPuntos.ToString();
  592.                 }
  593.                 else  //si no hay más de cero, es decir si numpuntos es cero
  594.                 {
  595.                     control.Value = old_value;
  596.                     //revierto el nuevo valor del NumericUpDown y lo dejo con el valor anterior
  597.                     //porque no debería dejarme subir más puntos si ya ocupé los 40
  598.                     //MessageBox.Show("No hay puntos adicionales disponibles");
  599.                 }
  600.             }
  601.             else //si el nuevo valor no es mayor (es menor)
  602.             {
  603.                 //Si el número de puntos no es igual a 0, no hace falta sumar los puntos.
  604.                 if (numPuntos < 40)
  605.                 {
  606.                     numPuntos++;
  607.                     lblGasto.Text = numPuntos.ToString();
  608.                 }
  609.                 else
  610.                 {
  611.                     control.Value = old_value; //lo mismo de arriba
  612.                     //MessageBox.Show("No puede devolver más puntos");
  613.                 }
  614.             }
  615.  
  616.         }
  617.         //metodo para rellenar las habilidades inicialmente
  618.         private void rellenarHabilidadesInicial()
  619.         {
  620.             Random aleatorio = new Random();
  621.             btnTirar.Enabled = true;
  622.             //Si las tiradas es igual a 3, entonces rellenamos los campos inicialmente
  623.             if (numTiradas == 3)
  624.             {
  625.                 numDeterminacion.Text = aleatorio.Next(1, 100).ToString();
  626.                 numJusticia.Text = aleatorio.Next(1, 100).ToString();
  627.                 numValor.Text = aleatorio.Next(1, 100).ToString();
  628.                 numSabiduria.Text = aleatorio.Next(1, 100).ToString();
  629.                 numEscudo.Text = aleatorio.Next(1, 100).ToString();
  630.                 numMasacre.Text = aleatorio.Next(1, 100).ToString();
  631.             }
  632.             else
  633.             {
  634.                 numTiradas = 3;
  635.                 lblTiradasRestantes.Text = numTiradas.ToString();
  636.             }
  637.         }
  638.         //Hacemos el método para rellenar los números de las habilidades
  639.         private void rellenarHabilidades()
  640.         {
  641.             Random aleatorio = new Random();
  642.             //Si el número de tiradas no es igual a 0
  643.             if (numTiradas != 0)
  644.             {
  645.                 numDeterminacion.Text = aleatorio.Next(1, 100).ToString();
  646.                 numJusticia.Text = aleatorio.Next(1, 100).ToString();
  647.                 numValor.Text = aleatorio.Next(1, 100).ToString();
  648.                 numSabiduria.Text = aleatorio.Next(1, 100).ToString();
  649.                 numEscudo.Text = aleatorio.Next(1, 100).ToString();
  650.                 numMasacre.Text = aleatorio.Next(1, 100).ToString();
  651.  
  652.                 //bajamos tiradas en 1
  653.                 numTiradas--;
  654.                 lblTiradasRestantes.Text = numTiradas.ToString();
  655.             }
  656.             else
  657.             {
  658.                 btnTirar.Enabled = false;
  659.             }
  660.         }
  661.         private void imgHab3_Click(object sender, EventArgs e)
  662.         {
  663.  
  664.         }
  665.         private void btnTirar_Click_1(object sender, EventArgs e)
  666.         {
  667.             rellenarHabilidades();
  668.         }
  669.  
  670.         private void btnGuardar_Click(object sender, EventArgs e)
  671.         {
  672.             //Pre requisitos
  673.             if (obtenerNombre() == "")
  674.             {
  675.                 MessageBox.Show("Por favor, introduzca un nombre");
  676.             }else
  677.             {
  678.                 if (numPuntos == 0)
  679.                 {
  680.                     //Al pulsar en el boton de guardar, creamos el personaje y lo pasamos al fichero
  681.                     String[] caracteristicas = new String[6];
  682.                     String[] mochila = new String[16];
  683.                     String[] habilidades = new String[6];
  684.                     Personaje personaje = new Personaje(obtenerNombre(), recogerSexo(), recogerRaza(), obtenerProfesion(), obtenerEspecialidad());
  685.                     //Vamos recogiendo los datos restantes
  686.                     //Comenzamos por las caracteristicas
  687.  
  688.                     caracteristicas[0] = numbVida.Text.ToString();
  689.                     caracteristicas[1] = numbMana.Text.ToString();
  690.                     caracteristicas[2] = numbAD.Text.ToString();
  691.                     caracteristicas[3] = numbDef.Text.ToString();
  692.                     caracteristicas[4] = numbSpeed.Text.ToString();
  693.                     caracteristicas[5] = numbRegen.Text.ToString();
  694.  
  695.                     personaje.setCaracteristicas(caracteristicas);
  696.                     //rellenamos la mochila
  697.                     mochila[0] = chkItem1.Checked.ToString();
  698.                     mochila[1] = chkItem2.Checked.ToString();
  699.                     mochila[2] = chkItem3.Checked.ToString();
  700.                     mochila[3] = chkItem4.Checked.ToString();
  701.                     mochila[4] = chkItem5.Checked.ToString();
  702.                     mochila[5] = chkItem6.Checked.ToString();
  703.                     mochila[6] = chkItem7.Checked.ToString();
  704.                     mochila[7] = chkItem8.Checked.ToString();
  705.                     mochila[8] = chkItem9.Checked.ToString();
  706.                     mochila[9] = chkItem10.Checked.ToString();
  707.                     mochila[10] = chkItem11.Checked.ToString();
  708.                     mochila[11] = chkItem12.Checked.ToString();
  709.                     mochila[12] = chkItem13.Checked.ToString();
  710.                     mochila[13] = chkItem14.Checked.ToString();
  711.                     mochila[14] = chkItem15.Checked.ToString();
  712.                     mochila[15] = chkItem16.Checked.ToString();
  713.  
  714.                     personaje.setMochila(mochila);
  715.                     //rellenamos las habilidades
  716.                     habilidades[0] = numDeterminacion.Text.ToString();
  717.                     habilidades[1] = numJusticia.Text.ToString();
  718.                     habilidades[2] = numValor.Text.ToString();
  719.                     habilidades[3] = numSabiduria.Text.ToString();
  720.                     habilidades[4] = numEscudo.Text.ToString();
  721.                     habilidades[5] = numMasacre.Text.ToString();
  722.  
  723.                     personaje.setHabilidades(habilidades);
  724.  
  725.                     //hacemos el toString para pasarlo a un archivo
  726.                     personaje.toString();
  727.                     personaje.ToFile();
  728.                     MessageBox.Show("Su personaje se ha guardado satisfactoriamente");
  729.                 }
  730.                 else
  731.                 {
  732.                     MessageBox.Show("Debe poner los puntos en las caracteristicas");
  733.                 }
  734.             }
  735.         }
  736.  
  737.         private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  738.         {
  739.  
  740.         }
  741.     }
  742. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement