コード例 #1
0
        /// <summary>
        /// Control method for the application flow
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //
            // instantiate (create) a player object
            //
            Player _myPlayer = new Player();

            InitializeConsoleWindow();

            DisplayWelcomeScreen();

            DisplayGetInitialInfo(_myPlayer);
            DisplayGetPlayersRace(_myPlayer);
            DisplayGetPlayersAge(_myPlayer);

            DisplaySummary(_myPlayer);

            DisplayClosingScreen(_myPlayer);
        }
コード例 #2
0
        /// <summary>
        /// Display the Closing screen
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayClosingScreen(Player myPlayer)
        {
            DisplayNewScreenHeader();

            Console.WriteLine(" Well {0} {1} it appears we are done here.", myPlayer.Rank, myPlayer.Name);
            Console.WriteLine();

            Console.WriteLine(myPlayer.InitialOrders());
            Console.WriteLine();

            Console.WriteLine(" Good Luck!");

            DisplayReturnPrompt();
        }
コード例 #3
0
        /// <summary>
        /// Display a summary of the processing
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplaySummary(Player myPlayer)
        {
            DisplayNewScreenHeader();

            Console.WriteLine();
            Console.WriteLine("We have the following information for you {0} {1}.", myPlayer.Rank, myPlayer.Name);
            Console.WriteLine();

            Console.Write(" Status       : ");
            if (myPlayer.Rookie)
            {
                Console.WriteLine("Rookie");
            }
            else
            {
                Console.WriteLine("Veteran");
            }

            Console.WriteLine(" Galactic Race: {0}", myPlayer.Race);
            Console.WriteLine(" Age          : {0}", myPlayer.Age);

            DisplayReturnPrompt();
        }
コード例 #4
0
        /// <summary>
        /// Acquire player's age in years
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayGetPlayersAge(Player myPlayer)
        {
            string playerResponse;
            bool validResponse = false;
            int age;

            DisplayNewScreenHeader();

            Console.Write(" Please enter your age: ");

            //
            // Validate the player's response for age
            while (!validResponse)
            {
                playerResponse = Console.ReadLine();

                if ((Int32.TryParse(playerResponse, out age)) && ((age <= 200) && (age >= 21)))
                {
                    myPlayer.Age = age;
                    validResponse = true;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine(" It appears you have not entered an invalid age.");
                    Console.Write(" Please enter your age in years using a value between 21 and 200.");
                }
            }

            if (myPlayer.Age > 80)
            {
                Console.WriteLine();
                Console.WriteLine(" You are either in really good shape or are an Tradaian.");
            }

            DisplayReturnPrompt();
        }
コード例 #5
0
        /// <summary>
        /// Acquire player's race from enum options
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayGetPlayersRace(Player myPlayer)
        {
            string playerResponse;
            bool validResponse = false;
            Player.GalacticRace race;

            DisplayNewScreenHeader();

            Console.WriteLine(" Please enter one of the following races. ");
            Console.WriteLine();

            //
            // generate a list of race type names for user to choose from
            //
            foreach (string raceType in Enum.GetNames(typeof(Player.GalacticRace)))
            {
                Console.WriteLine(" " + raceType);
            }

            Console.WriteLine();
            Console.Write(" Race: ");

            //
            // validate player's choice of race against the enum
            //
            playerResponse = Console.ReadLine();
            while (!validResponse)
            {
                if (Enum.TryParse(playerResponse, out race))
                {
                    myPlayer.Race = race;
                    validResponse = true;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine(" It appears you have not entered a valid race.");
                    Console.WriteLine(" Please enter one of the races below exactly as it appears.");

                    //
                    // generate a list of race type names for user to choose from
                    //
                    foreach (string raceType in Enum.GetNames(typeof(Player.GalacticRace)))
                    {
                        Console.WriteLine(" " + raceType);
                    }

                    Console.Write(" Please enter your race: ");
                    playerResponse = Console.ReadLine();
                    Console.WriteLine();
                }
            }

            DisplayReturnPrompt();

        }
コード例 #6
0
        /// <summary>
        /// Get the initial information from the player
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayGetInitialInfo(Player myPlayer)
        {
            bool validResponse = false;
            string playerResponse;

            DisplayNewScreenHeader();

            Console.WriteLine();
            Console.Write(" Please enter your name: ");
            myPlayer.Name = Console.ReadLine();

            Console.WriteLine();
            Console.WriteLine(" Private, Sargent, Lieutenant, Captain, Major, Colonel, General");
            Console.Write(" Please enter your rank: ");
            Player.ServiceRank rank;

            //
            // validate player's choice of rank against the enum
            //
            playerResponse = Console.ReadLine();
            while (!validResponse)
            {
                if (Enum.TryParse(playerResponse, out rank))
                {
                    myPlayer.Rank = rank;
                    validResponse = true;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine(" It appears you have not entered a valid rank.");
                    Console.WriteLine(" Please enter one of the ranks below exactly as it appears.");
                    Console.WriteLine();
                    Console.WriteLine(" Private, Sargent, Lieutenant, Captain, Major, Colonel, General");
                    Console.WriteLine();
                    Console.Write(" Please enter your rank: ");
                    playerResponse = Console.ReadLine();
                    Console.WriteLine();
                }
            }

            Console.WriteLine();
            Console.Write(" Is this your first mission? (YES or NO): ");
            //
            // GetYesNoFromConsole() returns a bool where yes equal true
            //
            myPlayer.Rookie = GetYesNoResponse();

            Console.WriteLine();
            Console.WriteLine(" Welcome {0} {1}.", myPlayer.Rank, myPlayer.Name);

            if (myPlayer.Rookie == true)
            {
                Console.WriteLine(" It is a pleasure to have new blood in our ranks!");
            }
            else
            {
                Console.WriteLine(" It is a pleasure to have some experience in our ranks!");
            }

            DisplayReturnPrompt();
        }
