La vente d'hiver Scream ™ est lancée et vous venez de vous attraper un jeu d'action minimaliste intense, Super Square . En y jouant, vous réalisez que le jeu est ridiculement difficile ou que vous êtes vraiment mauvais. En particulier, il y a ce motif "pluie" qui semble vous avoir à chaque fois ...
Frustré, vous décidez de vous lancer un défi différent: dessinez le motif de la pluie dans l'art ASCII!
Contribution
L'entrée est un entier positif unique indiquant la taille du motif n
, donné via STDIN ou un argument de fonction.
Production
La sortie est le motif de pluie à la taille spécifiée, renvoyé sous forme de chaîne ou imprimé via STDOUT. L'espace de début ou de fin avant ou après l'image entière est correct. De plus, l'image n'a pas besoin d'être alignée à gauche de l'écran, mais doit être clairement perceptible.
Voici n = 10
:
...................
| ----------------- |
| ............... |
| | ------------- | |
| | ........... | |
| | | --------- | | |
| | | ....... | | |
| | | | ----- | | | |
| | | | ... | | | |
| | | | | - | | | | |
| | | | | | | | | |
| | | | | - | | | | |
| | | | ... | | | |
| | | | ----- | | | |
| | | ....... | | |
| | | --------- | | |
| | ........... | |
| | ------------- | |
| ............... |
| ----------------- |
...................
Voici n = 5
:
---------
.......
| ----- |
| ... |
| | - | |
| | | |
| | - | |
| ... |
| ----- |
.......
---------
Et enfin, voici n = 1
(juste les deux murs les plus intérieurs):
-
-
Construction (pour plus de clarté)
La zone de jeu est divisée en deux paires de quadrants comme suit:
AAAAAAAAA
B AAAAAAA B
BB AAAAA BB
BBB AAA BBB
BBBB A BBBB
BBBBB BBBBB
BBBB A BBBB
BBB AAA BBB
BB AAAAA BB
B AAAAAAA B
AAAAAAAAA
Les quadrants supérieur / inférieur doivent alterner entre des murs horizontaux représentés par des tirets -
et des espaces ombrés de points .
. Les quadrants gauche / droit doivent alterner entre les espaces et les murs verticaux représentés par des tuyaux
|
. Les diagonales principales sont vides et doivent toujours être remplies d'espaces.
Le modèle de pluie de taille n
a des 2n
murs, avec des murs des quadrants supérieurs / inférieurs les plus proches du centre et des murs alternant entre les quadrants lorsque nous nous éloignons du centre.
Notation
C'est du code-golf, donc le code dans le moins d'octets gagne.
Réponses:
CJam,
93 87 78 6159 octetsPrend de la valeur
n
via STDINQuelques exemples:
Cela peut être beaucoup joué au golf, ce que je ferai en premier demain.
Essayez-le en ligne ici
la source
Haskell 150 octets
Je me rends compte que ça ne va pas gagner, je voulais juste poster mon premier codegolf: D
Utilisez en chargeant dans GHCi et en appelant
q n
oùn
est la taille.Quelques exemples:
Quelqu'un peut probablement faire mieux, je suis assez nouveau pour Haskell.
la source
Python,
204,198, 191 octets"r" est une fonction utilitaire qui écrit "b" entouré de "a" réfléchi, avec un délimiteur facultatif (oui, les paramètres lambda peuvent avoir des valeurs par défaut). "f" est récursif, générant des côtés et des parties médianes pour chaque niveau "g" est la fonction pluie, qui peut être appelée avec un entier pour renvoyer le texte demandé.
la source
Perl 5: 74 octets (code 73 +
-p
)Prend le paramètre sur l'entrée (caractère de fin de ligne requis pour le bon fonctionnement):
Non golfé:
la source