Poor Man's Horoscope
Statement
You have been assigned to provide "Horoscope Readings" for a bunch of people. But that is just way too much work and it's a lot of hooey anyway.
What to do?
You use a list of 26 common <<Life-Events>> and the first 3 <<unique>> letters in the person's [[name]] to fabricate a customized "Horoscope Reading" for each person:
(1) Find the first 3 <<unique>> letters in the name.
(2) Find the position in the alphabet of each of those letters.
(3) Find the corresponding position <<Life-Event>> in the list.
Example:
For "Evelyn" the first 3 <<unique>> letters are E V and L
E is the 5th letter in the alphabet.
V is the 22th letter in the alphabet.
L is the 12th letter in the alphabet.
So her Horoscope Reading is:
[Name exactly as it is provided]:
There will be [5th phrase in list] and [22nd phrase in list] and [12th phrase in list] in your future.
... which becomes ...
Evelyn:
There will be completion of a big project and reconciliation and illness in your future.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: Names often have spaces, hyphens, and periods (and sometimes symbols and numbers) in them: Ignore all that. We only care about letters.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The list of 26 common <<Life-Events>> is "altruistic acts, an award, a breakup, career change, completion of a big project, crime, disappointment, disaster, an epic experience, new love, forgiveness, illness, injury, incarceration, inspiration, investment gain, lifestyle change, a new friend, moments of wonder and clarity, a move, realizing something important, reconciliation, redemption, solving a problem, a transformative experience, a trip"
Source of the list: https://simplicable.com/en/life-events
Input description
<<Line1:>> [[name]]
Output description
Their 2 line "Horoscope Reading" as described above.
It should read as a normal sentence, including proper spacing.
Constraints
[[name]] will have at least 3 unique letters.
[[name]] can be upper or lower case or any combination thereof.
[[name]] can contain letters, numbers, and symbols.
Game modes
Fastest
Test cases
Simple Name Test
Input
Frank
Output
Frank:
There will be crime and a new friend and altruistic acts in your future.
Simple Name (Validator) Validator
Input
Iza
Output
Iza:
There will be an epic experience and a trip and altruistic acts in your future.
Repeating letters Test
Input
Evelyn
Output
Evelyn:
There will be completion of a big project and reconciliation and illness in your future.
Repeating letters (Validator) Validator
Input
Aaron
Output
Aaron:
There will be altruistic acts and a new friend and inspiration in your future.
Name with hyphen Test
Input
Bob-Jim
Output
Bob-Jim:
There will be an award and inspiration and new love in your future.
Name with hyphen (Validator) Validator
Input
Al-amir
Output
Al-amir:
There will be altruistic acts and illness and injury in your future.
A$AP Rocky Test
Input
A$AP Rocky
Output
A$AP Rocky:
There will be altruistic acts and investment gain and a new friend in your future.
! Ke$ha ! (Validator) Validator
Input
! Ke$ha !
Output
! Ke$ha !:
There will be forgiveness and completion of a big project and disaster in your future.
Even works for aliens Test
Input
7.of.9 (of Star Trek)
Output
7.of.9 (of Star Trek):
There will be inspiration and crime and moments of wonder and clarity in your future.
Extreme (Validator) Validator
Input
[email protected]( )rd
Output
[email protected]( )rd:
There will be investment gain and redemption and a new friend in your future.
No apology for apostrophe Test
Input
d'Artagnan
Output
d'Artagnan:
There will be career change and altruistic acts and a new friend in your future.
apostrophe Validator Validator
Input
O'Dowd
Output
O'Dowd:
There will be inspiration and career change and redemption in your future.
Solution language
Solution
Stub generator input