Déchiffrer les grenouilles névrotiques
Maintenant que Puzzling.SE a finalement déchiffré mon chiffre obsédé par les amphibiens , écrivons un programme ou une fonction pour le déchiffrer!
(Si vous voulez regarder le puzzle avant de l'avoir gâté pour vous, cliquez sur le lien ci-dessus maintenant.)
Comment fonctionne le chiffrement
Dans Neurotic grenouilles O ught Pour Rel un x dans M ud Bains ( « Neurotic grenouilles » pour faire court), chaque lettre est cryptée comme un ou deux mots:
- La longueur d'un mot non en italique représente une lettre.
neurotic
=> 8 lettres =>H
frogs
=> 5 lettres =>E
perpendicular
=> 13 lettres =M
- Un mot qui contient de l'italique modifie le mot suivant, en ajoutant 10 si le mot en italique était de longueur impaire ou 20 si le mot en italique était de même longueur. Tout ou partie du mot peut être en italique. Un mot en italique est toujours suivi d'un mot non en italique.
*o*ught to
=> impair, 2 => 12 =>L
lo*u*nging calms
=> pair, 5 => 25 =>Y
Chaque mot de texte en clair correspond à une phrase de texte chiffré et chaque phrase de texte en clair correspond à un paragraphe de texte chiffré.
Format d'entrée
Votre programme ou fonction doit entrer un message dans Neurotic Frogs, formaté dans Markdown. L'entrée consistera uniquement en ASCII imprimable et en sauts de ligne.
- Les mots sont des séquences de caractères qui correspondent à l'expression régulière
[A-Za-z0-9']
.- Les chiffres et les lettres comptent pour la longueur d'un mot.
QB64
représenteD
. - REMARQUE: les apostrophes ne comptent pas pour la longueur d'un mot.
Isn't
représenteD
, nonE
.
- Les chiffres et les lettres comptent pour la longueur d'un mot.
- Les lettres en italique sont entourées d'une paire d'astérisques (
*letters*
).- Une ou plusieurs lettres consécutives peuvent être en italique, jusqu'à un mot entier (
masseus*es*
,*all*
); plusieurs lettres non consécutives dans un mot peuvent également être en italique (g*e*n*e*rates
). - L'italique ne couvre jamais plusieurs mots, n'inclut jamais la ponctuation et n'inclut jamais les apostrophes.
- Les astérisques non appariés et plusieurs astérisques adjacents ne se produiront jamais.
- Une ou plusieurs lettres consécutives peuvent être en italique, jusqu'à un mot entier (
- Ponctuation est l' un des caractères suivants:
.,?!:;-()"
.- Les mots d'une phrase sont séparés par un ou plusieurs caractères de ponctuation et / ou un seul espace. Exemples:
*all* welcomed
,toad*s*, newts
,Ever*y*one--frogs
,cap... bliss
,they're (I
- Les phrases se terminent par un ou plusieurs caractères de ponctuation et sont séparées par un double espace:
Th*e* Montgomery A*m*phibian Salon! Come luxuriate today!
- Les paragraphes sont séparés par une seule nouvelle ligne. (La dernière phrase d'un paragraphe contient toujours un ou plusieurs caractères de ponctuation.)
- Les mots d'une phrase sont séparés par un ou plusieurs caractères de ponctuation et / ou un seul espace. Exemples:
Les autres caractères n'apparaîtront pas en entrée et n'ont pas besoin d'être traités.
Votre code peut, à votre discrétion, s'attendre à ce que l'entrée ait une seule nouvelle ligne de fin.
Format de sortie
Le résultat du décryptage de l'entrée sera une ou plusieurs phrases. Les lettres de texte en clair peuvent être n'importe quelle combinaison de majuscules et de minuscules. Les mots d'une phrase doivent être séparés par des espaces simples. Les phrases doivent se terminer par un point ( .
) et être séparées par un seul espace. Vous pouvez afficher un espace de fin après la dernière phrase. Votre sortie sera sur une seule ligne, mais vous pouvez sortir une nouvelle ligne de fin.
Détails divers
Votre code peut utiliser n'importe laquelle des méthodes d'entrée et de sortie standard. Il doit recevoir une entrée sous forme de chaîne multiligne, pas une liste ou une autre structure de données, et il doit sortir une chaîne.
Le code le plus court en octets gagne!
Cas de test
-->
Neurotic Frogs *O*ught To Rel*a*x In *M*ud Baths!
<--
HELLO.
-->
Business standards all*o*w only *adult* amphibians.
<--
HINT.
-->
Rejoice, *a*ll frogs an*d* toads also! Montgomery Sal*o*n opens up! Ha*pp*y throng fill*s* street ecstatically!
<--
GOOD JOB PPL.
-->
I like 3.1415926535897.
IM*O*, it's a *b*la*st*, yeah!
<--
ADAM. MAN.
-->
*I*, happily, *th*anks 2 u *e*ditin*g* specific wor*ding*--clarifying a *bit*--betterment :D!
<--
QUARTATA.
-->
Perpendicular l*ou*nging calms. *A* frog, a m*u*d cap... bliss! Wallowing g*e*n*e*rates happiness. Amphibian sp*a* isn't expensive--seventy d*o*llars--cheap! That'*s* not *a* large e*x*pens*e* from an*y* discerning fr*o*g's money, unlik*e* Super 8.
Ever*y*one--frogs, toad*s*, newts, *a*nd salamanders! G*e*t a wonderful shiat*s*u, or recei*v*e an other kind. Masseus*es* are her*e* today! Invite a fianc*e*e, supervisor, roommate, niece: *all* welcomed!
Y*o*u simply ne*v*er believed these p*o*ssibilitie*s*; they're (I *swear*) absolute truth! Th*e* Montgomery A*m*phibian Salon! Come luxuriate today!
<--
MY NAME IS INIGO MONTOYA. YOU KILLED MY FATHER. PREPARE TO DIE.