Les pavages hexagonaux , ou pavages de l'avion, sont tricolores - ce qui signifie qu'en utilisant seulement trois couleurs, comme le rouge, le bleu et le vert, chaque hexagone peut être coloré sans que deux hexagones partagent une bordure partageant une couleur. Un exemple partiel montrant un tel modèle.
Étant donné un pavage hexagonal partiel en ASCII (via STDIN, lecture à partir d'un fichier, etc.), changez les couleurs des caractères (via les codes ANSI, manipulation d'image, etc.) pour s'adapter à cette coloration. La torsion est le milieu des hexagones (les *
ci-dessous) sont les trois couleurs, et les lignes entre doivent être un mélange de leurs deux *
couleurs hexagones correspondantes . Si la ligne est sur la bordure extérieure, elle doit correspondre à la ligne correspondante *
.
Par exemple, étant donné le pavage hexagonal partiel de
/ \ / \ / \ / \
| * | * | * | * |
\ / \ / \ / \ /
| * | * | * |
\ / \ / \ /
supposons que nous décidions de colorier l'hex en haut à gauche *
pour être rouge, et ses deux voisins pour être bleu et vert (dans le sens horaire). Ensuite, la |
ligne doit être magenta et la /
ligne doit être jaune. Si nous continuons à colorier, nous finirons par arriver à quelque chose comme ça (agrandi pour plus de clarté):
Ou, pour une entrée de
/ \
| * |
/ \ /
| * |
/ \ /
| * |
\ /
vous pouvez le colorer ainsi (agrandi pour plus de clarté):
Quelques cas de test supplémentaires (votre code devrait être capable de les gérer):
/ \ / \
| * | * |
\ / \ /
| * |
/ \ / \
| * | * |
\ / \ /
/ \
| * |
\ / \
| * |
/ \ /
| * |
\ /
/ \
| * |
\ /
Règles
- L'entrée est garantie d'avoir au moins un hexagone, et aucune entrée n'aura de "trou".
- Vous n'avez pas besoin de commencer votre coloration avec du rouge, tant que vous maintenez la règle des trois couleurs.
- Si le pavage partiel peut être bicolore, vous pouvez le faire sans pénalité (comme dans le deuxième exemple) - vous n'avez pas nécessairement besoin d'extrapoler le pavage partiel à un pavage complet.
- Les centres hexagonaux
*
doivent être colorés en rouge, bleu ou vert, tandis que les lignes entre doivent être cyan, jaune ou magenta. Par exemple, avoir un Magenta*
n'est pas autorisé et un Rouge|
ou\
ou/
doit être sur la bordure extérieure du dessin. Voir Couleurs ci-dessous. - Si votre console n'a pas ces couleurs exactes, veuillez utiliser l'approximation la plus proche et spécifier dans votre réponse l'approximation que vous utilisez.
- Les espaces blancs de début ou de fin, y compris les retours à la ligne de fin, sont acceptables tant que les caractères s'alignent.
- Le pavage partiel peut être saisi avec un espace pour former un rectangle, si cela facilite la tâche de votre code.
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- La sortie peut être vers la console, enregistrée en tant qu'image, etc.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
Couleurs et mélanges de couleurs:
Les trois couleurs de base disponibles sont (avec des codes de couleur au format décimal RVB):
- rouge
(255,0,0)
- vert
(0,255,0)
- Bleu
(0,0,255)
Les combinaisons sont:
- Le rouge et le vert se combinent pour faire du jaune
(255,255,0)
- Le bleu et le vert se combinent pour faire du cyan
(0,255,255)
- Le rouge et le bleu se combinent pour faire du magenta
(255,0,255)
*