Défi
Vous venez d'acheter une toute nouvelle chaise! Le problème est que vous ne savez pas comment le contrôler, vous devrez donc écrire un programme pour le faire pour vous.
Vous ne pouvez vous asseoir sur la chaise non ajustée que si longtemps. Votre code devra donc être aussi court que possible.
Exemples
5,3,2,2,1
O
|
|
| _
| |
|_|_
|
|
O
3,5,2,3,5
O
| _
| |
|__|__
|
|
__|__
OOOOO
2,13,1,1,13
O
| _
|______|______
______|______
OOOOOOOOOOOOO
Suis-je le seul à penser que cela ressemble à un avion?
Pièces de chaise
La chaise a différents composants:
O
|
| <- Backrest
| _ <- Armrest
| |
|__|__ <- Seat
|
| <- Leg
_|_
OOO <- Wheels
Contribution
Vous produirez une chaise en fonction de diverses variables.
L'entrée sera dans l'ordre suivant, toutes les entrées seront des entiers positifs (toujours supérieurs à 0) et seront toujours fournies.
- Hauteur dossier
- Largeur du siège toujours étrange
- Hauteur de l'accoudoir Toujours inférieure à la hauteur du dossier
- Hauteur de jambe
- Nombre de roues Toujours inférieur ou égal à la largeur du siège et toujours impair
Descriptions détaillées des pièces
Les parties de la chaise sont:
Dossier: Ce montant |
est la hauteur du dossier
O
|
|
Siège: Le montant _
est la largeur du siège , insérez un |
au milieu pour l'accoudoir.
__|__
Accoudoir: Le montant |
est la hauteur de l' accoudoir . Celui-ci doit être inséré au milieu du siège.
_
|
|
Jambe: Le montant de |
est déterminé par la hauteur des jambes
|
|
Roues: Les roues sont centrées sous les jambes. S'ils sont plus d'un, tous sauf la roue centrale doivent être _
alignés au-dessus d'eux.
_ _
OOO
Production
La sortie peut avoir une nouvelle ligne de fin. Chaque ligne peut avoir des espaces de fin. L'espace de tête n'est pas autorisé
Réponses:
LabVIEW, 146 primitives LabVIEW
C'est devenu beaucoup plus gros que ce que j'imaginais ...
Il n'y aura pas de GIF cette fois, d'une part en raison de la taille d'autre part, car il n'y a aucun moyen pour quiconque de suivre toutes les données qui circulent.
Cela fonctionne, sauf si vous obtenez LabVIEW et suggérez un hébergeur de fichiers, il n'y aura cependant aucun moyen de vérifier.
la source
JavaScript (ES6), 197 octets
Explication
Eh bien, cela est devenu assez compliqué assez rapidement. Je vais juste commenter ce que fait chaque ligne à un niveau élevé. Espérons qu'avec ce formatage, il n'est pas trop difficile de suivre tous les opérateurs ternaires.
Tester
Afficher l'extrait de code
la source
Python 2, 157 octets
Exemple:
3,7,1,2,5
la source
JavaScript (ES6), 182
Une fonction anonyme. En utilisant des chaînes de modèle, il y a 3 sauts de ligne significatifs et inclus dans le nombre d'octets.
Pas de boucles, en utilisant la répétition dans le même but.
Moins golfé
Extrait de test
la source
SpecBAS -
185168 octetsMaintenant que SpecBAS permet
?
d'être utilisé à la placePRINT
et n'a pas besoinLET
avant l'attribution de variable, il commence à être un peu mieux au golf.Aide également à spécifier les positions d'impression y, x pour éviter d'avoir à travailler beaucoup d'espacement. Cela imprime le dos, le siège, les bras et les jambes puis les roues.
ÉDITER:
pour imprimer le verso, remplacez une
FOR...NEXT
boucle par pipe + return multipliée par la hauteur (("|"#13)*b
)la source
Perl, 181 octets
comprend +1 pour
-n
. Mettez dans un dossier etecho 5,3,2,2,1 | perl -n file.pl
Avec commentaires:
la source