Voici un bonhomme de neige art ASCII simple :
_===_
(.,.)
( : )
( : )
Faisons-lui des amis. Ce sera le modèle général pour nos snowpeople art ASCII:
HHHHH
HHHHH
X(LNR)Y
X(TTT)Y
(BBB)
Les espaces et les parenthèses sont toujours les mêmes pour tous les snowpeople. Les différentes lettres représentent des sections du motif pouvant être modifiées individuellement. Chaque section a exactement quatre préréglages pour quels caractères ASCII peuvent la remplir. En mélangeant et en faisant correspondre ces préréglages pour les huit sections, nous pouvons créer une variété de snowpople.
Tous les préréglages
(Notez que les espaces sont placés sur des lignes vides pour que la forme de la section soit toujours correcte.)
H est pour chapeau
Chapeau de paille
_===_
Chapeau mexicain
___ .....
Fez
_ /_\
-
___ (_*_)
N est pour nez / bouche
Ordinaire
,
Point
.
Ligne
_
Aucun
L est pour l'oeil gauche
Point
.
Plus gros point
o
Le plus gros point
O
Fermé
-
R est pour l'oeil droit
(Même liste que l'œil gauche.)
X est pour le bras gauche
Bras normal
<
Bras vers le haut
\
Bras vers le bas
/
Aucun
Y comme bras droit
Bras normal
>
Bras vers le haut
/
Bras vers le bas
\
Aucun
T est pour le torse
Boutons
:
Gilet
] [
Armes intérieures
> <
Aucun
B est pour Base
Boutons
:
Pieds
" "
Plat
___
Aucun
Défi
Ecrivez un programme qui prend une chaîne de huit caractères (via stdin ou une ligne de commande) dans le format HNLRXYTB
où chaque lettre est un chiffre de 1 à 4 indiquant le préréglage à utiliser pour la section correspondante du motoneige. Imprimez le snowperson complet sur la sortie.
Par exemple, l'entrée 11114411
est le bonhomme de neige en haut de la page. (Premièrement 1
: il a un chapeau de paille, deuxièmement 1
: il a un nez normal, etc.)
Un autre exemple, le snowperson pour la saisie 33232124
:
_
/_\
\(o_O)
(] [)>
( )
Détails
Toutes les quantités et les combinaisons d'espaces de début / fin et de nouvelle ligne sont autorisées tant que ...
- le snowperson a toutes ses sections correctement disposées les unes par rapport aux autres, et
- il n'y a jamais plus de 64 caractères d'espaces blancs au total (le modèle général n'est que de 7 × 5, vous n'allez donc probablement pas atteindre cette limite).
Vous n'avez pas besoin d'imprimer les lignes / colonnes du motif si elles ne contiennent que des espaces. par exemple, la ligne vide du chapeau de paille n'est pas requise.
Vous devez utiliser la commande des pièces telles qu'elles sont données ci-dessus.
Au lieu d'un programme, vous pouvez écrire une fonction qui prend la chaîne de chiffres en argument. La sortie doit être imprimée normalement ou renvoyée sous forme de chaîne.
- Vous pouvez traiter l'entrée comme un entier au lieu d'une chaîne si vous le préférez.
Notation
Le code le plus court en octets gagne.
Question bonus: Lequel des 65 536 snowpopers différents est votre préféré?