コード例 #7
0
        private static void DisplayGetPlayerBackpackItems(Player myPlayer)
        {
            bool done = false;
            bool addNewItem;

            DisplayNewScreenHeader();

            Console.WriteLine(" You are allowed some personal items in your backpack.");
            Console.WriteLine(" Please enter items one at a time when prompted.");
            Console.WriteLine(" You will be prompted on each time for Name, Description, and Count.");
            Console.WriteLine();

            //
            // Add items to the backpack
            //
            while (!done)
            {
                Console.Write(" Would you like to add an item to your backpack (Yes or No)");
                addNewItem = GetYesNoFromConsole();
                Console.WriteLine();

                //
                // Player would like an item added
                //
                if (addNewItem)
                {
                    //
                    // Instantiate a temporary item to hold the player's responses
                    //
                    Item newItem = new Item();

                    //
                    // Query player for item info
                    //
                    Console.Write(" Please enter an item name:");
                    newItem.Name = Console.ReadLine();

                    Console.Write(" Please enter the item's description:");
                    newItem.Description = Console.ReadLine();

                    Console.Write(" Please enter the number you will carry:");
                    newItem.Count = GetIntegerFromConsole("number of items", 1, 50);

                    Console.WriteLine();

                    //
                    // Add new item to the backpack list
                    //
                    myPlayer.Backpack.Add(newItem);

                    //
                    // set newItem to null to free memory
                    //
                    newItem = null;
                }
                //
                // Player is done adding items
                //
                else
                {
                    done = true;
                }
            }

            Console.WriteLine();

            //
            // list the items in the backpack
            //
            if (myPlayer.Backpack.Count != 0)
            {
                Console.WriteLine(" You have entered the following items in your backpack.");
                Console.WriteLine();

                foreach (Item item in myPlayer.Backpack)
                {
                    Console.WriteLine(" Item Name, Count: {0}, {1} units", item.Name, item.Count);
                    Console.WriteLine(" Item Description: {0}", item.Description);
                    Console.WriteLine();
                }
            }
            // no items in the backpack
            else
            {
                Console.WriteLine(" It appears you like to travel light.");
            }

            DisplayReturnPrompt();
        }
コード例 #8
0
        /// <summary>
        /// Display a summary of the processing
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplaySummary(Player myPlayer)
        {
            string weaponsList = "";
            string backpackList = "";

            DisplayNewScreenHeader();

            Console.WriteLine();
            Console.WriteLine("We have the following information for you {0} {1}.", myPlayer.Rank, myPlayer.Name);
            Console.WriteLine();

            Console.Write(" Status       : ");
            if (myPlayer.Rookie)
            {
                Console.WriteLine("Rookie");
            }
            else
            {
                Console.WriteLine("Veteran");
            }

            Console.WriteLine(" Galactic Race: {0}", myPlayer.Race);
            Console.WriteLine(" Age          : {0}", myPlayer.Age);

            //
            // Build out and display weapons list
            //
            if (myPlayer.Weapons != null)
            {
                for (int weaponCount = 0; weaponCount <= Player.MAX_NUMBER_OF_WEAPONS - 1; weaponCount++)
                {
                    weaponsList = weaponsList + myPlayer.Weapons[weaponCount];
                    if (weaponCount != Player.MAX_NUMBER_OF_WEAPONS - 1)
                    {
                        weaponsList = weaponsList + "     ";
                    }
                }
            }
            else
            {
                weaponsList = "None";
            }
            Console.WriteLine(" Weapons      : {0}", weaponsList);

            //
            // build out and display the backpack list
            //
            if (myPlayer.Backpack.Count != 0)
            {
                foreach (Item item in myPlayer.Backpack)
                {
                    backpackList += item.Name + " ";
                }
            }
            // backpack empty
            else
            {
                backpackList = "Empty";
            }
            Console.WriteLine(" Backpack     : {0}", backpackList);

            DisplayReturnPrompt();
        }
