Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
        }