public void crearBitmons() { TiposBitmons tipos = new TiposBitmons(); foreach (Terreno terrenoRegion in mapaRegion) { int numBitmons = random.Next(0, 11); { for (int i = 0; i < numBitmons; i++) { int randomBitmon = random.Next(0, 6); string tipoBitmon = tipos.tipo[randomBitmon]; switch (tipoBitmon) { case "Dorvalo": terrenoRegion.bitmonsTerreno.Add(new Dorvalo()); break; case "Doti": terrenoRegion.bitmonsTerreno.Add(new Doti()); break; case "Ent": if ((terrenoRegion.getTipo() == "Volcan") || (terrenoRegion.getTipo() == "Acuatico")) { continue; } else { terrenoRegion.bitmonsTerreno.Add(new Ent()); break; } case "Gofue": terrenoRegion.bitmonsTerreno.Add(new Gofue()); break; case "Taplan": terrenoRegion.bitmonsTerreno.Add(new Taplan()); break; case "Wetar": if (terrenoRegion.getTipo() != "Acuatico") { continue; } else { terrenoRegion.bitmonsTerreno.Add(new Wetar()); break; } } } } } }
public override void breed(Johto region, Terreno terreno, Bitmon reproductor) { TiposBitmons tipos = new TiposBitmons(); int randomBitmon = random.Next(0, 6); string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); if ((region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Volcan") && (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico")) { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Ent()); reproductor.tiempoVida += reproductor.tiempoVidaPerdido * 0.3; reproductor.cantidadDeHijos += 1; } }
public override void breed(Johto region, Terreno terreno, Bitmon reproductor) { TiposBitmons tipos = new TiposBitmons(); foreach (Bitmon bitmon in terreno.bitmonsTerreno) { if (bitmon != reproductor) { if ((reproductor.bitmonsAfines.Contains(bitmon.getTipo()) && bitmon.bitmonsAfines.Contains(reproductor.getTipo()))) { reproductor.yaSeReprodujo = true; bitmon.yaSeReprodujo = true; if (bitmon.cantidadDeHijos == reproductor.cantidadDeHijos) { int randomBitmon = random.Next(0, 6); string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); switch (tipoBitmon) { case "Dorvalo": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Dorvalo()); break; case "Doti": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Doti()); break; case "Ent": break; case "Gofue": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Gofue()); break; case "Taplan": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Taplan()); break; case "Wetar": if (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico") { continue; } else { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Wetar()); break; } } bitmon.cantidadDeHijos += 1; reproductor.cantidadDeHijos += 1; } else { int randomBitmon = random.Next(0, 7); if (randomBitmon == 6) { if (reproductor.cantidadDeHijos > bitmon.cantidadDeHijos) { foreach (KeyValuePair <int, string> pair in tipos.tipo) { if (pair.Value == reproductor.getTipo()) { randomBitmon = pair.Key; } } } else if (reproductor.cantidadDeHijos < bitmon.cantidadDeHijos) { foreach (KeyValuePair <int, string> pair in tipos.tipo) { if (pair.Value == bitmon.getTipo()) { randomBitmon = pair.Key; } } } } string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); switch (tipoBitmon) { case "Dorvalo": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Dorvalo()); break; case "Doti": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Doti()); break; case "Ent": break; case "Gofue": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Gofue()); break; case "Taplan": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Taplan()); break; case "Wetar": if (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico") { continue; } else { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Wetar()); break; } } bitmon.cantidadDeHijos += 1; reproductor.cantidadDeHijos += 1; } reproductor.yaSeReprodujo = true; reproductor.tiempoVida += reproductor.tiempoVidaPerdido * 0.3; bitmon.yaSeReprodujo = true; bitmon.tiempoVida += bitmon.tiempoVidaPerdido * 0.3; break; } } } }