Exemple #1
0
        public override void pelear(Terreno terreno, Bitmon peleador)
        {
            foreach (Bitmon bitmon in terreno.bitmonsTerreno)
            {
                if (bitmon != peleador && bitmon.puntosVida > 0 && peleador.puntosVida > 0)
                {
                    if ((peleador.enemigos.ContainsKey(bitmon.getTipo()) && bitmon.enemigos.ContainsKey(peleador.getTipo())))
                    {
                        double multiplicadorPeleador = peleador.enemigos[bitmon.getTipo()];
                        double multiplicadorBitmon   = bitmon.enemigos[peleador.getTipo()];

                        bitmon.puntosVida -= peleador.puntosAtaque * multiplicadorPeleador;
                        bitmon.puntosVida -= peleador.puntosAtaque * multiplicadorPeleador;

                        peleador.yaPeleo = true;
                        bitmon.yaPeleo   = true;

                        if (bitmon.puntosVida < 0 && peleador.puntosVida > 0)
                        {
                            peleador.puntosVida = peleador.puntosVidaOriginal;
                        }

                        else if (bitmon.puntosVida > 0 && peleador.puntosVida < 0)
                        {
                            bitmon.puntosVida = bitmon.puntosVidaOriginal;
                        }

                        break;
                    }
                }
            }
        }
Exemple #2
0
 public void SelectAct()
 {
     foreach (Jugador j in participantes)
     {
         int counter = 1;
         Console.WriteLine(j.nombre + " sus bitmons disponibles son los siguientes!! \n");
         foreach (Bitmon b in j.equipo)
         {
             Console.WriteLine(counter + ".- " + "Nombre: " + b.nombre + " Tipo: " + b.tipo + "\n");
             counter++;
         }
         bool   aux1   = true;
         Bitmon bitaux = null;
         while (aux1)
         {
             Console.WriteLine("Ingrese el nombre de su PRIMER  Bitmon en batalla!(Primer caracter en masyucula): \n");
             string aux = Console.ReadLine();
             foreach (Bitmon b in j.equipo)
             {
                 if (aux == b.nombre)
                 {
                     b.estadolucha = "activo";
                     bitaux        = b;
                     Console.WriteLine(b.nombre + " elegido!!");
                     break;
                 }
                 else
                 {
                     continue;
                 }
             }
             if (bitaux == null)
             {
                 Console.WriteLine("opción inválida, ingrésela nuevamente!!");
                 continue;
             }
             aux1 = false;
         }
         foreach (Bitmon b in j.equipo)
         {
             if (b.nombre == bitaux.nombre)
             {
                 b.estadolucha = "activo";
             }
         }
         Console.Clear();
     }
 }
Exemple #3
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;
            }
        }
Exemple #4
0
        public void CambiarAct()
        {
            Bitmon bitaux = null;

            foreach (Bitmon b in equipo)
            {
                if (b.estadolucha == "activo")
                {
                    bitaux = b;
                }
            }
            int counter  = 1;
            int counter2 = 1;

            Console.WriteLine("Por favor, elija su Bitmon que saldrá a la Batalla: \n");
            Console.WriteLine("Los disponibles para luchar son los siguientes:  (Ingrese el nombre de el Bitmon[primera letra mayuscula])");
            bool waza = true;

            foreach (Bitmon b in equipo)
            {
                if (b.estadolucha != "dead")
                {
                    counter2++;
                }
            }
            if (counter2 == 2)
            {
                waza = false;
            }


            if (waza)
            {
                foreach (Bitmon b in equipo)
                {
                    if (b.estadolucha == null)
                    {
                        Console.WriteLine($"{counter}.- Nombre: {b.nombre} Vida: {b.vida} Tipo: {b.tipo}");
                    }
                    counter++;
                    if (b.estadolucha == "activo")
                    {
                        b.estadolucha = null;
                    }
                }
                bool boolau1 = true;
                while (boolau1)
                {
                    string aux1 = Console.ReadLine();
                    counter = 1;
                    foreach (Bitmon c in equipo)
                    {
                        if (c.nombre == aux1)
                        {
                            c.estadolucha = "activo";
                            Console.WriteLine("Felicidades, su Bitmon elegido es {0}", c.nombre);
                            Console.WriteLine("\n Presiona una tecla para continuar!! ");
                            Console.ReadKey();
                            break;
                        }
                        counter++;
                    }

                    if (counter > 3)
                    {
                        Console.WriteLine("Nombre incorrecto :(, ingréselo nuevamente \n");
                        continue;
                    }
                    boolau1 = false;
                }
            }

            if (waza == false)
            {
                try
                {
                    foreach (Bitmon b in equipo)
                    {
                        if (b.nombre == bitaux.nombre)
                        {
                            b.estadolucha = "activo";
                        }
                    }
                    Console.WriteLine("NO TIENE BITMONS DISPONIBLES PARA CAMBIAR");
                    Console.ReadKey();
                }
                catch (NullReferenceException)
                {
                    foreach (Bitmon b in equipo)
                    {
                        if (b.vida > 0)
                        {
                            b.estadolucha = "activo";
                        }
                    }
                }
            }
        }
