示例#1
0
        public EnemyGladiator(int character, ref Fighter f)
        {
            switch (character)
            {
            case 1:
                Name             = "Glass Jody";
                Strength         = 12;
                Agility          = 12;
                Intelligence     = 12;
                Luck             = 12;
                Constitution     = 12;
                MaxHitPoints     = 35;
                CurrentHitPoints = 35;
                Notoriety        = 1;
                tagLineSoft      = "Please don't hurt me, sir.";
                tagLineTough     = "Put em up, Put em up!";
                description      = "First cousin of boxer \"Glass\" Joe, Jody fights similarly.  Horribly bad.";
                specialMove      = "Jody throws a tantrum and slaps you with all of his might.\nYes, this IS Jody's 'special' attack!";
                break;

            case 2:
                Name             = "Macho Dan";
                Strength         = 15;
                Agility          = 15;
                Intelligence     = 6;
                Luck             = 10;
                Constitution     = 14;
                MaxHitPoints     = 75;
                CurrentHitPoints = 75;
                Notoriety        = 2;
                tagLineSoft      = "Snap into it?";
                tagLineTough     = "Ooooh Yeeeah!";
                description      = "Macho Dan watched a lot of wrestling in the 80's apparantly and is a \"Rex-Kwon Do\" master.\nHe wears a bandana and shades with his cuirass.";
                specialMove      = "Macho Dan finds a turnbuckle in the arena and jumps off of it,\nperforming a crushing elbow drop that would have made Randy Savage proud.";
                break;

            case 3:
                Name             = "Rafaela Fuego";
                Strength         = 6;
                Agility          = 20;
                Intelligence     = 20;
                Luck             = 20;
                Constitution     = 12;
                MaxHitPoints     = 48;
                CurrentHitPoints = 48;
                Notoriety        = 3;
                tagLineTough     = "Que te rompo!\nsubtitle: I must break you!";
                tagLineSoft      = "Se me rompe.\nsubtitle: You must break me";
                description      = "Andrés no se siente bien. Estuvo en una fiesta anoche y llegó a casa a las 3 am.\n Tiene dolor de cabeza y siente náusea. Bebió mucho y comió demasiados camarones. ";
                specialMove      = "Fuego unleashes a blindingly fast flurry of stabs and jabs,\nthat turns your torso into swiss cheese";
                break;

            case 4:
                Name             = "Mr. Biscuits";
                Strength         = 20;
                Agility          = 2;
                Intelligence     = 8;
                Luck             = 8;
                Constitution     = 24;
                MaxHitPoints     = 150;
                CurrentHitPoints = 150;
                Notoriety        = 4;
                tagLineTough     = "Get in mah belly!";
                tagLineSoft      = "Get in mah belly?";
                description      = "Fat and Happy, Mr. Biscuits eats EVERYTHING he can get his stubby fingers on.\nHe stands 6'8\" and weighs 650 lbs. He wears a striped tent as a tunic in the arena for his matches.\n";
                specialMove      = "\nMr. Biscuits throws you down and sits on you, crushing the life out of you slowly, but surely.\nThe faint smell of twinkie, bacon and ass permeate your senses as you start to fade away.";
                break;

            case 5:
                Name             = "Rich Ro$$";
                Strength         = 18;
                Agility          = 13;
                Intelligence     = 12;
                Luck             = 12;
                Constitution     = 18;
                MaxHitPoints     = 100;
                CurrentHitPoints = 100;
                Notoriety        = 5;
                tagLineTough     = "Everyday I'm hustlin'";
                tagLineSoft      = "Push it to the limit.";
                description      = "Put molly all in her champagne, She ain't even know it, I took her home and I enjoyed that, She ain't even know it.";
                specialMove      = "Rich Ro$$ pulls out a Glock 9mm and pops a cap in your ass.\nYou wonder how the hell he got that thing in a freaking time period before Jesus was born.";
                break;

            case 6:
                Name             = "Caesar the Conqueror";
                Strength         = 24;
                Agility          = 18;
                Intelligence     = 18;
                Luck             = 18;
                Constitution     = 18;
                MaxHitPoints     = 120;
                CurrentHitPoints = 120;
                Notoriety        = 10;
                tagLineTough     = "I will crush you, you...you swine";
                tagLineSoft      = "Guards!!! Seize him! Guards???";
                description      = "He's the boss.  Think Commodus in 'Gladiator', not that this game parallels that movie (at all).";
                specialMove      = "Caesar swings for your neck like he wants to put it on a pike for the entire month of Augustus. You feel honored.";
                break;

            default:
                MainMenu.WinGame(f);
                break;
            } //end switch
        }     //end ctor
