Ejemplo n.º 1
0
        public void DefineSkills(int numSkills, Skill newSkill)
        {
            Random selector = new Random();

            if (numSkills > 3)
            {
                numSkills = 3;
            }
            if (numSkills <= 0)
            {
                numSkills = 1;
            }

            if (Moveset.Count == 0 && newSkill is AttackSkill)
            {
                Moveset.Add(newSkill);
            }
            else if (Moveset.Count != 0 && Moveset.Count < numSkills)
            {
                Moveset.Add(newSkill);
            }
            else if (Moveset.Count == 0 && newSkill is SupportSkill)
            {
                AttackSkill remplaceSkill = new AttackSkill("basicPunch", selector.Next(1, 11), selector.Next(0, 7));
                Moveset.Add(remplaceSkill);
            }
        }
Ejemplo n.º 2
0
        static public void CombatWindWaterReview()
        {
            Affinity affinityTable = new Affinity();                           //invocamos la clase de affinidades para acceder a la tabla de tipos

            Critter defCritter = new Critter("Alma", 10, 15, 20, 1, 250);      //creamos una nueva criatura para combatir de elemento Viento
            Critter atqCritter = new Critter("Nero", 60, 60, 20, 2, 400);      //creamos un criter atacante y uno defensor

            Console.WriteLine("Afinidad del critter: " + defCritter.Affinity); //mostramos que si sea de afinidad Viento

            AttackSkill attackSkill1 = new AttackSkill("pancho Power", 10, 2); //creamos el ataque de daño de Agua

            atqCritter.DefineSkills(3, attackSkill1);                          //le damos el ataque;


            Console.WriteLine("Afinidad del Ataque: " + attackSkill1.MyAffinity); //mostrar para saber si si es de afinidad de Agua

            Console.WriteLine("Vida del Critter: " + defCritter.Hp);              //mostramos la vida antes del ataque

            //procedemos al ataque

            if (attackSkill1 is AttackSkill)
            {
                float mult = affinityTable.AfinityTable(attackSkill1.MyAffinity, defCritter.Affinity); //con la tabla de tipos logramos sacar el multiplicador
                Console.WriteLine(mult);
                defCritter.OnHit(atqCritter.CurrentAtq, atqCritter.Moveset[0].Power, mult);
            }

            Console.WriteLine("Vida del Critter: " + defCritter.Hp); //mostramos la vida despues del ataque
        }
Ejemplo n.º 3
0
        static public void AttackSkillPowerReview()
        {
            //Un AttackSkill NO puede crearse con poder 0, ni con un valor fuera del rango.
            AttackSkill attackSkill1 = new AttackSkill("pancho Power", 0, 3); // lo sobre cargamos ocn un cero en la parte del poder para probar

            Console.WriteLine("poder del Ataque 1 : " + attackSkill1.Power);  //imprimimos el poder para probar
                                                                              //se comprueba que da uno aunque pongamos cero

            //revisamos el caso contrario
            AttackSkill attackSkill2 = new AttackSkill("pancho Power", 25, 3); // la sobrecargamos con un valor por fuera del rango de poder

            Console.WriteLine("poder del Ataque 2: " + attackSkill2.Power);    //imprimimos para revisar
            //se comprueba que el valor se ajusta a 10 que es el maximo
        }
Ejemplo n.º 4
0
        public void EquipCritters(int numCritters = 1)
        {
            Random selector = new Random();

            if (numCritters > 3)
            {
                numCritters = 3;
            }
            if (numCritters <= 0)
            {
                numCritters = 1;
            }
            //aqui rellenos los criters de base
            for (int i = 0; i < numCritters; i++)
            {
                Critter newCritter = new Critter(i.ToString() + "-kun", selector.Next(10, 101), selector.Next(10, 101),
                                                 selector.Next(10, 51), selector.Next(0, 8), selector.Next(0, 501));
                Critters.Add(newCritter);
            }
            //aqui le damos las skils a cada criter
            for (int i = 0; i < Critters.Count; i++)
            {
                int numSkills = selector.Next(1, 4);

                for (int j = 0; j < numSkills; j++)
                {
                    int skillCondition = selector.Next(0, 2);
                    if (skillCondition == 0)
                    {
                        AttackSkill newSkill = new AttackSkill(j.ToString() + " power", selector.Next(0, 11), selector.Next(0, 7));
                        Critters[i].DefineSkills(numSkills, newSkill);
                    }
                    else if (skillCondition == 1)
                    {
                        SupportSkill newSkill = new SupportSkill("x", selector.Next(0, 11), selector.Next(0, 3));
                        Critters[i].DefineSkills(numSkills, newSkill);
                    }
                }
            }
        }