Exemple #5
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;
                    }
                }
            }
        }
Exemple #6
0
 public abstract void breed(Johto region, Terreno terreno, Bitmon reproductor);
Exemple #7
0
 public abstract void pelear(Terreno terreno, Bitmon peleador);
Exemple #8
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bitmon
{
    class Program
    {
        static void Main()
        {
            //objetos necesarios en el juego
            Poder Ember = new Poder(10, 1, "Fuego", null, "Ember");
            Poder FireFang = new Poder(11, 2, "Fuego", null, "Fire Fang");
            Poder FireSpin = new Poder(14, 3, "Fuego", null, "Fire Spin");
            Poder Flamethrower = new Poder(15, 5, "Fuego", "Confusion", "Flamethrower");
            Poder Iceshard = new Poder(12, 3, "Hielo", null, "Ice Shard");
            Poder FrostBreath = new Poder(10, 2, "Hielo", null, "Frost Breath");
            Poder PowderSnow = new Poder(6, 1, "Hielo", null, "Powder Snow");
            Poder Hypothemia = new Poder(0, 1, "Hielo", "Sueño", "Hypothemia");
            Poder WaterGun = new Poder(5, 2, "Agua", null, "Water Gun");
            Poder PoisonGun = new Poder(5, 4, "Agua", "Veneno", "Poison Gun");
            Poder Bubble = new Poder(12, 4, "Agua", null, "Bubble");
            Poder Waterfall = new Poder(16, 5, "Agua", null, "Waterfall");
            Poder ThunderShock = new Poder(5, 2, "Electro", null, "Thunder Shock");
            Poder Spark = new Poder(6, 5, "Electro", "Paralisis", "Spark");
            Poder ChargeBeam = new Poder(8, 4, "Electro", null, "Charge Beam");
            Poder VoltSwitch = new Poder(20, 6, "Electro", null, "Volt Switch");

            List<Poder> charmonpow = new List<Poder>();
            charmonpow.Add(ThunderShock);
            charmonpow.Add(Spark);
            charmonpow.Add(Ember);
            charmonpow.Add(Flamethrower);

            Bitmon Charmon = new Bitmon(500, 15, 128,108, "Charmon", "Fuego", null, charmonpow,null);

            List<Poder> bitpow = new List<Poder>();
            bitpow.Add(Ember);
            bitpow.Add(FireFang);
            bitpow.Add(FireSpin);
            bitpow.Add(Flamethrower);

            Bitmon Bitmeleon = new Bitmon(800,20, 160, 140, "Bitmeleon", "Fuego", null, bitpow,null);

            List<Poder> pikapow = new List<Poder>();
            pikapow.Add(ChargeBeam);
            pikapow.Add(VoltSwitch);
            pikapow.Add(FireFang);
            pikapow.Add(FireSpin);

            Bitmon Pikamon = new Bitmon(400,17, 124, 108, "Pikamon", "Electro", null, pikapow,null);

            List<Poder> qwertypow = new List<Poder>();
            qwertypow.Add(ThunderShock);
            qwertypow.Add(Spark);
            qwertypow.Add(ChargeBeam);
            qwertypow.Add(VoltSwitch);

            Bitmon Qwertymon = new Bitmon(700,22, 200, 154, "Qwertymon", "Electro", null, qwertypow,null);

            List<Poder> squipow = new List<Poder>();
            squipow.Add(FrostBreath);
            squipow.Add(PowderSnow);
            squipow.Add(Bubble);
            squipow.Add(Waterfall);

            Bitmon Squimon = new Bitmon(500,13, 112, 142, "Squimon", "Agua", null, squipow,null);

            List<Poder> worpow = new List<Poder>();
            worpow.Add(WaterGun);
            worpow.Add(PoisonGun);
            worpow.Add(Bubble);
            worpow.Add(Waterfall);

            Bitmon Worbito = new Bitmon(600,19, 144, 176, "Worbito", "Agua", null, worpow,null);

            List<Poder> icepow = new List<Poder>();
            icepow.Add(PoisonGun);
            icepow.Add(Iceshard);
            icepow.Add(Hypothemia);
            icepow.Add(WaterGun);

            Bitmon Icemon = new Bitmon(500,12, 128, 110, "Icemon", "Hielo", null, icepow,null);

            List<Poder> dragpow = new List<Poder>();
            dragpow.Add(Iceshard);
            dragpow.Add(FrostBreath);
            dragpow.Add(PowderSnow);
            dragpow.Add(Hypothemia);

            Bitmon Dragonice = new Bitmon(800,20, 170, 152, "Dragonice", "Hielo", null, dragpow,null);

            List<Poder> tiripow = new List<Poder>();
            tiripow.Add(Flamethrower);
            tiripow.Add(Hypothemia);
            tiripow.Add(PoisonGun);
            tiripow.Add(Spark);

            Bitmon Tirimon = new Bitmon(600,17, 132, 136, "Tirimon", "Normal", null, tiripow,null);

            List<Poder> naidopow = new List<Poder>();
            naidopow.Add(FireSpin);
            naidopow.Add(Iceshard);
            naidopow.Add(Waterfall);
            naidopow.Add(VoltSwitch);

            Bitmon Naidormon = new Bitmon(1000,16, 142, 128, "Naidormon", "Normal", null, naidopow,null);

            List<Bitmon> disponibles = new List<Bitmon>();
            disponibles.Add(Charmon);
            disponibles.Add(Bitmeleon);
            disponibles.Add(Pikamon);
            disponibles.Add(Qwertymon);
            disponibles.Add(Squimon);
            disponibles.Add(Worbito);
            disponibles.Add(Icemon);
            disponibles.Add(Dragonice);
            disponibles.Add(Tirimon);
            disponibles.Add(Naidormon);

            //listo programa
            List<Bitmon> eq1 = new List<Bitmon>();
            List<Bitmon> eq2 = new List<Bitmon>();

            Console.WriteLine("Bienvenidos a BITMON STADIUM\n");
            Console.WriteLine("Ingrese Nombre Jugador 1:  \n");
            string nombre1 = Console.ReadLine();
            Console.WriteLine("\nIngrese Nombre Jugador 2:  \n");
            string nombre2 = Console.ReadLine();

            Console.Clear();

            Console.WriteLine("\nLa batalla está punto de comenzar!!! \n");
            Console.WriteLine("Los Bitmons disponibles son los siguientes!!: \n");

            Modelo md1 = new Modelo();

            md1.Mostrar(disponibles);

            Console.WriteLine("\n ################################################################################## \n");

            Console.WriteLine("\n" + nombre1 + " ingresa el nombre de tu primer Bitmon!(primer caracter en mayuscula) \n");
            md1.Addequipo(disponibles,eq1);
            Console.Clear();
            Console.WriteLine("\n################################################################################## \n");
            Console.WriteLine("\n" + nombre2 + " ingresa el nombre de tu primer Bitmon!(primer caracter en mayuscula) \n");
            md1.Mostrar(disponibles);
            md1.Addequipo(disponibles, eq2);
            Console.Clear();
            Console.WriteLine("\n################################################################################## \n");
            Console.WriteLine("\n" + nombre2 + " ingresa el nombre de tu segundo Bitmon!(primer caracter en mayuscula)\n ");
            md1.Mostrar(disponibles);
            md1.Addequipo(disponibles, eq2);
            Console.Clear();
            Console.WriteLine("\n################################################################################## \n");
            Console.WriteLine("\n" + nombre1 + " ingresa el nombre de  tu segundo Bitmon(primer caracter en mayuscula)! \n");
            md1.Mostrar(disponibles);
            md1.Addequipo(disponibles, eq1);
            Console.Clear();
            Console.WriteLine("\n################################################################################## \n");
            Console.WriteLine("\n" + nombre1 + " ingresa el nombre de tu ultimo Bitmon!(primer caracter en mayuscula)\n ");
            md1.Mostrar(disponibles);
            md1.Addequipo(disponibles, eq1);
            Console.Clear();
            Console.WriteLine("\n################################################################################## \n");
            Console.WriteLine("\n"+nombre2 + " ingresa el nombre de tu ultimo Bitmon!(primer caracter en mayuscula)\n ");
            md1.Mostrar(disponibles);
            md1.Addequipo(disponibles, eq2);
            Console.WriteLine("\n################################################################################## \n");

            Jugador jg1 = new Jugador(null, eq1, nombre1,1);
            Jugador jg2 = new Jugador(null, eq2, nombre2,2);

            List<Jugador> listas = new List<Jugador>();
            listas.Add(jg1);
            listas.Add(jg2);

            Lucha lucha = new Lucha(listas,1,1,"activa");
            lucha.MsjeBatalla();
            Console.WriteLine("\n################################################################################## \n");
            Console.Clear();
            lucha.Turn();
            Console.WriteLine("\n################################################################################## \n");
            lucha.SelectAct();
            Console.WriteLine("\n################################################################################## \n");
            bool pelea = true;
            while (pelea){

                lucha.PeleaTurno();
                Console.Clear();

                if (lucha.estadolucha=="activa"){
                    if (lucha.turno == 1)
                    {
                        lucha.turno = 2;
                        if (lucha.participantes[1].VerifyLife() == true)
                        {
                            lucha.participantes[1].Vervida();
                            continue;
                        }
                        if(lucha.participantes[1].VerifyLife() == false)
                        {
                            Console.Clear();
                            lucha.estadolucha = "finish";
                            Console.WriteLine("\n \n \n \n \n");
                            Console.WriteLine("Felicidades!!!! " + jg1.nombre + " eres el ganador de esta épica batalla!!");
                            Console.WriteLine("\n \n Presiona una tecla para terminar!");
                            Console.ReadKey();
                            pelea = false;
                            break;
                        }
                        
                    }
                    if (lucha.turno == 2)
                    {
                        lucha.turno = 1;
                        if (lucha.participantes[0].VerifyLife() == true)
                        {
                            lucha.participantes[0].Vervida();
                            continue;
                        }
                        if(lucha.participantes[0].VerifyLife() == false)
                        {
                            Console.Clear();
                            lucha.estadolucha = "finish";
                            Console.WriteLine("\n \n \n \n \n");
                            Console.WriteLine("Felicidades!!!! " + jg2.nombre + " eres el ganador de esta épica batalla!!");
                            Console.ReadKey();
                            pelea = false;
                            Console.Clear();
                            break;
                        }
                    }
                }

            }
           
        }
    }
}

