//Esta funcion es para que el Taplan transforme un terreno desiertico en vegetacion public void Plantar(Mapa mapa) { int x = GetPosicion()[0]; int y = GetPosicion()[1]; string[,,] tablero = mapa.GetTablero(); terreno = tablero[x, y, 0]; if (tablero[x, y, 0] == "D") { mapa.SetTerreno("V", x, y); } }
public override void Movimiento(Mapa mapa) { string[,,] tablero = mapa.GetTablero(); int cant_filas = tablero.GetLength(0); int cant_columnas = tablero.GetLength(1); int x = posicion[0]; int y = posicion[1]; int vertical = random.Next(-1, 2); int horizontal = random.Next(-1, 2); //Veo si el bitmon caera fuera de los limites del mapa: int cont_de_escape = 0; while (((x + vertical) < 0) || ((y + horizontal) < 0) || ((x + vertical) >= cant_filas) || ((y + horizontal) >= cant_columnas) || (tablero[x + vertical, y + horizontal, 0] != "A")) { //condicion de escape if (cont_de_escape > 20) { return; } vertical = random.Next(-1, 2); horizontal = random.Next(-1, 2); cont_de_escape++; } int celda_antigua = celda; int celda_nueva = celda; //Veo si esta ocupada la celda a la cual se va a mover while (tablero[x + vertical, y + horizontal, celda_nueva] != " ") { //Si ya no hay mas espacio a donde se va a mover, se quedar en el mismo lugar if (celda_nueva == 2 && (tablero[x + vertical, y + horizontal, celda_nueva] != " ")) { celda_nueva = celda; vertical = 0; horizontal = 0; break; } celda_nueva++; } mapa.RemoveBitmon(x, y, celda_antigua); posicion[0] += vertical; posicion[1] += horizontal; celda = celda_nueva; string sigla = tipo_De_Bitmon.Substring(0, 3); mapa.SetBitmon(sigla, posicion[0], posicion[1], celda_nueva); }
/*Esta funcion es para que el Gofue transforme un terreno vegetacion en desiertico, o un terreno * de nieve en uno de agua:*/ public void Secar(Mapa mapa) { int x = GetPosicion()[0]; int y = GetPosicion()[1]; string[,,] tablero = mapa.GetTablero(); if (tablero[x, y, 0] == "V") { mapa.SetTerreno("D", x, y); } else if (tablero[x, y, 0] == "N") { mapa.SetTerreno("A", x, y); } }
// Reduce el tiempo de vida del Bitmon dependiendo de el terreno en donde se encuentre public override void Envejecer(Mapa mapa) { int x = GetPosicion()[0]; int y = GetPosicion()[1]; string[,,] tablero = mapa.GetTablero(); terreno = tablero[x, y, 0]; if (terreno == "L") { tiempo_De_Vida -= 2; } else { tiempo_De_Vida -= 1; } }
public override void Movimiento(Mapa mapa) { string[,,] tablero = mapa.GetTablero(); int cant_filas = tablero.GetLength(0); int cant_columnas = tablero.GetLength(1); int x = posicion[0]; int y = posicion[1]; int vertical = random.Next(-2, 3); int horizontal = random.Next(-2, 3); //Veo si el bitmon caera fuera de los limites del mapa: while ((x + vertical < 0) || (y + horizontal < 0) || (x + vertical >= cant_filas) || (y + horizontal >= cant_columnas)) { vertical = random.Next(-2, 3); horizontal = random.Next(-2, 3); } int celda_antigua = celda; int celda_nueva = celda; //Veo si esta ocupada la celda a la cual se va a mover while (tablero[x + vertical, y + horizontal, celda_nueva] != " ") { //Si ya no hay mas espacio a donde se va a mover, se quedar en el mismo lugar if (celda_nueva == 2 && (tablero[x + vertical, y + horizontal, celda_nueva] != " ")) { celda_nueva = celda; vertical = 0; horizontal = 0; break; } celda_nueva++; } mapa.RemoveBitmon(x, y, celda_antigua); posicion[0] += vertical; posicion[1] += horizontal; celda = celda_nueva; string sigla = tipo_De_Bitmon.Substring(0, 3); mapa.SetBitmon(sigla, posicion[0], posicion[1], celda_nueva); //Console.WriteLine($"Tiempo de vida Dorvalo: {tiempo_De_Vida}"); }
//Les quita tiempo de vida a los bitmons public virtual void Envejecer(Mapa mapa) { tiempo_De_Vida -= 1; meses_vividos += 1; }
public Bitmonlandia(int seed) { this.seed = seed; mapa = new Mapa(seed); //Se generan los bitmons predeterminados dependiendo de la seed if (seed == 1) { int[] tupla = { 0, 0 }; int[] tupla2 = { 0, 4 }; int[] tupla3 = { 4, 4 }; int[] tupla4 = { 4, 3 }; int[] tupla5 = { 4, 0 }; int[] tupla6 = { 0, 1 }; int[] tupla7 = { 1, 2 }; int[] tupla8 = { 2, 2 }; int[] tupla9 = { 3, 2 }; int[] tupla10 = { 2, 3 }; añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla2)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla3)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla4)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla5)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 80, 100, tupla6)); añadir_bitmon(new Taplan("Taplan", 10, 80, 100, tupla7)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla8)); añadir_bitmon(new Taplan("Taplan", 10, 80, 100, tupla9)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla10)); PosicionInicialBitmons(); } if (seed == 2) { int[] tupla = { 9, 2 }; int[] tupla2 = { 9, 3 }; int[] tupla3 = { 8, 3 }; int[] tupla4 = { 1, 6 }; int[] tupla5 = { 1, 7 }; int[] tupla6 = { 0, 6 }; int[] tupla7 = { 6, 0 }; int[] tupla8 = { 7, 0 }; int[] tupla9 = { 2, 3 }; int[] tupla10 = { 9, 8 }; int[] tupla11 = { 9, 9 }; int[] tupla12 = { 8, 9 }; int[] tupla13 = { 9, 5 }; int[] tupla14 = { 8, 1 }; int[] tupla15 = { 1, 1 }; int[] tupla16 = { 1, 2 }; int[] tupla17 = { 2, 1 }; int[] tupla18 = { 2, 2 }; añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla2)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla3)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla4)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla5)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla6)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla7)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla8)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla9)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla10)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla11)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla12)); añadir_bitmon(new Ent("Ent", 10, 80, 100, tupla13)); añadir_bitmon(new Ent("Ent", 10, 80, 100, tupla14)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla15)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 80, 100, tupla16)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla17)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla18)); PosicionInicialBitmons(); } if (seed == 3) { int[] tupla = { 5, 7 }; int[] tupla2 = { 6, 7 }; int[] tupla3 = { 7, 7 }; int[] tupla4 = { 6, 14 }; int[] tupla5 = { 7, 14 }; int[] tupla6 = { 8, 14 }; int[] tupla7 = { 6, 0 }; int[] tupla8 = { 6, 1 }; int[] tupla9 = { 7, 0 }; int[] tupla10 = { 11, 0 }; int[] tupla11 = { 11, 1 }; int[] tupla12 = { 12, 2 }; int[] tupla13 = { 1, 2 }; int[] tupla14 = { 2, 2 }; int[] tupla15 = { 12, 7 }; int[] tupla16 = { 1, 7 }; int[] tupla17 = { 7, 10 }; int[] tupla18 = { 8, 10 }; int[] tupla19 = { 8, 7 }; int[] tupla20 = { 1, 12 }; int[] tupla21 = { 2, 12 }; int[] tupla22 = { 3, 11 }; int[] tupla23 = { 12, 0 }; int[] tupla24 = { 11, 1 }; int[] tupla25 = { 12, 2 }; int[] tupla26 = { 5, 6 }; int[] tupla27 = { 6, 6 }; int[] tupla28 = { 7, 6 }; int[] tupla29 = { 8, 6 }; int[] tupla30 = { 9, 14 }; int[] tupla31 = { 10, 14 }; int[] tupla32 = { 11, 14 }; int[] tupla33 = { 6, 13 }; int[] tupla34 = { 7, 13 }; int[] tupla35 = { 8, 13 }; añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla2)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla3)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla4)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla5)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla6)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla7)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla8)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla9)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla10)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla11)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla12)); añadir_bitmon(new Ent("Ent", 10, 80, 100, tupla13)); añadir_bitmon(new Ent("Ent", 10, 80, 100, tupla14)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla15)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla16)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla17)); añadir_bitmon(new Doti("Doti", 10, 80, 100, tupla18)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla19)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla20)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla21)); añadir_bitmon(new Wetar("Wetar", 10, 80, 100, tupla22)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla23)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla24)); añadir_bitmon(new Gofue("Gofue", 10, 80, 100, tupla25)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla26)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla27)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla28)); añadir_bitmon(new Taplan("Taplan", 10, 50, 100, tupla29)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla30)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla31)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla32)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla33)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla34)); añadir_bitmon(new Dorvalo("Dorvalo", 10, 60, 100, tupla35)); PosicionInicialBitmons(); } }