Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <IRobber> rolodex = new List <IRobber>();

            // creating team
            Hacker         Steve  = new Hacker("Steve", 28, 10);
            LockSpecialist Susan  = new LockSpecialist("Susan", 55, 10);
            Muscle         Cyborg = new Muscle("Cyborg", 33, 7);
            Hacker         Greg   = new Hacker("Old Greg", 15, 3);
            LockSpecialist Bill   = new LockSpecialist("Bill", 10, 5);
            Muscle         Selena = new Muscle("Selena", 40, 10);


            // adding team members to rolodex
            rolodex.Add(Steve);
            rolodex.Add(Susan);
            rolodex.Add(Cyborg);
            rolodex.Add(Greg);
            rolodex.Add(Bill);
            rolodex.Add(Selena);

            bool userAddMember = true;

            while (userAddMember)
            {
                Console.WriteLine("Enter your crew member's name: ");
                string userCrewName = Console.ReadLine();
                if (userCrewName == "")
                {
                    break;
                }
                Console.WriteLine("What would you like your crew member to do? Hacker, Muscle or Lock Specialist: ");
                string userCrewMemberAbility = Console.ReadLine();
                if (userCrewMemberAbility == "")
                {
                    break;
                }

                Console.WriteLine("What would you like their skill level to be? (1-100): ");
                string userMemberSkillLevel = Console.ReadLine();

                if (userMemberSkillLevel == "")
                {
                    break;
                }

                Console.WriteLine("What percentage should their cut be? ");
                string userMemberCut = Console.ReadLine();

                if (userMemberCut == "")
                {
                    break;
                }

                try
                {
                    int skillLevel = Int32.Parse(userMemberSkillLevel);
                    int memberCut  = Int32.Parse(userMemberCut);
                    if (userCrewMemberAbility == "Hacker")
                    {
                        Hacker newMember = new Hacker(userCrewName, skillLevel, memberCut);
                    }
                    else if (userCrewMemberAbility == "Muscle")
                    {
                        Muscle newMember = new Muscle(userCrewName, skillLevel, memberCut);
                    }
                    else if (userCrewMemberAbility == "Lock Specialist")
                    {
                        LockSpecialist newMember = new LockSpecialist(userCrewName, skillLevel, memberCut);
                    }
                    else
                    {
                        Console.WriteLine("Ability was not spelled properly");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("There was a problem computing make sure numbers are integers and words are spelled correctly");
                }

                Console.WriteLine("Would you like to add more members (yes or no)? ");
                string addMore = Console.ReadLine();
                if (addMore.ToLower() == "yes")
                {
                    userAddMember = true;
                }
                else if (addMore.ToLower() == "no")
                {
                    userAddMember = false;
                }
            }

            //adding random values to the bank constructor
            Bank bank = new Bank(new Random().Next(50000, 1000000), new Random().Next(1, 101), new Random().Next(1, 101), new Random().Next(1, 101));

            bank.ReconReport();
            bool           addingRobber = true;
            List <IRobber> userTeam     = new List <IRobber>();

            while (addingRobber)
            {
                int index = 0;
                foreach (IRobber rob in rolodex)
                {
                    Console.WriteLine("---------------");
                    Console.WriteLine("index number: " + index++);
                    Console.WriteLine(rob.Name);
                    Console.WriteLine(rob.SkillLevel);
                    Console.WriteLine(rob.PercentageCut);
                    Console.WriteLine(rob.GetType());
                    Console.WriteLine("---------------");
                }

                int teamCut = 0;
                foreach (IRobber rob in userTeam)
                {
                    teamCut = teamCut + rob.PercentageCut;
                }
                Console.WriteLine("Team Current percentage Cut " + teamCut);

                Console.WriteLine("Enter the index number of the robber you would like to add to your robbery");
                if (Console.ReadLine() == "")
                {
                    break;
                }
                try
                {
                    //this checks to see if index number entered by user is a number
                    //if it is a number then it will be added to the team or throw an error

                    int indexNumber = Int32.Parse(Console.ReadLine());
                    if (rolodex[indexNumber].PercentageCut <= teamCut + rolodex[indexNumber].PercentageCut)
                    {
                        userTeam.Add(rolodex[indexNumber]);
                    }
                    else
                    {
                        Console.WriteLine("That Robber requires to high of a cut");
                    }
                }
                catch
                {
                    Console.WriteLine("You must enter a valid integer");
                }

                Console.WriteLine("would you like to add more? (yes or no) ");
                string addMore = Console.ReadLine();

                if (addMore.ToLower() == "yes")
                {
                    addingRobber = true;
                }
                else if (addMore.ToLower() == "no")
                {
                    addingRobber = false;
                    break;
                }
            }

            Console.WriteLine("Time for the heist");
            foreach (IRobber rob in userTeam)
            {
                rob.PerformSkill(bank);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Hacker         hacker1         = new Hacker("Phil", 60, 40);
            Hacker         hacker2         = new Hacker("Allie", 60, 40);
            Muscle         muscle1         = new Muscle("Stephen", 40, 30);
            Muscle         muscle2         = new Muscle("Katie", 40, 30);
            LockSpecialist lockSpecialist1 = new LockSpecialist("Ryan", 30, 30);
            LockSpecialist lockSpecialist2 = new LockSpecialist("Whitney", 30, 30);

            List <IRobber> rolodex = new List <IRobber>();

            rolodex.Add(hacker1);
            rolodex.Add(hacker2);
            rolodex.Add(muscle1);
            rolodex.Add(muscle2);
            rolodex.Add(lockSpecialist1);
            rolodex.Add(lockSpecialist2);

            //start the program
            Console.WriteLine($"There are {rolodex.Count} operatives in the rolodex");
            Console.Write("New Crew Member> ");
            string newCrewMember = Console.ReadLine();

            while (newCrewMember != "") //when no name is entered its false
            {
                Console.WriteLine("Choose a specialty for your crew member");
                Console.WriteLine("Hacker (Disables alarms)");
                Console.WriteLine("Muscle (Disarms guards)");
                Console.WriteLine("Lock Specialist (Cracks vault)");
                Console.Write("Specialty> ");
                string specialty = Console.ReadLine();
                Console.WriteLine("Enter a number between 1-100 to give your crew member a skill level");
                Console.Write("Skill Level> ");
                int skillLevel = int.Parse(Console.ReadLine());
                Console.WriteLine("Get paid to raid! Enter what percent of the cut your robber wants");
                Console.Write("Percentage Cut> ");
                int percentageCut = int.Parse(Console.ReadLine());

                if (specialty == "Hacker")
                {
                    rolodex.Add(new Hacker(newCrewMember, skillLevel, percentageCut));
                }
                if (specialty == "Muscle")
                {
                    rolodex.Add(new Muscle(newCrewMember, skillLevel, percentageCut));
                }
                if (specialty == "LockSpecialist")
                {
                    rolodex.Add(new LockSpecialist(newCrewMember, skillLevel, percentageCut));
                }
                Console.WriteLine();
                Console.Write("New crew member> ");
                newCrewMember = Console.ReadLine();
            }

            Bank bank = new Bank()
            {
                AlarmScore         = 30,
                VaultScore         = 50,
                SecurityGuardScore = 60,
                CashOnHand         = 55_000
            };

            Console.WriteLine($"The bank's most secure system is the {bank.StrongestSystem} system");
            Console.WriteLine($"The bank's least secure system is the {bank.WeakestSystem} system");
            Console.WriteLine();
            Console.WriteLine("Here's your team:");

            foreach (IRobber robber in rolodex)
            {
                Console.WriteLine($"Index: {rolodex.IndexOf(robber) + 1} Name: {robber.Name}, Speciality: {robber.Speciality}, Skill Level {robber.SkillLevel}, Percentage cut: {robber.PercentageCut}");
            }

            List <IRobber> crew = new List <IRobber>();

            Console.WriteLine();
            // string robberToAddToCrew = Console.ReadLine(); //user enters in a number and I store that string into a variable

            string robberToAddToCrew = "0";

            while (robberToAddToCrew != "")
            {
                if (crew.Count < rolodex.Count)
                {
                    Console.WriteLine("Enter the index # of the robber you'd like on your team>");
                    robberToAddToCrew = Console.ReadLine();
                    crew.Add(rolodex[int.Parse(robberToAddToCrew) - 1]); //I need to add it to the list but convert it to a number
                }
                else
                {
                    Console.WriteLine("You've entered everyone from the rolodex");
                    robberToAddToCrew = "";
                }
            }
            Console.WriteLine("Your crew is ready for the heist");
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var Rolodex = new List <IRobber>();

            Hacker DaveTheHacker = new Hacker()
            {
                Name          = "Dave the Hacker",
                SkillLevel    = 45,
                PercentageCut = 15
            };

            Rolodex.Add(DaveTheHacker);

            Hacker SteveTheHacker = new Hacker()
            {
                Name          = "Steve the Hacker",
                SkillLevel    = 60,
                PercentageCut = 30
            };

            Rolodex.Add(SteveTheHacker);

            Muscle JimTheMuscle = new Muscle()
            {
                Name          = "Jim the Muscle",
                SkillLevel    = 40,
                PercentageCut = 10
            };

            Rolodex.Add(JimTheMuscle);

            Muscle JerryTheMuscle = new Muscle()
            {
                Name          = "Jerry the Muscle",
                SkillLevel    = 55,
                PercentageCut = 12
            };

            Rolodex.Add(JerryTheMuscle);

            LockSpecialist RachelTheLockSpecialist = new LockSpecialist()
            {
                Name          = "Rachel the Lock Specialist",
                SkillLevel    = 65,
                PercentageCut = 35
            };

            Rolodex.Add(RachelTheLockSpecialist);

            LockSpecialist DougTheLockSpecialist = new LockSpecialist()
            {
                Name          = "Doug the Lock Specialist",
                SkillLevel    = 30,
                PercentageCut = 10
            };

            Rolodex.Add(DougTheLockSpecialist);

            while (true)
            {
                Console.WriteLine($"There are currently {Rolodex.Count} crew members in the Rolodex.");
                Console.WriteLine("Would you like to add a new member? (Yes/No)");
                string YesNo = Console.ReadLine();

                if (YesNo.ToLower() == "yes")
                {
                    Console.WriteLine("Please enter a crew member's name");
                    string crewMemberName = Console.ReadLine();
                    if (crewMemberName != "")
                    {
                        Console.WriteLine("Please Select a Specialty: ");
                        Console.WriteLine("\t \u2022 Hacker (Disables alarms)");
                        Console.WriteLine("\t \u2022 Muscle (Disarms guards)");
                        Console.WriteLine("\t \u2022 Lock Specialist (cracks vault)");
                        string crewSpecialty = Console.ReadLine();
                        if (crewSpecialty != "")
                        {
                            Console.WriteLine("What is the Crew Member's Skill Level (1-100): ");
                            string crewMemberSkill = Console.ReadLine();
                            if (crewMemberSkill != "")
                            {
                                try
                                {
                                    int crewMemberSkillNumber = int.Parse(crewMemberSkill);
                                    if (crewMemberSkillNumber >= 0 && crewMemberSkillNumber <= 100)
                                    {
                                        Console.WriteLine("What is the crew member's required cut (number only)?");
                                        string crewMemberCut = Console.ReadLine();
                                        if (crewMemberCut != "")
                                        {
                                            try
                                            {
                                                int crewMemberCutNumber = int.Parse(crewMemberCut);
                                                if (crewMemberCutNumber >= 0 && crewMemberCutNumber <= 100)
                                                {
                                                    if (crewSpecialty.ToLower() == "hacker" || crewSpecialty == "hacker (disables alarms)")
                                                    {
                                                        Hacker hacker = new Hacker()
                                                        {
                                                            Name          = $"{crewMemberName}",
                                                            SkillLevel    = crewMemberSkillNumber,
                                                            PercentageCut = crewMemberCutNumber
                                                        };

                                                        Rolodex.Add(hacker);
                                                    }
                                                    else if (crewSpecialty.ToLower() == "muscle" || crewSpecialty.ToLower() == "muscle (Disarms guards)")
                                                    {
                                                        Muscle muscle = new Muscle()
                                                        {
                                                            Name          = $"{crewMemberName}",
                                                            SkillLevel    = crewMemberSkillNumber,
                                                            PercentageCut = crewMemberCutNumber
                                                        };

                                                        Rolodex.Add(muscle);
                                                    }
                                                    else if (crewSpecialty.ToLower() == "lock specialist" || crewSpecialty.ToLower() == "lock specialist (cracks vault)" || crewSpecialty.ToLower() == "lockspecialist" || crewSpecialty.ToLower() == "lockspecialist (cracks vault)")
                                                    {
                                                        LockSpecialist lockSpecialist = new LockSpecialist()
                                                        {
                                                            Name          = $"{crewMemberName}",
                                                            SkillLevel    = crewMemberSkillNumber,
                                                            PercentageCut = crewMemberCutNumber
                                                        };

                                                        Rolodex.Add(lockSpecialist);
                                                    }
                                                }
                                                else
                                                {
                                                    Console.WriteLine("Please enter a number 1-100!");
                                                }
                                            }
                                            catch
                                            {
                                                Console.WriteLine("Please enter a valid number!");
                                            }
                                        }
                                        else
                                        {
                                            Console.WriteLine("Please enter the crew member's required cut (number only)?");
                                        }
                                    }
                                    else
                                    {
                                        Console.WriteLine("Please enter a number 1-100!");
                                    }
                                }
                                catch
                                {
                                    Console.WriteLine("Please enter a valid number!");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Please Enter the Crew Member's Skill Level (1-100): ");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Please select the Crew Member's Skill Level (1-100): ");
                            Console.WriteLine("\t \u2022 Hacker (Disables alarms)");
                            Console.WriteLine("\t \u2022 Muscle (Disarms guards)");
                            Console.WriteLine("\t \u2022 Lock Specialist (cracks vault)");
                        }
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Please enter a crew member's name");
                    }
                }
                if (YesNo.ToLower() == "no")
                {
                    Console.WriteLine("Goodbye");
                    break;
                }
                else
                {
                    Console.WriteLine("Please enter Yes or No to continue...");
                }
            }
        }