Exemple #9
0
        public Bitmon Ataca(Bitmon atacado, Poder pow)
        {
            double defensareal = atacado.defensa * (0.3);//esto nos pareció necesario para hacer un poco más rápido y fluido el juego
            double ataquereal  = pow.danio + ataque;

            //reduccion de vida
            if (pow.tipo == "Normal")
            {
                atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal);
                Console.WriteLine("Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal));
            }
            if (pow.tipo == "Electro")
            {
                if (atacado.tipo == "Agua")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%-
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7));
                }
                if (atacado.tipo == "Hielo")//ataque 30%- y defensa 30%+
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3);
                    Console.WriteLine("[CRIT]Daño de ataquce escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3));
                }
                if (atacado.tipo == "Normal" || atacado.tipo == "Fuego" || atacado.tipo == "Electro")
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal);
                    Console.WriteLine("1.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal));
                }
            }
            if (pow.tipo == "Agua")
            {
                if (atacado.tipo == "Fuego")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%-
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7));
                }
                if (atacado.tipo == "Electro")//ataque 30%- y defensa 30%+
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3));
                }
                if (atacado.tipo == "Normal" || atacado.tipo == "Agua" || atacado.tipo == "Hielo")
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal);
                    Console.WriteLine("2.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal));
                }
            }
            if (pow.tipo == "Hielo")
            {
                if (atacado.tipo == "Electro")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%-
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7));
                }
                if (atacado.tipo == "Fuego")//ataque 30%- y defensa 30%+
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3));
                }
                if (atacado.tipo == "Normal" || atacado.tipo == "Agua" || atacado.tipo == "Hielo")
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal);
                    Console.WriteLine("3.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal));
                }
            }
            if (pow.tipo == "Fuego")
            {
                if (atacado.tipo == "Hielo")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%-
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7));
                }
                if (atacado.tipo == "Agua")//ataque 30%- y defensa 30%+
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3);
                    Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3));
                }
                if (atacado.tipo == "Normal" || atacado.tipo == "Fuego" || atacado.tipo == "Electro")
                {
                    atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal);
                    Console.WriteLine("4.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal));
                }
            }

            //reduccion stamina
            stamina = stamina - pow.costo;

            atacado.estadosalud = pow.ulti;

            if (atacado.vida <= 0)
            {
                atacado.vida        = 0;
                atacado.estadolucha = "muerto";
                Console.WriteLine($"{atacado.nombre} ha sido vencido :(. \n Por favor, eliga otro Bitmon! ");
            }

            return(atacado);
        }
