Пример #1
0
        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;
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
                    }
                }
            }
        }