Il y a une chanson satirique appelée Little Boxes , à l'origine par Malvina Reynolds, sur l'étalement suburbain qui a des paroles comme suit:
Des petites boîtes à flanc de coteau, Des
petites boîtes à poils collants, Des
petites boîtes à flanc de coteau, Des
petites boîtes tout de même.
Il y en a un vert et un rose
Et un bleu et un jaune,
Et ils sont tous faits de collant collant
Et ils ont tous la même apparence.
Votre travail ici est, étant donné une entrée entière n>1
qui représente la taille de la maison, de sortir les quatre "petites boîtes" en utilisant les couleurs suivantes (en notation 0xRRGGBB):
Green -- 0x00FF00
Pink --- 0xFF00FF (technically magenta)
Blue --- 0x0000FF
Yellow - 0xFFFF00
Si votre console particulière n'a pas ces couleurs exactes, vous pouvez utiliser les plus proches disponibles (par exemple, les codes d'échappement ANSI).
Les maisons sont construites avec n
_
représentant le sol et la ligne de toit. Ils sont entourés de personnages n/2
(arrondis) |
représentant les murs. Les toits sont toujours 2
hauts et sont deux /
sur le bord gauche, deux \
sur le bord droit et n-2
-
représentant le sommet du toit. À mesure que les maisons s'agrandissent, la taille comparative du toit diminue; c'est prévu.
Voici une maison de taille 2
:
/\
/__\
|__|
Voici la taille 3
:
/-\
/___\
| |
|___|
Voici la taille 7
:
/-----\
/_______\
| |
| |
| |
|_______|
Ainsi, étant donné une entrée de 7
, sortie quatre maisons de taille 7
comme décrit ci-dessus, avec la première en vert, la seconde en rose (magenta), la troisième en bleu et la quatrième en jaune. La sortie des couleurs dans cet ordre est importante.
Exemple d'image de taille 3
:
Règles
- Les maisons peuvent être horizontales ou verticales tant qu'elles sont clairement séparées.
- Les sauts de ligne de début / fin ou d'autres espaces blancs sont facultatifs, à condition que les maisons s'alignent de manière appropriée.
- 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.
la source
0
sont-ils nécessaires?#RGB
des codes de couleur CSS valides .Python 2 ,
123121119 119111109108 octets\33
)input()
au lieu de définir une fonctionstr(90+n)
avec0<=n<=9
est"9%s"%n
deuxtrois octets en utilisant le formatage de chaîne plutôt que la concaténation de chaîneEssayez-le en ligne!
Utilise les codes d'échappement ANSI pour colorer les maisons.
la source
90
et2,5,4,3
résumée est effectivement une concaténation.Excel VBA, 243 octets
Fonction de fenêtre immédiate VBE anonyme qui prend des entrées
A1
et des sorties dans la plageA2:A5
Production
la source
Japt ,
7976747372 octetsEssayez-le (ouvrez la console de votre navigateur avant de cliquer sur "Exécuter").
Merci à ETH de m'avoir aidé à tester cela hier soir alors que je travaillais sur mon téléphone.
Explication
Saisie implicite d'entier
U
D'abord, nous construisons un tableau de couleurs hexadécimales à 3 chiffres pour les cartographier. Le code de caractères de
²
1783#²
nous donne donc 3178. Nous convertissons cela en une chaîne de base 2 avec¤
puis remplaçons toutes les occurrences de1
avecf
.ò3
divise la chaîne en un tableau de chaînes de longueur 3 etw
inverse ce tableau.(Je dois trouver un moyen de raccourcir cela, en quelque sorte.)
Nous mappons le tableau en utilisant
£
- avecX
l'élément courant - et lesOl
journaux sur la console. Nous allons passer 2 chaînes à cela, une contenant la maison et une contenant le CSS.La deuxième chaîne est construite en utilisant
i
pour ajouterX
la chaîne compresséecolor:#
.Le
%c
indique à la console d'utiliser la deuxième chaîne comme CSS. La ligne supérieure de la maison est construite en répétant (ç
) les temps des-
caractèresU
, puis en les découpant à partir du deuxième élément (indexé 0) avec¤
. Les accolades agissent comme un raccourci, en quelque sorte, pour la concaténation de chaînes.La deuxième ligne est construite de manière similaire, cette fois en répétant les temps des
_
caractèresU
.Le corps de la maison est construit en répétant d'abord le
|
caractère deux fois avec²
puis en insérant un espace répétéU
fois dans cette chaîne à l'index 1. La chaîne résultante est ensuite ajoutée à une nouvelle ligne (R
) et cette chaîne est répétée plusieursU/2-0.5
fois.Enfin, la dernière ligne est construite de la même manière que la seconde.
la source
Python 2 , 120 octets
Essayez-le en ligne! (affiche les caractères d'échappement au lieu des couleurs réelles, testé sur le terminal local)
la source
n=2
.use the closest available
, même si vous semblez utiliser les couleurs normales au lieu des couleurs vives. Les couleurs vives - je pense - seraient cependant plus proches des couleurs souhaitées.Yabasic , 220 octets
Une fonction anonyme qui prend l'entrée sous forme d'entier
n
et renvoie 4 foyers colorés au terminal.L'absence d'une fonction de répétition ou de remplacement de chaîne dédiée dans yabsic nuit vraiment à cette réponse.
Cette version nécessite un mode graphique et ne fonctionne donc pas sur TIO.
Production
La valeur d'entrée pour ce qui suit est
n=7
.la source
SmileBASIC, 115 octets
Un autre qui fait aussi 115 octets:
Les codes de couleurs dont j'ai besoin (en RGBI 4 bits) sont 5, 11, 9, 7. Ceci est généré en utilisant
!!J*8-J*2+5
Si J n'est pas 0, c'est13-J*2
(donnant 11,9,7), et si c'est le cas, le résultat est seulement 5.la source