Exemple #10
0
        public void PeleaTurno()
        {
            if (turno == 1)
            {
                Console.WriteLine("Estado de los bitmons iniciado este turno!:");
                Console.WriteLine("\nBitmon de " + participantes[0].nombre);
                foreach (Bitmon b in participantes[0].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine("\nBitmon de " + participantes[1].nombre);
                foreach (Bitmon b in participantes[1].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine("\n");
                bool boolaux = true;

                Bitmon bitaux = null;
                foreach (Bitmon b in participantes[0].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        bitaux = b;
                    }
                }

                if (bitaux.estadosalud == "Paralisis" || bitaux.estadosalud == "Sueño")
                {
                    Console.WriteLine($"{participantes[0].nombre}, Turno perdido debido a efectos de poderes :(");
                    boolaux = false;
                    if (bitaux.estadosalud == "Sueño")
                    {
                        foreach (Bitmon b in participantes[0].equipo)
                        {
                            if (b.estadolucha == "activo")
                            {
                                b.estadosalud = null;
                            }
                        }
                        Console.WriteLine("Felicidades, tu Bitmon despertó pero ya fue muy tarde, turno perdido :( ");
                    }
                }
                if (bitaux.estadosalud == "Veneno")
                {
                    foreach (Bitmon b in participantes[0].equipo)
                    {
                        if (b.estadolucha == "activo")
                        {
                            b.vida = b.vida - 10;
                        }
                    }

                    Console.WriteLine("Bitmon afectado por Veneno: Vida->" + bitaux.vida);
                }
                if (bitaux.estadosalud == "Confusion")
                {
                    Random rd1  = new Random();
                    int    azar = rd1.Next(1, 10);
                    if (azar < 6)
                    {
                        boolaux = false;
                        Console.WriteLine("Perdiste turno por la confusión de tu Bitmon :(");
                    }
                    else
                    {
                        Console.WriteLine("Que suerte, la confusión no hizo perder turno, a jugarse el kino!! \n \n");
                    }
                }

                while (boolaux)
                {
                    int  opcion;
                    bool pulenta = true;
                    Console.WriteLine("Turno de " + participantes[0].nombre);
                    Console.WriteLine("Por favor, eliga su accion!! (Ingrese el numero asociado a la accion \n)");
                    if (bitaux.stamina <= 0)
                    {
                        bitaux.stamina = 0;
                        pulenta        = false;
                        Console.WriteLine("No se puede atacar debido a que su Bitmon tiene 0 stamina :(, solo opción 2 y 3");
                    }
                    else
                    {
                        Console.WriteLine("1.- Atacar ");
                    }
                    Console.WriteLine("2.- Descansar ");
                    Console.WriteLine("3.- Cambiar \n");

                    try
                    {
                        opcion = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("dato mal ingresado, ingréselo nuevamente porfavor");
                        Console.WriteLine("Presiona una letra para continuar");
                        Console.ReadKey();
                        Console.Clear();
                        continue;
                    }

                    if (opcion == 3)
                    {
                        participantes[0].CambiarAct();
                        boolaux = false;
                        break;
                    }
                    if (opcion == 2)
                    {
                        Console.WriteLine("Está seguro que quieres que este bitmon descanse? [S/N]");

                        char p = Convert.ToChar(Console.ReadLine());

                        if (p == 's' || p == 'S')
                        {
                            foreach (Bitmon b in participantes[0].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    b.vida    = b.vida + 30;
                                    b.stamina = b.stamina + 5;
                                    Console.WriteLine($"Estadisticas de {b.nombre} mejoradas!!");
                                    Console.WriteLine($" Vida: +30      Stamina: +5 ");
                                    Console.WriteLine("Apreta una tecla para continuar!!");
                                    Console.ReadKey();
                                    break;
                                }
                            }
                        }
                        if (p == 'n' || p == 'N')
                        {
                            Console.WriteLine("Turno perdido :(");
                            Console.WriteLine("Apreta una tecla para continuar!!");
                            Console.ReadKey();
                        }
                        else
                        {
                            Console.WriteLine("opción no valida, ingresela nuevamente!!");
                        }
                        boolaux = false;
                        break;
                    }
                    if (opcion == 1 && bitaux.stamina > 0)
                    {
                        if (pulenta)
                        {
                            Bitmon act1 = null;
                            Bitmon act2 = null;
                            foreach (Bitmon b in participantes[0].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    act1 = b;
                                }
                            }
                            foreach (Bitmon b in participantes[1].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    act2 = b;
                                }
                            }
                            Console.WriteLine("\nAtaques disponible de " + act1.nombre);
                            int counter = 1;
                            foreach (Poder p in act1.poderes)
                            {
                                Console.WriteLine(counter + ".- Nombre: " + p.nombre + ", Costo: " + p.costo + ", Danio: " + p.danio + ", Tipo: " + p.tipo + ", Ulti: " + p.ulti);
                                counter++;
                            }

                            Poder power;
                            while (true)
                            {
                                int poderelegido;
                                Console.WriteLine("\n Ingrese el número del poder elegido para atacar al enemigo: ");
                                try
                                {
                                    poderelegido = Convert.ToInt32(Console.ReadLine()) - 1;
                                }
                                catch (FormatException)
                                {
                                    Console.WriteLine("Formato no aceptado");
                                    continue;
                                }
                                if (poderelegido < 0 || poderelegido > 3)
                                {
                                    Console.WriteLine("opción no valida, ingrese nuevamente");
                                    continue;
                                }
                                else
                                {
                                    power = act1.poderes[poderelegido];
                                    break;
                                }
                            }

                            act2 = act1.Ataca(act2, power);

                            foreach (Bitmon b in participantes[1].equipo)
                            {
                                if (b.nombre == act2.nombre)
                                {
                                    b.vida        = act2.vida;
                                    b.estadosalud = act2.estadosalud;
                                    b.estadolucha = act2.estadolucha;
                                    b.stamina     = act2.stamina;
                                    break;
                                }
                            }

                            boolaux = false;
                        }

                        else
                        {
                            Console.WriteLine("\n Opción inválida, por favor, Ingresela Nuevamente!!");
                            Console.Clear();
                            continue;
                        }
                    }
                    else
                    {
                        Console.WriteLine("Opción inválida, por favor, Ingresela Nuevamente!!");
                        Console.Clear();
                        continue;
                    }
                }

                Console.WriteLine("\n Datos de los Bitmons Finalizado este turno \n");
                Console.WriteLine("Bitmon de " + participantes[0].nombre);
                foreach (Bitmon b in participantes[0].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine("\n Bitmon de " + participantes[1].nombre);
                foreach (Bitmon b in participantes[1].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }

                Console.WriteLine("\n \n Presione cualquier letra para seguir jugando!!");
                Console.ReadKey();
            }

            if (turno == 2)
            {
                Console.WriteLine("Estado de los bitmons iniciado este turno!:");
                Console.WriteLine("\nBitmon de " + participantes[0].nombre);
                foreach (Bitmon b in participantes[0].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine("\nBitmon de " + participantes[1].nombre);
                foreach (Bitmon b in participantes[1].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }

                Console.WriteLine("\n");

                bool boolaux1 = true;

                Bitmon bitaux = null;
                foreach (Bitmon b in participantes[1].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        bitaux = b;
                    }
                }

                if (bitaux.estadosalud == "Paralisis" || bitaux.estadosalud == "Sueño")
                {
                    Console.WriteLine($"{participantes[1].nombre} , Turno perdido debido a efectos de poderes :(");
                    boolaux1 = false;
                    if (bitaux.estadosalud == "Sueño")
                    {
                        foreach (Bitmon b in participantes[1].equipo)
                        {
                            if (b.estadolucha == "activo")
                            {
                                b.estadosalud = null;
                            }
                        }
                        Console.WriteLine("Felicidades, tu Bitmon despertó pero ya fue muy tarde, turno perdido :( ");
                    }
                }
                if (bitaux.estadosalud == "Veneno")
                {
                    foreach (Bitmon b in participantes[0].equipo)
                    {
                        if (b.estadolucha == "activo")
                        {
                            b.vida = b.vida - 10;
                        }
                    }

                    Console.WriteLine("Bitmon afectado por Veneno: Vida->" + bitaux.vida);
                }
                if (bitaux.estadosalud == "Confusion")
                {
                    Random rd1  = new Random();
                    int    azar = rd1.Next(1, 10);
                    if (azar < 6)
                    {
                        boolaux1 = false;
                        Console.WriteLine("Perdiste turno por la confusión de tu Bitmon :(");
                    }
                    else
                    {
                        Console.WriteLine("Que suerte, la confusión no hizo perder turno, a jugarse el kino!! \n \n");
                    }
                }


                while (boolaux1)
                {
                    int  opcion;
                    bool pulenta = true;
                    Console.WriteLine("Turno de " + participantes[1].nombre);
                    Console.WriteLine("Por favor, eliga su accion!! (Ingrese el numero asociado a la accion \n)");
                    if (bitaux.stamina <= 0)
                    {
                        bitaux.stamina = 0;
                        pulenta        = false;
                        Console.WriteLine("No se puede atacar debido a que su Bitmon tiene 0 stamina :(, solo opción 2 y 3");
                    }
                    else
                    {
                        Console.WriteLine("1.- Atacar ");
                    }
                    Console.WriteLine("2.- Descansar ");
                    Console.WriteLine("3.- Cambiar \n");

                    try
                    {
                        opcion = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("dato mal ingresado, ingréselo nuevamente porfavor");
                        Console.WriteLine("Presiona una letra para continuar");
                        Console.ReadKey();
                        Console.Clear();
                        continue;
                    }

                    if (opcion == 3)
                    {
                        participantes[1].CambiarAct();
                        boolaux1 = false;
                        break;
                    }
                    if (opcion == 2)
                    {
                        Console.WriteLine("Está seguro que quieres que este bitmon descanse? [S/N]");

                        char p = Convert.ToChar(Console.ReadLine());

                        if (p == 's' || p == 'S')
                        {
                            foreach (Bitmon b in participantes[1].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    b.vida    = b.vida + 30;
                                    b.stamina = b.stamina + 5;
                                    Console.WriteLine($"Estadisticas de {b.nombre} mejoradas!!");
                                    Console.WriteLine($" Vida: +30      Stamina: +5 ");
                                    Console.WriteLine("Apreta una tecla para continuar!!");
                                    Console.ReadKey();
                                    break;
                                }
                            }
                        }
                        if (p == 'n' || p == 'N')
                        {
                            Console.WriteLine("Turno perdido :(");
                            Console.WriteLine("Apreta una tecla para continuar!!");
                            Console.ReadKey();
                        }
                        else
                        {
                            Console.WriteLine("opción no valida, ingresela nuevamente!!");
                        }
                        boolaux1 = false;
                        break;
                    }
                    if (opcion == 1 && bitaux.stamina > 0)
                    {
                        if (pulenta)
                        {
                            Bitmon act1 = null;
                            Bitmon act2 = null;
                            foreach (Bitmon b in participantes[1].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    act1 = b;
                                }
                            }
                            foreach (Bitmon b in participantes[0].equipo)
                            {
                                if (b.estadolucha == "activo")
                                {
                                    act2 = b;
                                }
                            }
                            Console.WriteLine(" \n Ataques disponible de " + act1.nombre);
                            int counter = 1;
                            foreach (Poder p in act1.poderes)
                            {
                                Console.WriteLine(counter + ".- Nombre: " + p.nombre + ", Costo: " + p.costo + ", Danio: " + p.danio + ", Tipo: " + p.tipo + ", Ulti: " + p.ulti);
                                counter++;
                            }
                            Poder power;
                            while (true)
                            {
                                int poderelegido;
                                Console.WriteLine("Ingrese el número del poder elegido para atacar al enemigo: \n ");
                                try
                                {
                                    poderelegido = Convert.ToInt32(Console.ReadLine()) - 1;
                                }
                                catch (FormatException)
                                {
                                    Console.WriteLine("Formato no aceptado");
                                    continue;
                                }
                                if (poderelegido < 0 || poderelegido > 3)
                                {
                                    Console.WriteLine("opción no valida, ingrese nuevamente");
                                    continue;
                                }
                                else
                                {
                                    power = act1.poderes[poderelegido];
                                    break;
                                }
                            }

                            act2 = act1.Ataca(act2, power);
                            foreach (Bitmon b in participantes[0].equipo)
                            {
                                if (b.nombre == act2.nombre)
                                {
                                    b.vida        = act2.vida;
                                    b.estadosalud = act2.estadosalud;
                                    b.estadolucha = act2.estadolucha;
                                    b.stamina     = act2.stamina;
                                    break;
                                }
                            }

                            boolaux1 = false;
                        }
                        else
                        {
                            Console.WriteLine(" \n Opción inválida, por favor, Ingresela Nuevamente!!");
                            Console.Clear();
                            continue;
                        }
                    }

                    else
                    {
                        Console.WriteLine(" \n Opción inválida, por favor, Ingresela Nuevamente!!");
                        Console.Clear();
                        continue;
                    }
                }
                Console.WriteLine("\nDatos de los Bitmons Finalizado este turno");
                Console.WriteLine("\nBitmon de " + participantes[0].nombre);
                foreach (Bitmon b in participantes[0].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine("\n Bitmon de " + participantes[1].nombre);
                foreach (Bitmon b in participantes[1].equipo)
                {
                    if (b.estadolucha == "activo")
                    {
                        Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha);
                    }
                }
                Console.WriteLine(" \nPresione cualquier letra para seguir jugando!");
                Console.ReadKey();
            }
        }