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); } }
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"); }
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..."); } } }