Votre objectif est d'écrire un encodeur de sémaphore de drapeau , qui convertira une phrase donnée en caractères de sémaphore de drapeau correspondants, selon le système de sémaphore décrit sur Wikipedia .
Supposons que l'entrée est une seule phrase fournie via stdin (ou équivalent). Votre sortie doit être une série de caractères sémaphores, chaque ligne représentant un mot de la phrase. Vous devez uniquement gérer l'alphabet (AZ) et devez ignorer tous les autres caractères non-espace, mais vous devez être capable de gérer à la fois les majuscules et les minuscules. Votre sortie est autorisée à contenir des espaces supplémentaires.
Les caractères du sémaphore doivent être affichés sous la forme d'un carré 3x3, avec un Oau milieu et les positions du drapeau représentées par les caractères | - / \. Chaque caractère sémaphore doit être séparé des caractères adjacents par un espace et chaque ligne doit être séparée par une ligne vierge. Ne vous inquiétez pas de l'habillage des mots qui peuvent être trop longs pour votre affichage - faites comme si vos lignes avaient une longueur infinie.
Exemple d'entrée:
abcdefg hijklmn opqrstu vwxyz
Exemple de sortie:
\ | /
O -O O O O O- O
/| | | | | | |\
\ | | /
-O O O- O O O- O
/ / / / / / \
\ | / \| \ /
-O -O -O -O- -O O O
\
| / / \
O O- O O- O-
\ \ \
Exemple d'entrée:
This is Code Golf.
Exemple de sortie:
\| \
O -O O -O
/ / \
\
O -O
/ \
\ \ | /
O -O O O
| | |
\ /
O -O O O-
|\ / |
Puisqu'il s'agit de code-golf , la solution la plus courte l'emporte.
and each row must be separated by a blank line=> chaque mot est destiné, n'est-ce pas?