示例#2
0
        public CombatMenu(Fighter f, EnemyGladiator e)
        {
            while (CombatActive)
            {
                int f20Roll = Roller.rollXSidedDice(20, 1, 1);
                int e20Roll = Roller.rollXSidedDice(20, 1, 1);

                if (salve == 0)
                {
                    Console.WriteLine("\nAs you walk through the narrow pathway to the arena,\n" +
                                      "a fair maiden hands you a satchel.  She says, \"Good luck, warrior. Take this\n" +
                                      "magic salve to heal your wounds during your fight.\"\n");

                    salve += 3;
                }
                else
                {
                    Console.WriteLine("The enemy has {0} hit points left", e.CurrentHitPoints);
                    Console.WriteLine("You have {0} hit points left", f.CurrentHitPoints);
                    Console.WriteLine("You have fought {0} round(s)", turn);
                    Console.WriteLine();
                    //Display Menu - perform menu actions
                    Console.WriteLine("1) Melee Attack");
                    Console.WriteLine("2) Ranged Attack");
                    Console.WriteLine("3) Close with Enemy");
                    Console.WriteLine("4) Use salve");
                    Console.WriteLine("5) Yield");
                    if (f.Fury > 3 || f.Spirit > 3)
                    {
                        Console.WriteLine("6) Special Attack");
                    }

                    int yourMove = Convert.ToInt32(Console.ReadLine());
                    //start switch
                    switch (yourMove)
                    {
                    //attempt to attack enemy if close enough
                    case 1:
                        if (range < 2)
                        {
                            Console.WriteLine("\nYou swing your sword at the enemy, thoroughly expecting to lop his ugly head off.");
                            Console.WriteLine();
                            Console.WriteLine("\nYou catch him on his heels and swing for the fences.", f.Name);
                            if (f.AttackEnemy() > e.Avoid())
                            {
                                int damage1 = f.CalculateDamage();
                                e.ReceiveDamage(damage1);
                                Console.WriteLine("\nyou hit {0} for {1} damage", e.Name, damage1);
                                f.Spirit++;
                                e.Fury++;

                                if (e.CurrentHitPoints <= 0)
                                {
                                    CombatActive = false;
                                    break;
                                }
                            }
                            else
                            {
                                Console.WriteLine("\nYou miss");
                                f.Spirit--;
                            }

                            #region Obsolete counter-attack code

                            /*{
                             *  Console.WriteLine("\n Your attack whiffs, {0} attacks you, instead!", e.Name);
                             *  if (e.AttackEnemy() > f.Avoid())
                             *  {
                             *      int damage2 = e.CalculateDamage();
                             *      f.ReceiveDamage(damage2);
                             *      Console.WriteLine("he hit you for {0} damage", damage2);
                             *      f.Fury++;
                             *      e.Spirit++;
                             *
                             *      if (f.CurrentHitPoints <= 0)
                             *      {
                             *          CombatActive = false;
                             *          break;
                             *      }
                             *  }
                             *  else
                             *  {
                             *      Console.WriteLine("The enemy misses");
                             *      e.Spirit--;
                             *
                             *  }
                             *
                             *
                             *
                             * }//end if*/
                            #endregion
                        }    //end range if
                        else
                        {
                            Console.WriteLine("You're not close enough to perform that action.");
                        }
                        break;

                    //ranged attack if range > 1

                    case 2:
                        if (range > 1)
                        {
                            Console.WriteLine("You don't have a ranged weapon yet!");
                            break;
                        }
                        else
                        {
                            Console.WriteLine("You cannot hit with ranged weapons in your current proximity to the enemy.\n" +
                                              "You shoot your imaginary arrow and it does nothing.  Your opponent laughs.");
                            break;
                        }

                    //close range to enemy
                    case 3:
                        Console.WriteLine("\n You sprint towards the enemy and make the craziest, most bloodthirsty face you can muster");
                        range--;
                        break;

                    //apply salve to heal
                    case 4:
                        if (salve > 0)
                        {
                            Console.WriteLine("\nYou use the magic salve on your wounds, and feel better immediately");
                            f.CurrentHitPoints += 20;
                            salve--;
                            break;
                        }
                        else
                        {
                            Console.WriteLine("\nYou don't have any magic salve left.");
                            break;
                        }

                    //case 5:

                    //

                    case 6:
                        Console.WriteLine("You focus all of your energy into a mighty finishing blow that staggers the enemy.");
                        e.CurrentHitPoints -= 35;
                        break;
                    }//end switch

                    //enemyTurn
                    int enemyTurn = Roller.rollXSidedDice(6, 1, 1);
                    if (range > 1 && e.CurrentHitPoints > 15)
                    {
                        Console.WriteLine("\n{0} moves closer to you.", e.Name);
                        range--;
                    }
                    else if (e.CurrentHitPoints <= 15 && e.CurrentHitPoints > 0)
                    {
                        Console.WriteLine("\n{0}, injured and wobbly, applies the magic salve", e.Name);
                        eSalve--;
                        e.CurrentHitPoints += 20;
                    }
                    else
                    {
                        Console.WriteLine("\n {0} winds up and swings his sword with all of his might!", e.Name);
                        if (e.AttackEnemy() > f.Avoid())
                        {
                            int damage2 = e.CalculateDamage();
                            f.ReceiveDamage(damage2);
                            Console.WriteLine("\nhe hit you for {0} damage", damage2);
                            f.Fury++;
                            e.Spirit++;

                            if (f.CurrentHitPoints <= 0)
                            {
                                CombatActive = false;
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("\nThe enemy misses");
                            e.Spirit--;
                            f.Spirit++;
                        }
                    } //end enemyTurn
                }     //end if
                turn++;
            }    //end while
        } //end method