33 lines
2 KiB
C#
33 lines
2 KiB
C#
|
|
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"])
|
||
|
|
};
|
||
|
|
}
|