SharpLibs/MadLib/StoryTemplate.cs

33 lines
2 KiB
C#
Raw Permalink Normal View History

2025-11-05 10:38:32 -06:00
namespace MadLib;
public record StoryTemplate(string Text, List<string> Placeholders);
internal static class StoryTemplates
{
public static readonly Dictionary<StoryGenerator.Categories, StoryTemplate> Templates = new()
{
[StoryGenerator.Categories.Adventure] = new StoryTemplate(
"'That [noun1] belongs in a museum!', said Dr. [last_name]. You can't just keep it in your own [noun2] all day! ",
["noun1", "last_name", "noun2"]),
[StoryGenerator.Categories.Mystery] =
new StoryTemplate("You're probably wondering why I've gathered you in this [noun]. " +
"After lots of time [verb]ing the witnesses and suspects, we have solved the crime. " +
"The killer was Mr. [last_name], in the [room], with a [noun]!",
["noun", "verb", "last_name", "room", "noun"]),
[StoryGenerator.Categories.Science] =
new StoryTemplate(
"The [animal] is the most ferocious animal on Earth. It can run at a speed of [number] miles per hour and " +
"uses its sharp [body_part] to hunt its prey. Its diet consists mostly of [noun1], [noun2], and [noun3].",
["animal", "number", "body_part", "noun1", "noun2", "noun3"]),
[StoryGenerator.Categories.Fantasy] =
new StoryTemplate(
"We're going on an adventure, [first_name1]! It's time to climb Mount [noun]. We'll need your strong [body_part] " +
"to retrieve the [noun] from the evil Dragon, [first_name2] the [occupation].",
["noun", "verb", "last_name", "room", "noun"]),
[StoryGenerator.Categories.Horror] =
new StoryTemplate(
"What?! No, of course I'm not a [monster], Mrs. [last_name]. Why, would a [monster] have a [body_part] like this?! " +
"Could a [monster] [verb] like this?! I have perfectly normal [color1] skin and [color2] hair, just like a normal human!",
["monster", "last_name", "body_part"])
};
}