commit 0fca269037267bf427ae14dc0fab7a52ef87c7ef Author: Mattia Mascarello Date: Sun Dec 15 23:40:00 2024 +0100 First commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..13d22eb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +haiku \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..95e05a5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Mattia Mascarello + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ce314e6 --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +haiku: haiku.c + gcc -o haiku haiku.c -Wall -Werror -std=c99 diff --git a/README b/README new file mode 100644 index 0000000..028854a --- /dev/null +++ b/README @@ -0,0 +1,5 @@ +# Poem_machine + +Simple algorithmic random poem generator. + +Right now it is configured to generate one-line haikus. \ No newline at end of file diff --git a/haiku.c b/haiku.c new file mode 100644 index 0000000..0f91800 --- /dev/null +++ b/haiku.c @@ -0,0 +1,524 @@ +#include +#include +#include +#include + +// Function to pick a random word/phrase from an array +const char *randomWord(const char *words[], int size) +{ + return words[rand() % size]; +} + +const char *nouns[] = { + "shadows", "embers", "quiet echo", "forgotten star", "veiled mirror", "hollow bell", + "frozen dusk", "weeping willow", "fractured light", "silken thread", + "ancient tome", "solemn whisper", "flickering flame", "broken dream", + "silver tide", "nameless face", "misty veil", "fading gleam", + "fragile mask", "crystal tear", "wandering spirit", "distant cry", + "secret garden", "golden hour", "fractured sky", "crimson moon", + "hidden path", "withered rose", "trembling leaf", "silent hymn", + "endless river", "midnight bloom", "mirrored soul", "forgotten melody", + "quiet stream", "shifting shadow", "pale ghost", "wandering flame", + "starry abyss", "twilight grove", "forsaken chapel", "rusted key", + "glistening dew", "ancient cairn", "phantom sea", "spectral glow", + "velvet dusk", "burning frost", "golden spark", "hollow stone", + "silent storm", "ashen wind", "murmured promise", "ivory flame", + "desolate shore", "ivory tower", "whispering mist", "gentle sigh", + "glimmering spire", "fractured dawn", "woven thread", "sunlit dream", + "forgotten vow", "emerald tide", "shattered prism", "hidden verse", + "fleeting ember", "sapphire haze", "silent ember", "watchful eye", + "spiraling void", "gentle tide", "ashen veil", "glistening tear", + "crimson haze", "spectral shroud", "hollow winds", "frozen flame", + "forgotten shrine", "flickering lantern", "woven dream", "solemn ember", + "violet bloom", "fractured mirror", "fleeting echo", "sapphire flame", + "broken wave", "rusted lock", "verdant grove", "hollow echo", + "eternal flame", "somber gaze", "fiery dusk", "frozen hollow", + "shadowed bough", "shifting tide", "fleeting shadow", "scarlet glow", + "emerald forest", "amber mist", "faded star", "veiled moon", + "endless expanse", "fractured stone", "crystal moon", "whispering shadow", + "unseen fire", "violet flame", "hidden stream", "midnight veil", + "distant flare", "haunted echo", "woven frost", "shadowed peak", + "spectral whisper", "waning light", "trembling flame", "hollow thread", + "fractured melody", "golden grove", "forgotten flame", "silent star", + "fading tide", "opal flame", "woven mirror", "silver frost", + "restless gale", "shimmering edge", "hidden light", "ashen grove", + "fleeting tide", "crimson flare", "shadowed hymn", "radiant haze", + "sapphire edge", "fractured flare", "hidden glow", "frozen tide", + "forgotten wisp", "glistening void", "emerald haze", "amber spark", + "twilight fire", "shimmering ember", "fractured thread", "whispering gale", + "silver gleam", "fleeting prism", "faded bloom", "endless hymn", + "moonlit stream", "gentle flame", "spectral tide", "hollow peak", + "frozen dawn", "shadowed flame", "opal prism", "drifting veil", + "eternal river", "hidden echo", "distant glow", "ashen tide", + "whispering frost", "silent flame", "verdant mist", "opal grove", + "flickering thread", "scarlet thread", "shadowed hollow", "fleeting wisp", + "solemn glow", "burning horizon", "amber thread", "spectral mist", + "sapphire stream", "hidden flare", "drifting frost", "distant star", + "fractured hymn", "shadowed spire", "violet tide", "eternal bloom", + "shimmering flame", "veiled shadow", "glistening hymn", "twilight song", + "gentle ember", "frozen spire", "fleeting thread", "sapphire spire", + "whispering thread", "fractured flare", "amber frost", "eternal gale", + "shadowed flame", "veiled tide", "verdant hymn", "sapphire wisp", + "opal fire", "frozen shadow", "distant veil", "shimmering flame", + "endless spire", "veiled dawn", "spectral dawn", "woven ember"}; + +const char *verbs[] = { + "drift", "shatter", "linger", "dissolve", "whisper", "tremble", + "echo", "fade", "quiver", "gleam", "murmur", "wander", + "glimmer", "sigh", "dance", "scatter", "fracture", "reflect", + "hover", "flow", "dim", "crumble", "ripple", "swell", + "cascade", "flutter", "waver", "glow", "vanish", "rise", + "fall", "meld", "stir", "descend", "ascend", "yearn", + "pierce", "burst", "pulse", "weep", "wither", "ignite", + "trace", "enfold", "beckon", "cradle", "embrace", "slumber", + "breathe", "evaporate", "tangle", "hesitate", "illuminate", "refract", + "hum", "blend", "glide", "bloom", "stream", "roam", + "float", "soften", "spill", "envelop", "soar", "dream", + "resound", "call", "entwine", "shine", "wander", "surge", + "consume", "erupt", "dwell", "shiver", "mingle", "rekindle", + "tremor", "grasp", "scatter", "embrace", "gleam", "whisper", + "proclaim", "collapse", "enlighten", "trace", "encompass", "smolder", + "freeze", "unravel", "decay", "illumine", "resonate", "bask", + "entice", "withdraw", "hover", "scatter", "billow", "kindle", + "douse", "spark", "explode", "glide", "dive", "expand", + "falter", "disperse", "erode", "ignite", "scatter", "extinguish", + "evoke", "quench"}; + +const char *adjectives[] = { + "ephemeral", "broken", "eternal", "distant", "lost", "silent", "cold", "luminous", "fleeting", "mysterious", + "forgotten", "dark", "fragile", "secret", "timeless", "ancient", "obscure", "ethereal", "absent", "pale", + "hidden", "rare", "shattered", "fading", "untold", "transient", "worn", "noble", "dusty", "misty", + "empty", "infinite", "boundless", "quiet", "hollow", "remote", "withered", "vibrant", "fractured", + "graceful", "haunted", "fragile", "unseen", "long-lost", "vanishing", "delicate", "silent", "forgotten", + "obscured", "disappearing", "fleeting", "barren", "undisturbed", "timeless", "ghostly", "strange", + "warm", "cold", "hidden", "bright", "dull", "invisible", "majestic", "mournful", "distant", "shrouded", + "serene", "chaotic", "eternal", "unnoticed", "fragile", "faint", "secretive", "luminous", "hidden", + "unknowable", "unknown", "vanished", "broken", "fading", "remote", "relic", "ancient", "isolated", + "unheard", "divine", "alien", "sacred", "uncharted", "unseen", "hidden", "sublime", "hidden", "surreal", + "calm", "pale", "delicate", "fragile", "strange", "quiet", "archaic", "impossible", "twilight", "distorted", + "immense", "infinite", "unfathomable", "forgotten", "shattered", "fading", "distant", "undying", "faint", + "mysterious", "noble", "distant", "empty", "endless", "mournful", "forgotten", "longing", "timeless", + "paradoxical", "undisturbed", "forlorn", "shrouded", "obscured", "secluded", "hidden", "sorrowful", "ethereal", + "unseen", "faded", "silent", "ancient", "neglected", "lost", "surreal", "untold", "faint", "unfading", + "shifting", "momentary", "frozen", "wild", "transient", "frayed", "ghostly", "burned", "immortal", + "unfathomable", "unchanging", "tragic", "arcane", "mystical", "hidden", "delicate", "drowned", "solitary", + "forbidden", "blurred", "hidden", "fragile", "foreboding", "ancient", "untraceable", "suspended", "unbroken", + "forever", "unseen", "distant", "forgotten", "hazy", "pale", "unbreakable", "endless", "unreached", "forgotten", + "slow", "stilled", "veiled", "hidden", "transitory", "arcane", "abandoned", "immense", "powerful", "untold", + "elusive", "undead", "hidden", "silent", "faraway", "faded", "shattered", "imminent", "unreachable", "faint", + "mournful", "lightless", "subtle", "unchanged", "unmarked", "mysterious", "lonely", "graceful", "fragile", + "suspended", "whispering", "paradoxical", "lost", "timeless", "unreachable", "evanescent", "sparse", "celestial", + "distant", "undying", "perpetual", "unknown", "mournful", "luminous", "abandoned", "unheard", "worn", "delicate"}; + +const char *prepositions[] = { + "beneath", "within", "above", "across", "through", "beyond", "among", "before", "after", "around", + "throughout", "within", "behind", "underneath", "amongst", "upon", "along", "in", "upon", "against", + "within reach of", "out of", "through the midst of", "into the heart of", "beside", "near", "between", + "beyond the horizon", "beneath the stars", "amidst", "beyond the veil", "within the depths", "through the shadows", + "out of sight", "in the wake of", "within reach", "on the edge of", "by the side of", "under the moon", "upon the winds", + "against the tide", "beyond the bounds", "through the storm", "across the sea", "among the clouds", "beneath the waves", + "in the light of", "in the quiet of", "among the whispers", "between the lines", "within the silence", "under the gaze of", + "in the shadow of", "through the veil", "at the edge of", "against the night", "beneath the canopy", "within the embrace of", + "through the passages of", "across the wilderness", "beyond the distance", "within the embrace", "under the sky", + "atop the world", "in the company of", "across the ages", "within the heart of", "through the echoes", "under the spell of", + "on the brink of", "in the glow of", "beneath the surface", "through the mist", "against the storm", "beyond the horizon", + "within the arms of", "by the grace of", "through the darkness", "beneath the stars", "within the soul of", "on the shores of", + "in the wake of", "under the weight of", "among the dreams", "against the current", "through the passage of time", "at the crossroads of", + "beyond the shadow", "beneath the earth", "in the quietude of", "under the heavens", "across the dawn", "within the whispers of", + "through the labyrinth", "beneath the heavens", "in the presence of", "among the echoes", "beyond the silence", "within the mystery", + "in the shade of", "through the distance", "under the stars", "upon the wings of", "within the pulse of", "among the ruins", + "beneath the sky", "under the veil of", "in the shadow of", "through the cracks of", "across the expanse", "in the stillness of", + "beyond the edge", "within the wilds", "beneath the twilight", "against the light", "through the corridor", "in the heart of"}; + +const char *locations[] = { + "horizon", "silence", "a distant dream", "burning sea", "endless void", "amber haze", + "forgotten woods", "starlit sky", "edge of the world", "velvet night", "shadow's edge", + "whispering winds", "edge of time", "moonlit shore", "twilight realm", "silver mist", + "sunken city", "sacred grove", "crystal caves", "eternal forest", "frayed cliffs", + "windswept plains", "quiet valley", "sun-drenched meadow", "hidden shore", "frozen tundra", + "golden fields", "endless desert", "darkened abyss", "haunted castle", "violet mist", + "lonely mountain", "forgotten valley", "sacred temple", "hollowed ground", "radiant ocean", + "hidden valley", "ancient ruins", "broken sky", "rolling hills", "starry abyss", + "murmuring stream", "forgotten temple", "endless night", "shifting sands", "fading light", + "pale horizon", "golden sands", "forbidden realm", "icy peaks", "distant stars", + "deep abyss", "silver lake", "silent forest", "midnight oasis", "glassy waters", + "blackened desert", "lost city", "hidden cave", "mist-covered peaks", "ancient path", + "shattered world", "starlit path", "endless nightfall", "darkened ocean", "vast unknown", + "drifting clouds", "faraway place", "forgotten temple", "hidden garden", "rustling leaves", + "floating island", "whispering cave", "dying light", "midnight forest", "enchanted glade", + "secret garden", "ancient oak", "drowned city", "forgotten land", "deserted island", + "black forest", "wandering path", "silver stream", "endless horizon", "haunting mountains", + "darkened meadow", "lost path", "hidden sanctuary", "ethereal valley", "forgotten shore", + "empty void", "endless canyon", "glowing embers", "crimson dusk", "frost-covered plains", + "starry field", "forgotten shore", "sacred pool", "misty cliffs", "sunlit meadow", + "phantom woods", "final frontier", "golden shore", "ocean's edge", "twilight mountains", + "cloud-covered peaks", "fallen city", "magical forest", "moonlit grove", "veiled land", + "shadowy glade", "fractured land", "endless river", "gleaming city", "eternal mountain", + "quiet ocean", "lunar plains", "barren desert", "secret lake", "shattered moon", + "shimmering horizon", "silver meadow", "forgotten trail", "haunted hills", "lost world", + "deep forest", "stormy sea", "farthest reaches", "dark horizon", "desolate world", + "shining shore", "abandoned temple", "emerald forest", "golden lake", "dark valley", + "glowing forest", "ancient desert", "infinite sky", "abyssal depths", "whispering mountains", + "sunken ruins", "sun-kissed plains", "forgotten peaks", "lonely lake", "starry sky", + "distant mountains", "frozen lake", "endless sky", "misty waters", "frozen ocean", + "lost temple", "moonlit valley", "midnight city", "twilight shore", "barren hills", + "ethereal glen", "broken ruins", "hidden temple", "wandering hills", "forgotten desert", + "midnight mountain", "crystal forest", "endless plains", "pale desert", "shadowed shore", + "forgotten glade", "hidden plains", "distant shores", "shadowy valley", "sun-dappled forest", + "haunted woods", "silent cliff", "unseen world", "darkened river", "endless waterfall", + "frozen forest", "distant hill", "sun-bleached hills", "night-sky valley", "wild plains", + "silent hills", "shimmering lake", "darkened wasteland", "ancient desert", "silent sea", + "starry river", "blazing sky", "secret path", "twilight garden", "ruined city", + "empty hill", "forgotten mountain", "glowing valley", "endless plain", "desolate field", + "silver desert", "lost grove", "blackened hills", "silent garden", "ethereal river", + "wandering ocean", "pale lake", "moonlit ocean", "cursed mountain", "dreamer's land", + "ancient grove", "last frontier", "empty forest", "sky's edge", "shadowed mountain", + "forgotten gorge", "silent cavern", "misty valley", "ancient river", "haunted desert", + "endless forest", "cold expanse", "starlit mountain", "glowing river", "ethereal sea", + "ghostly shore", "abandoned plain", "lost city", "empty ocean", "silver hills", + "distant river", "broken land", "eternal sea", "glowing sky", "barren expanse", + "fleeting dream", "haunted ocean", "forgotten sky", "distant ocean", "shadowed hill"}; + +const char *randomNoun() +{ + return randomWord(nouns, sizeof(nouns) / sizeof(nouns[0])); +} + +const char *randomVerb() +{ + return randomWord(verbs, sizeof(verbs) / sizeof(verbs[0])); +} + +const char *randomAdjective() +{ + return randomWord(adjectives, sizeof(adjectives) / sizeof(adjectives[0])); +} + +const char *randomPreposition() +{ + return randomWord(prepositions, sizeof(prepositions) / sizeof(prepositions[0])); +} + +const char *randomLocation() +{ + return randomWord(locations, sizeof(locations) / sizeof(locations[0])); +} + +int main() +{ + + srand(time(NULL) / 86400); // today's haiku + // Construct a poem with 6 lines + // printf("An Hermetic Poem:\n\n"); + + int verseCount = 1; // haiku + for (int i = 0; i < verseCount; i++) + { + + switch (rand() % 100) + { + case 0: + printf("%s %s %s.\n", randomAdjective(), randomNoun(), randomVerb()); + break; + case 1: + printf("%s %s %s %s.\n", randomAdjective(), randomNoun(), randomVerb(), randomLocation()); + break; + case 2: + printf("Beneath the %s, the %s %s.\n", randomNoun(), randomAdjective(), randomVerb()); + break; + case 3: + printf("Through the %s, %s %s %s.\n", randomLocation(), randomAdjective(), randomVerb(), randomNoun()); + break; + case 4: + printf("%s %s, %s %s.\n", randomNoun(), randomVerb(), randomAdjective(), randomNoun()); + break; + case 5: + printf("%s %s %s, lost in the %s.\n", randomAdjective(), randomVerb(), randomNoun(), randomLocation()); + break; + case 6: + printf("A %s %s under the %s sky.\n", randomAdjective(), randomNoun(), randomNoun()); + break; + case 7: + printf("In the %s of the %s, we %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 8: + printf("%s whispers %s.\n", randomNoun(), randomVerb()); + break; + case 9: + printf("With the %s %s, a %s %s.\n", randomAdjective(), randomNoun(), randomNoun(), randomVerb()); + break; + case 10: + printf("%s %s in the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 11: + printf("%s %s, across the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 12: + printf("A %s %s beyond the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 13: + printf("At the %s's edge, %s %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 14: + printf("Among the %s, the %s %s.\n", randomNoun(), randomAdjective(), randomVerb()); + break; + case 15: + printf("Through the %s %s %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 16: + printf("%s calls %s, under the %s sky.\n", randomNoun(), randomVerb(), randomAdjective()); + break; + case 17: + printf("%s in the %s, %s echoes.\n", randomVerb(), randomLocation(), randomNoun()); + break; + case 18: + printf("A %s %s %s through the %s.\n", randomAdjective(), randomNoun(), randomVerb(), randomLocation()); + break; + case 19: + printf("%s the %s, %s %s.\n", randomVerb(), randomNoun(), randomAdjective(), randomVerb()); + break; + case 20: + printf("%s %s, by the %s's edge.\n", randomVerb(), randomAdjective(), randomLocation()); + break; + case 21: + printf("Beneath the %s, a %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 22: + printf("%s of the %s %s.\n", randomAdjective(), randomNoun(), randomVerb()); + break; + case 23: + printf("With the %s, a %s %s.\n", randomNoun(), randomAdjective(), randomVerb()); + break; + case 24: + printf("Among the %s, we %s %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 25: + printf("A %s %s beneath the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 26: + printf("%s %s within the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 27: + printf("%s %s, beneath the %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 28: + printf("Through the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomNoun()); + break; + case 29: + printf("Within the %s, the %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 30: + printf("%s %s, under the %s sky.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 31: + printf("By the %s, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 32: + printf("A %s %s through the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 33: + printf("We %s beneath the %s %s.\n", randomVerb(), randomAdjective(), randomNoun()); + break; + case 34: + printf("%s %s across the %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 35: + printf("%s, a %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 36: + printf("Amidst the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomNoun()); + break; + case 37: + printf("By the %s's edge, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 38: + printf("%s %s by the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 39: + printf("%s %s, across the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 40: + printf("Within the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomNoun()); + break; + case 41: + printf("%s of the %s %s.\n", randomNoun(), randomAdjective(), randomVerb()); + break; + case 42: + printf("Through the %s, the %s %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 43: + printf("%s in the %s, we %s.\n", randomAdjective(), randomLocation(), randomVerb()); + break; + case 44: + printf("Among the %s, the %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 45: + printf("%s %s across the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 46: + printf("%s %s through the %s.\n", randomVerb(), randomNoun(), randomLocation()); + break; + case 47: + printf("In the %s, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 48: + printf("A %s %s by the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 49: + printf("%s whispers %s through the %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 50: + printf("Through the %s, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 51: + printf("%s beyond the %s %s.\n", randomNoun(), randomLocation(), randomVerb()); + break; + case 52: + printf("%s %s amidst the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 53: + printf("%s's %s echoes in the %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 54: + printf("%s falls across the %s.\n", randomAdjective(), randomLocation()); + break; + case 55: + printf("Beneath the %s, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 56: + printf("A %s %s in the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 57: + printf("In the %s, the %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 58: + printf("At the %s's edge, we %s.\n", randomLocation(), randomVerb()); + break; + case 59: + printf("%s, fading through the %s.\n", randomAdjective(), randomLocation()); + break; + case 60: + printf("With the %s, we %s through the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 61: + printf("A %s %s beneath the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 62: + printf("%s calls beneath the %s.\n", randomAdjective(), randomLocation()); + break; + case 63: + printf("We %s through the %s.\n", randomVerb(), randomLocation()); + break; + case 64: + printf("%s stands by the %s.\n", randomNoun(), randomLocation()); + break; + case 65: + printf("%s beneath the %s, a %s %s.\n", randomVerb(), randomLocation(), randomAdjective(), randomNoun()); + break; + case 66: + printf("In the %s, we %s the %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 67: + printf("With the %s, we %s the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 68: + printf("Through the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomNoun()); + break; + case 69: + printf("%s %s through the %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 70: + printf("Across the %s, the %s %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 71: + printf("%s the %s %s.\n", randomVerb(), randomAdjective(), randomNoun()); + break; + case 72: + printf("We %s across the %s.\n", randomVerb(), randomLocation()); + break; + case 73: + printf("%s's %s resounds in the %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 74: + printf("%s whispers across the %s.\n", randomNoun(), randomLocation()); + break; + case 75: + printf("%s the %s, a %s %s.\n", randomVerb(), randomNoun(), randomAdjective(), randomVerb()); + break; + case 76: + printf("%s fades into the %s.\n", randomAdjective(), randomLocation()); + break; + case 77: + printf("In the %s, the %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 78: + printf("We %s beyond the %s.\n", randomVerb(), randomLocation()); + break; + case 79: + printf("%s echoes in the %s.\n", randomNoun(), randomLocation()); + break; + case 80: + printf("%s %s under the %s.\n", randomNoun(), randomVerb(), randomLocation()); + break; + case 81: + printf("Through the %s %s %s.\n", randomLocation(), randomVerb(), randomNoun()); + break; + case 82: + printf("In the %s, the %s %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 83: + printf("With the %s, a %s %s.\n", randomAdjective(), randomNoun(), randomVerb()); + break; + case 84: + printf("In the %s, we %s %s.\n", randomLocation(), randomVerb(), randomNoun()); + break; + case 85: + printf("Through the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomNoun()); + break; + case 86: + printf("A %s %s across the %s.\n", randomAdjective(), randomNoun(), randomLocation()); + break; + case 87: + printf("%s calls, fading into the %s.\n", randomNoun(), randomLocation()); + break; + case 88: + printf("By the %s's edge, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 89: + printf("A %s stands in the %s.\n", randomAdjective(), randomLocation()); + break; + case 90: + printf("With the %s, the %s %s.\n", randomAdjective(), randomNoun(), randomVerb()); + break; + case 91: + printf("In the %s, we %s the %s.\n", randomLocation(), randomVerb(), randomAdjective()); + break; + case 92: + printf("Among the %s, the %s %s.\n", randomLocation(), randomNoun(), randomVerb()); + break; + case 93: + printf("By the %s's edge, a %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 94: + printf("%s %s beneath the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 95: + printf("Across the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 96: + printf("Through the %s, the %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 97: + printf("In the %s, a %s %s.\n", randomLocation(), randomAdjective(), randomVerb()); + break; + case 98: + printf("%s %s across the %s.\n", randomAdjective(), randomVerb(), randomLocation()); + break; + case 99: + printf("In the %s, the %s %s.\n", randomLocation(), randomVerb(), randomNoun()); + break; + } + } + + return 0; +}