Exemplo n.º 1
0
 public void Set(BattleObject attacker, BattleObject defender, int[,] attackRolls, int[] defenseRolls, int attackerDamage, int defenderDamage)
 {
     this.attacker       = attacker;
     this.defender       = defender;
     this.attackRolls    = attackRolls;
     this.defenseRolls   = defenseRolls;
     this.attackerDamage = this.attackerDamage;
     this.defenderDamage = defenderDamage;
 }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            BattleMethods battle = new BattleMethods();

            BattleObject attacker = new BattleObject();
            attacker.action = "shoot";
            attacker.BS = 14;
            attacker.burst = 3;
            attacker.CC = 12;
            attacker.PH = 12;

            BattleObject defender = new BattleObject();
            defender.action = "shoot";
            defender.BS = 13;
            defender.burst = 1;
            defender.CC = 12;
            defender.PH = 12;

            battle.ShootAndShoot(attacker, defender);

            Console.ReadLine();
        }
Exemplo n.º 3
0
        public void ShootAndShoot(BattleObject attacker, BattleObject defender)
        {
            Random roll = new Random();

            int[,] attackRolls = new int[attacker.burst, 2];
            int[] defenseRolls   = new int[2];
            int   attackerDamage = 0;
            int   defenderDamage = 0;

            // Roll for Attacker
            for (int x = 0; x < attackRolls.GetLength(0); x++)
            {
                int y = roll.Next(1, 21);
                attackRolls[x, 0] = y;
                //Console.WriteLine(y);
                if (y <= attacker.BS)
                {
                    attackRolls[x, 1] = 1;
                    defenderDamage++;
                }
                else
                {
                    attackRolls[x, 1] = 0;
                }
            }

            // Roll for Defender
            defenseRolls[0] = roll.Next(1, 21);
            //Console.WriteLine(defenseRolls);
            if (defenseRolls[0] <= defender.BS)
            {
                defenseRolls[1] = 1;
                attackerDamage++;
            }

            else
            {
                defenseRolls[1] = 0;
            }

            // Negate Attack rolls
            for (int x = 0; x < attackRolls.GetLength(0); x++)
            {
                if (attackRolls[x, 1] != 0)
                {
                    if (attackRolls[x, 0] < defenseRolls[0] && defenseRolls[1] != 0)
                    {
                        attackRolls[x, 1] = 2;
                        defenderDamage--;
                    }
                    else if (attackRolls[x, 0] == defenseRolls[0] && defenseRolls[1] != 0)
                    {
                        attackRolls[x, 1] = 2;
                        attackerDamage--;
                        defenderDamage--;
                    }
                    else if (defenseRolls[1] == 1)
                    {
                        defenseRolls[1] = 2;
                        attackerDamage--;
                    }
                }
            }

            // Print Results
            Console.WriteLine("Attacker Skill: {0}     Defender Skill: {1}", attacker.BS, defender.BS);
            Console.WriteLine("\nAttacker Rolls:");
            for (int x = 0; x < attackRolls.GetLength(0); x++)
            {
                Console.Write("{0}: ", attackRolls[x, 0]);
                if (attackRolls[x, 1] == 0)
                {
                    Console.Write("Miss\n");
                }
                else if (attackRolls[x, 1] == 1)
                {
                    Console.Write("Hit\n");
                }
                else
                {
                    Console.Write("Negated\n");
                }
            }

            Console.WriteLine("\nDefender Roll:");
            Console.Write("{0}: ", defenseRolls[0]);
            if (defenseRolls[1] == 0)
            {
                Console.Write("Miss\n");
            }
            else if (defenseRolls[1] == 1)
            {
                Console.Write("Hit\n");
            }
            else
            {
                Console.Write("Negated\n");
            }

            ResultObject result = new ResultObject();

            result.Set(attacker, defender, attackRolls, defenseRolls, attackerDamage, defenderDamage);
            XmlSerializer serializer = new XmlSerializer(result.GetType());
            StringWriter  writer     = new StringWriter();

            serializer.Serialize(writer, result);

            PrintResult(writer.ToString());
        }