public Simulacion(Bitmons bitmons, Mapa mapa, int filas, int columnas, int meses) { InitializeComponent(); this.bitmons = bitmons; this.mapa = mapa; this.filas = filas; this.columnas = columnas; this.meses = meses; }
public double TiempoVidaPromedio(Bitmons bitmons) { double suma_tiempovida = 0; double total_tiempovida = Convert.ToDouble(bitmons.bitmons_simulacion.Length); foreach (Bitmon bitmon in bitmons.bitmons_s) { suma_tiempovida += bitmon.TiempoVida; } return(suma_tiempovida / total_tiempovida); }
public List <double> TiempoVidaPromedio_especie(Bitmons bitmons) { List <double> tiempovidapromedioxespecie = new List <double>(); foreach (Bitmon bitmon in bitmons.bitmons_s) { if (bitmon.especie == "Taplan") { suma_tvida_taplan += bitmon.TiempoVida; total_taplan += 1; } if (bitmon.especie == "Wetar") { suma_tvida_wetar += bitmon.TiempoVida; total_wetar += 1; } if (bitmon.especie == "Gofue") { suma_tvida_gofue += bitmon.TiempoVida; total_gofue += 1; } if (bitmon.especie == "Dorvalo") { suma_tvida_dorvalo += bitmon.TiempoVida; total_dorvalo += 1; } if (bitmon.especie == "Doti") { suma_tvida_doti += bitmon.TiempoVida; total_doti += 1; } if (bitmon.especie == "Ent") { suma_tvida_ent += bitmon.TiempoVida; total_ent += 1; } else { continue; } } tiempovidapromedioxespecie.Add((suma_tvida_taplan / total_taplan)); tiempovidapromedioxespecie.Add((suma_tvida_wetar / total_wetar)); tiempovidapromedioxespecie.Add((suma_tvida_gofue / total_gofue)); tiempovidapromedioxespecie.Add((suma_tvida_dorvalo / total_dorvalo)); tiempovidapromedioxespecie.Add((suma_tvida_doti / total_doti)); tiempovidapromedioxespecie.Add((suma_tvida_ent / total_ent)); return(tiempovidapromedioxespecie); }
//para generar el mapa public void generarMapas(Mapa cMapa, Bitmons cBitmons) { for (int i = 0; i <= cMapa.Mterrenos.GetUpperBound(0); i++) { for (int j = 0; j <= cMapa.Mterrenos.GetUpperBound(1); j++) { Console.ForegroundColor = ConsoleColor.Black; string celda = ""; foreach (Bitmon bitmon in cBitmons.bitmons_simulacion[i, j]) { celda += bitmon.especie[0].ToString() + bitmon.especie[1].ToString() + bitmon.especie[2].ToString(); } while (celda.Count() <= 6) { celda += " "; } celda = celda.Insert(3, ","); if (cMapa.Mterrenos[i, j].tipo == "Desierto") { Console.BackgroundColor = ConsoleColor.Yellow; Console.Write(celda); } else if (cMapa.Mterrenos[i, j].tipo == "Vegetacion") { Console.BackgroundColor = ConsoleColor.Green; Console.Write(celda); } else if (cMapa.Mterrenos[i, j].tipo == "Acuatico") { Console.BackgroundColor = ConsoleColor.Blue; Console.Write(celda); } else if (cMapa.Mterrenos[i, j].tipo == "Nieve") { Console.BackgroundColor = ConsoleColor.White; Console.Write(celda); } else if (cMapa.Mterrenos[i, j].tipo == "Volcan") { Console.BackgroundColor = ConsoleColor.Red; Console.Write(celda); } } Console.Write("\n"); } Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; }
public List <double> TasaMortalidad_especie(Bitmons bitmons) { List <double> tasamortalidadxespecie = new List <double>(); total_bithalla = Convert.ToDouble(bitmons.bithalla.Count()); foreach (Bitmon bitmon in bitmons.bithalla) { if (bitmon.especie == "Taplan") { muertos_taplan += 1; } if (bitmon.especie == "Wetar") { muertos_wetar += 1; } if (bitmon.especie == "Gofue") { muertos_gofue += 1; } if (bitmon.especie == "Dorvalo") { muertos_dorvalo += 1; } if (bitmon.especie == "Doti") { muertos_doti += 1; } if (bitmon.especie == "Ent") { muertos_ent += 1; } else { continue; } } tasamortalidadxespecie.Add((muertos_taplan / total_bithalla) * 100); tasamortalidadxespecie.Add((muertos_wetar / total_bithalla) * 100); tasamortalidadxespecie.Add((muertos_gofue / total_bithalla) * 100); tasamortalidadxespecie.Add((muertos_dorvalo / total_bithalla) * 100); tasamortalidadxespecie.Add((muertos_doti / total_bithalla) * 100); tasamortalidadxespecie.Add((muertos_ent / total_bithalla) * 100); return(tasamortalidadxespecie); }
//Para cada bitmon, revisa si se encuentra en un terreno que le haga daño public void Entorno(Mapa cMapa, Bitmons cBitmons) { for (int i = 0; i < cMapa.Mterrenos.GetUpperBound(0); i++) { for (int j = 0; j < cMapa.Mterrenos.GetUpperBound(1); j++) { foreach (Bitmon bitmon in cBitmons.bitmons_simulacion[i, j]) { string t = cMapa.Mterrenos[i, j].getTerreno(); if (bitmon.debilidad.Contains(t) && bitmon.especie == "") { bitmon.TiempoVida -= 2; } else { bitmon.TiempoVida -= 1; } } } } }
public Resultados(Bitmons bitmons) { InitializeComponent(); this.bitmons = bitmons; }
public List <double> TasaNatalidad_especie(Bitmons bitmons) { List <double> tasanatalidadxespecie = new List <double>(); double total = Convert.ToDouble(bitmons.bitmons_simulacion.Length); foreach (Bitmon bitmon in bitmons.bitmons_s) { if (bitmon.especie == "Taplan") { if (bitmon.Hijos != 0) { hijos_taplan += Convert.ToDouble(bitmon.Hijos); } } if (bitmon.especie == "Wetar") { if (bitmon.Hijos != 0) { hijos_wetar += Convert.ToDouble(bitmon.Hijos); } } if (bitmon.especie == "Gofue") { if (bitmon.Hijos != 0) { hijos_gofue += Convert.ToDouble(bitmon.Hijos); } } if (bitmon.especie == "Dorvalo") { if (bitmon.Hijos != 0) { hijos_dorvalo += Convert.ToDouble(bitmon.Hijos); } } if (bitmon.especie == "Doti") { if (bitmon.Hijos != 0) { hijos_doti += Convert.ToDouble(bitmon.Hijos); } } if (bitmon.especie == "Ent") { if (bitmon.Hijos != 0) { hijos_ent += Convert.ToDouble(bitmon.Hijos); } } else { continue; } } tasanatalidadxespecie.Add((hijos_taplan / total) * 100); tasanatalidadxespecie.Add((hijos_wetar / total) * 100); tasanatalidadxespecie.Add((hijos_gofue / total) * 100); tasanatalidadxespecie.Add((hijos_dorvalo / total) * 100); tasanatalidadxespecie.Add((hijos_doti / total) * 100); tasanatalidadxespecie.Add((hijos_ent / total) * 100); return(tasanatalidadxespecie); }