Introduction:
Comme c'est presque Halloween, je pensais juste à des défis aléatoires sur le thème d'Halloween. Finalement, je lisais la page wikipedia de Frankenstein et suis tombé sur le texte suivant:
La créature
Une partie du rejet de Frankenstein de sa création est le fait qu'il ne lui donne pas de nom, ce qui provoque un manque d'identité. Au lieu de cela, il est fait référence à des mots tels que "misérable", "monstre", "créature", "démon", "diable", "démon" et "il". Lorsque Frankenstein s'entretient avec la créature dans le chapitre 10, il l'appelle «insecte vil», «monstre abhorré», «démon», «diable misérable» et «diable abhorré».
Défi:
Étant donné deux nombres entiers (année et chapitre), sortez une chaîne basée sur les règles suivantes:
- Si l'année est inférieure à 1818: sortez une chaîne vide †
- Si l'année est exactement 1818 et que le chapitre est inférieur à 10: sortez une chaîne aléatoire de la liste
["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
- Si l'année est exactement 1818 et que le chapitre est supérieur ou égal à 10: sortez une chaîne aléatoire de la liste
["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
- Est l'année au-dessus de 1818 (et donc le livre a été publié), retour
"Frankenstein's Monster"
.
Règles du défi:
- Vous pouvez choisir de sortir en minuscules, en majuscules ou une combinaison.
- L'année sera toujours dans la fourchette
1500-2017
- Le chapitre sera toujours dans la plage
1-24
(si je googlé correctement, le livre a 24 chapitres) - † Au lieu de produire une chaîne vide pour l' option 1, vous êtes également autorisé à la sortie
null
,undefined
,false
,0
ou toute autre valeur de votre choix ne fait pas partie des trois autres options (s'il vous plaît préciser ce que vous avez utilisé dans votre réponse). - La sortie ne doit pas contenir d'espaces / tabulations de début ou de fin, ni de nouvelles lignes de début. Il peut contenir une nouvelle ligne de fin facultative.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés, des programmes complets. Ton appel.
- Les failles par défaut sont interdites (en particulier les «faux nombres aléatoires» ).
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de test:
year,chapter possible outputs:
1700,1 ""; null; undefined; false; 0; etc.
1700,12 ""; null; undefined; false; 0; etc.
1817,10 ""; null; undefined; false; 0; etc.
1818,1 "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,9 "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,10 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,11 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,18 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1819,1 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
1819,18 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
2017,24 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"