/// <summary> /// Generates task descriptions. /// </summary> /// <param name="count"> /// Number of descriptions that should be generated /// </param> /// <returns> /// Generated strings /// </returns> private static IList <string> GenerateTaskDescriptions(int count) { // Read villager names from the file IList <string> villagerNames = FsTools.ReadListRandomized("./resources/villages/villager_names.txt", count); // Read task description templates from the file IList <string> taskTemplates = FsTools.ReadListRandomized("./resources/villages/tasks.txt", count); // Declare output list IList <string> taskDescriptions = new List <string>(); // Build task descriptions for (var ma = 0; ma < taskTemplates.Count; ma++) { // Access template value string template = taskTemplates[ma]; // Generate description string description = string.Format(template, villagerNames[ma]); // Add description to the output list taskDescriptions.Add(description); } // Return build list return(taskDescriptions); }
private IList <Village> GenerateVillages() { // Load (and randomize) village names using IO & Take only [NUMBER_OF_VILLAGES] villages from the array. string[] villageNames = FsTools.ReadListRandomized("./resources/villages/names.txt", NUMBER_OF_VILLAGES); // Declare list of generated villages IList <Village> generatedVillages = new List <Village>(); // Define position generator cursor & Instantiate random float positionCursor = 0; Random random = new Random(); // Generate villages foreach (string name in villageNames) { // Randomize position float minPos = positionCursor + MIN_VILLAGE_POSITION_GAP; float maxPos = positionCursor + MAX_VILLAGE_POSITION_GAP; positionCursor = Convert.ToSingle(random.NextDouble() * (maxPos - minPos) + minPos); // Instantiate instance var village = new Village(name, positionCursor); generatedVillages.Add(village); } // Return generated villages return(generatedVillages); }