namespace SimsPersonalityGenerator; static class Sim { private const int Target = 8; private static readonly Random Random = new Random(); public static void AssignPrioritizedTraits(Dictionary traits, HashSet prioritizedTraits) { Console.WriteLine("Assigning high values to prioritized traits..."); var remainingPoints = 50; // Sum of all traits should be <= 50 // Assign high values to prioritized traits (8, 9, or 10) foreach (var trait in prioritizedTraits) { var value = Math.Min(Target + Random.Next(3), 10); remainingPoints -= value; traits[trait] = value; Console.WriteLine($"Setting {trait} to {value}."); } // Adjust remaining traits var nonPrioritizedTraits = traits.Keys.Except(prioritizedTraits).ToList(); foreach (var trait in nonPrioritizedTraits) { var maxPossibleValue = Math.Min(remainingPoints, 10); var value = Random.Next(maxPossibleValue + 1); remainingPoints -= value; traits[trait] = value; Console.WriteLine($"Setting {trait} to {value}."); } Console.WriteLine("Adjusted remaining traits to maintain balance."); } public static void AssignRandomTraits(Dictionary traits) { Console.WriteLine("Generating random personality..."); var remainingPoints = 50; // Sum of all traits should be <= 50 foreach (var trait in traits.Keys) { var maxPossibleValue = Math.Min(remainingPoints, 10); var value = Random.Next(maxPossibleValue + 1); remainingPoints -= value; traits[trait] = value; Console.WriteLine($"Setting {trait} to {value}."); } Console.WriteLine("Random personality generation complete."); } public static void DisplayPersonality(Dictionary traits) { Console.WriteLine("\nGenerated Sim Personality:"); foreach (var trait in traits) { Console.WriteLine($"{trait.Key}: {trait.Value}"); } } }