コード例 #9
0
        /// <summary>
        /// Acquire the player's weapon types
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayGetPlayersWeapons(Player myPlayer)
        {
            int playersNumWeapons = -1;

            DisplayNewScreenHeader();

            Console.WriteLine(" You are allowed a maximum of three weapons on this mission. ");
            Console.WriteLine();
            Console.Write(" Please state the number of weapons you would like to carry: ");
            playersNumWeapons = GetIntegerFromConsole("number of weapons", 0, 3);


            if (playersNumWeapons == 0)
            {
                Console.WriteLine();
                Console.WriteLine(" No, weapons eh!? What, are you Chuck Norris or something?");
            }
            else
            {
                for (int weapon = 0; weapon <= playersNumWeapons - 1; weapon++)
                {
                    Console.WriteLine();
                    Console.Write(" Enter the name of weapon {0}: ", weapon + 1);
                    myPlayer.Weapons[weapon] = Console.ReadLine();
                }

                Console.WriteLine();
                Console.WriteLine(" You will be issued the following weapons:");
                for (int weapon = 0; weapon <= playersNumWeapons - 1; weapon++)
                {
                    Console.Write(" [{0}] ", myPlayer.Weapons[weapon]);
                }
                Console.WriteLine();
            }

            DisplayReturnPrompt();
        }
コード例 #10
0
        /// <summary>
        /// Acquire player's age in years
        /// </summary>
        /// <param name="myPlayer">player object</param>
        private static void DisplayGetPlayersAge(Player myPlayer)
        {
            DisplayNewScreenHeader();

            Console.Write(" Please enter your age: ");

            myPlayer.Age = GetIntegerFromConsole("age", 0, 200);

            if (myPlayer.Age > 80)
            {
                Console.WriteLine();
                Console.WriteLine(" You are either in really good shape or are an Tradaian.");
            }

            DisplayReturnPrompt();
        }
コード例 #11
0
        private static void DisplayGetPlayerBackpackItems(Player myPlayer)
        {
            bool done = false;
            string userResponse;

            DisplayNewScreenHeader();

            Console.WriteLine(" You are allowed some personal items in your backpack.");
            Console.WriteLine(" Please enter items one at a time when prompted.");
            Console.WriteLine(" Enter 'Done' when your are finished adding items.");
            Console.WriteLine();

            //
            // Add items to the backpack
            //
            while (!done)
            {
                Console.Write(" Please enter an item:");
                userResponse = Console.ReadLine();

                if (userResponse.ToUpper() != "DONE")
                {
                    myPlayer.Backpack.Add(userResponse);
                }
                // user is finished entering items for the backpack
                else
                {
                    done = true;
                }
            }

            Console.WriteLine();

            //
            // list the items in the backpack
            //
            if (myPlayer.Backpack.Count != 0)
            {
                Console.WriteLine(" You have entered the following items in your backpack.");

                foreach (string item in myPlayer.Backpack)
                {
                    Console.WriteLine(" Item: {0}", item);
                }
            }
            // no items in the backpack
            else
            {
                Console.WriteLine(" It appears you like to travel light.");
            }

            DisplayReturnPrompt();
        }
コード例 #12
0
        /// <summary>
        /// Acquire player's race from enum options
        /// </summary>
        private static void DisplayGetPlayersRace(Player myPlayer)
        {
            string playerResponse;

            DisplayNewScreenHeader();

            Console.WriteLine(" Please enter one of the following races. ");
            Console.WriteLine();

            //
            // generate a list of race type names for user to choose from
            //
            foreach (string raceType in Enum.GetNames(typeof(Player.GalacticRace)))
            {
                Console.WriteLine(" " + raceType);
            }

            Console.WriteLine();
            Console.Write(" Race: ");

            playerResponse = Console.ReadLine();
            myPlayer.Race = (Player.GalacticRace)Enum.Parse(typeof(Player.GalacticRace), playerResponse);

            DisplayReturnPrompt();

        }
コード例 #13
0
        /// 
        /// Get the initial information from the player
        /// </summary>
        private static void DisplayGetInitialInfo(Player myPlayer)
        {
            string playerResponse;

            DisplayNewScreenHeader();
            
            Console.WriteLine();
            Console.Write(" Please enter your name: ");
            myPlayer.Name = Console.ReadLine();

            Console.WriteLine();
            Console.WriteLine(" Private, Sargent, Lieutenant, Captain, Major, Colonel, General");
            Console.Write(" Please enter your rank: ");
            Player.ServiceRank rank;
            Enum.TryParse(Console.ReadLine(), out rank);
            myPlayer.Rank = rank;

            Console.WriteLine();
            Console.Write(" Is this your first mission? (YES or NO): ");

            playerResponse = Console.ReadLine().Trim().ToUpper();
            if (playerResponse == "YES")
            {
                myPlayer.Rookie = true;
            }
            else
            {
                myPlayer.Rookie = false;
            }

            Console.WriteLine();
            Console.WriteLine(" Welcome {0} {1}.", myPlayer.Rank, myPlayer.Name);

            if (myPlayer.Rookie == true)
            {
                Console.WriteLine(" It is a pleasure to have new blood in our ranks!");
            }
            else
            {
                Console.WriteLine(" It is a pleasure to have some experience in our ranks!");
            }

            DisplayReturnPrompt();
        }