prophecy generator
This commit is contained in:
parent
449c5fa85b
commit
76257b7483
1
prophecies/.gitignore
vendored
Normal file
1
prophecies/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/target
|
7
prophecies/Cargo.toml
Normal file
7
prophecies/Cargo.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "prophecies"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.5"
|
148
prophecies/prophecies
Normal file
148
prophecies/prophecies
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
If Under fell, if Over leaped,
|
||||||
|
If life was death, if death life reaped,
|
||||||
|
Something rises from the gloom
|
||||||
|
To make the Underland a tomb.
|
||||||
|
Hear it scratching down below,
|
||||||
|
Rat of long forgotten snow,
|
||||||
|
Evil cloaked in coat of white,
|
||||||
|
Will the warrior drain your light?
|
||||||
|
What will turn the warrior weak?
|
||||||
|
What do burning Gnawers seek?
|
||||||
|
Just a barely speaking pup
|
||||||
|
Who holds the land of Under up.
|
||||||
|
Die the baby die his heart,
|
||||||
|
Die his most essential part.
|
||||||
|
Die the peace that rules the hour.
|
||||||
|
Gnawers have their key to power.
|
||||||
|
Warmblood now a bloodborne death
|
||||||
|
Will rob your body of its breath,
|
||||||
|
Mark your skin, and seal your fate.
|
||||||
|
The Underland becomes a plate.
|
||||||
|
Turn and turn and turn again.
|
||||||
|
You see the what but not the when.
|
||||||
|
Remedy and wrong entwine,
|
||||||
|
And so they form a single vine.
|
||||||
|
Bring the warrior from above
|
||||||
|
If yet his heart is swayed by love.
|
||||||
|
Bring the princess or despair,
|
||||||
|
No crawlers care without her there.
|
||||||
|
Turn and turn and turn again.
|
||||||
|
You see the what but not the when.
|
||||||
|
Remedy and wrong entwine,
|
||||||
|
And so they form a single vine.
|
||||||
|
Those whose blood runs red and hot
|
||||||
|
Must join to seek the healing spot.
|
||||||
|
In the cradle find the cure
|
||||||
|
For that which makes the blood impure.
|
||||||
|
Turn and turn and turn again.
|
||||||
|
You see the what but not the when.
|
||||||
|
Remedy and wrong entwine,
|
||||||
|
And so they form a single vine.
|
||||||
|
Gnawer, human, set aside
|
||||||
|
The hatreds that reside inside.
|
||||||
|
If the flames of war are fanned,
|
||||||
|
All warmbloods lose the Underland.
|
||||||
|
Turn and turn and turn again.
|
||||||
|
You see the what but not the when.
|
||||||
|
Remedy and wrong entwine,
|
||||||
|
And so they form a single vine.
|
||||||
|
Beware, Underlanders, time hangs by a thread.
|
||||||
|
The hunters are hunted, white water runs red.
|
||||||
|
The gnawers will strike to extinguish the rest.
|
||||||
|
The hope of the hopeless resides in a quest.
|
||||||
|
An Overland warrior, a son of the sun,
|
||||||
|
May bring us back light, he may bring us back none.
|
||||||
|
But gather your neighbors and follow his call
|
||||||
|
Or rats will most surely devour us all.
|
||||||
|
Two over, two under, of royal descent,
|
||||||
|
Two flyers, two crawlers, two spinners assent.
|
||||||
|
One gnawer beside and one lost up ahead.
|
||||||
|
And eight will be left when we count up the dead.
|
||||||
|
The last who will die must decide where he stands.
|
||||||
|
The fate of the eight is contained in his hands.
|
||||||
|
So bid him take care, bid him look where he leaps,
|
||||||
|
As life may be death and death life again reaps.
|
||||||
|
On soft feet, by none detected,
|
||||||
|
Dealing death, by most rejected,
|
||||||
|
Killed by claw, since resurrected,
|
||||||
|
Marked by X, two lines connected.
|
||||||
|
Finally, they intersected,
|
||||||
|
Two lines met, one unexpected.
|
||||||
|
Dancing in the firelight,
|
||||||
|
See the queen that conquers night.
|
||||||
|
Gold flows from her, hot and bright.
|
||||||
|
Father, mother, sister, brother,
|
||||||
|
Off they go. I do not know
|
||||||
|
If we will see another.
|
||||||
|
Catch the nibblers in a trap.
|
||||||
|
Watch the nibblers spin and snap.
|
||||||
|
Quiet while they take a nap.
|
||||||
|
Father, mother, sister, brother,
|
||||||
|
Off they go. I do not know
|
||||||
|
If we will see another.
|
||||||
|
Now the guests are at our door
|
||||||
|
Greet them as we have before.
|
||||||
|
Some will slice and some will pour.
|
||||||
|
Father, mother, sister, brother,
|
||||||
|
Off they go. I do not know
|
||||||
|
If we will see another.
|
||||||
|
The war has been declared,
|
||||||
|
Your ally been ensnared.
|
||||||
|
It is now or it is never.
|
||||||
|
Break the code or die forever.
|
||||||
|
Time is running out
|
||||||
|
Running out
|
||||||
|
Running out.
|
||||||
|
To the warrior give my blade.
|
||||||
|
By his hand your fate is made.
|
||||||
|
But do not forget the ticking
|
||||||
|
Or the clicking, clicking, clicking.
|
||||||
|
While a rat's tongue may be flicking,
|
||||||
|
With its feet it does the tricking.
|
||||||
|
For the paw and not the jaw
|
||||||
|
Makes the Code of Claw.
|
||||||
|
Time is standing still
|
||||||
|
Standing still
|
||||||
|
Standing still.
|
||||||
|
Since the princess is the key
|
||||||
|
To unlock the treachery,
|
||||||
|
She cannot avoid the matching
|
||||||
|
Or the scratching, scratching, scratching.
|
||||||
|
When a secret plot is hatching,
|
||||||
|
In the naming is the catching.
|
||||||
|
What she saw, it is the flaw
|
||||||
|
Of the Code of Claw.
|
||||||
|
Time is turning back
|
||||||
|
Turning back
|
||||||
|
Turning back.
|
||||||
|
When the monster's blood is spilled,
|
||||||
|
When the warrior has been killed,
|
||||||
|
You must not ignore the rapping,
|
||||||
|
Or the tapping, tapping, tapping.
|
||||||
|
If the gnawers find you napping,
|
||||||
|
You will rot while they are mapping
|
||||||
|
Out the law of those who gnaw
|
||||||
|
In the Code of Claw.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
28
prophecies/src/main.rs
Normal file
28
prophecies/src/main.rs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
use std::fs;
|
||||||
|
use std::io;
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
|
fn main() -> io::Result<()> {
|
||||||
|
// Read the file that contains every prophecy line in the series
|
||||||
|
let file_contents: String = fs::read_to_string("prophecies")?;
|
||||||
|
|
||||||
|
// Determine the name of the prophecy by picking a random word in file
|
||||||
|
let split_into_words = file_contents.split_whitespace().collect::<Vec<_>>();
|
||||||
|
let name = split_into_words[rand::thread_rng().gen_range(0..split_into_words.len())];
|
||||||
|
println!("THE PROPHECY OF {}:\n", name.to_uppercase());
|
||||||
|
|
||||||
|
// Randomly decide how long the prophecy will be, range of 4 to 30
|
||||||
|
let number_of_lines = rand::thread_rng().gen_range(4..30);
|
||||||
|
|
||||||
|
// Split file into lines
|
||||||
|
let split_string = file_contents.split("\n").collect::<Vec<_>>();
|
||||||
|
let lines_in_string = split_string.len();
|
||||||
|
|
||||||
|
// Iterate for "number_of_lines" and each time pick a random line in the file
|
||||||
|
for _i in 0..number_of_lines {
|
||||||
|
let line_index = rand::thread_rng().gen_range(0..lines_in_string); // Pick random line
|
||||||
|
println!("{}",split_string[line_index]); // Print the random line
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user