Inspiré par une vidéo YouTube d'un autre utilisateur de PPCG ...
Votre défi est d'utiliser l'art ASCII pour dessiner un mur de château Minecraft d'Andésite et Diorite. La forme du mur est l' ensemble Cantor . Pour référence, le Cantor Set est réalisé en répétant les N fois suivants:
- Tripler l'étape actuelle
- Remplacez celui du milieu par un espace vide
- Ajouter une ligne complète en dessous
Cela crée les éléments suivants pour les quatre premières étapes:
*
* *
***
* * * *
*** ***
*********
* * * * * * * *
*** *** *** ***
********* *********
***************************
Cependant, votre défi n'est pas aussi simple que cela. Vous voyez, une fois que le jeu de cantor est devenu très gros, il devient ennuyeux de regarder le même personnage répété encore et encore et encore. Nous allons donc changer cela en superposant une série alternée d'astérisques *
et de signes dièse #
. Vous devez alterner tous les trois caractères horizontalement et sur chaque ligne verticalement. (Bien sûr, en laissant les espaces identiques) Par exemple, le deuxième exemple deviendra:
* *
###
et le troisième exemple deviendra:
* * * *
### ###
***###***
Pour être complet, voici les exemples quatre et cinq:
#4
* * * * * * * *
### ### ### ###
***###*** ***###***
###***###***###***###***###
#5
* * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###***
Et un méga exemple, la 6ème itération:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***### ###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###*** ***###***###***###***###***###***###***###***###***###***###***###***###***###***
###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###
Le défi
Vous devez écrire un programme complet ou une fonction qui accepte un entier positif pour l' entrée, et émet le N ième génération de cette fractale du château de minecraft. Vous pouvez prendre l'entrée et la sortie par n'importe quelle méthode raisonnable, et vous n'avez pas à vous soucier des entrées non valides (telles que les nombres inférieurs à 1, les nombres à virgule flottante, les non-nombres, etc.).
La réponse la plus courte, mesurée en octets, gagne!
Réponses:
Gelée ,
433635 octetsPour commencer, je suis sûr que cela pourrait être plus court.
Essayez-le en ligne!
* Pour n > 5, votre navigateur peut encapsuler la sortie, mais si vous la copiez-collez dans un éditeur sans encapsulation, vous verrez la sortie appropriée.
Explication
la source
JavaScript (ES7),
132125 octetsOù
\n
représente le caractère de nouvelle ligne littéral. Version ES6 pour 141 octets:la source
Python 2,
142138 138136 octetsCeci est le morceau de code d' ici , puis édité pour ce défi.
Publiera une explication plus tard.
De plus, BTW, deux espaces sont des tabulations.
Edit 1: 4 octets enregistrés grâce à @DJMcMayhem.
Edit 2: 2 octets enregistrés grâce à @daHugLenny.
la source
exec("s+=len(s)*' '+s;"*(n-i))
?Rubis,
115103102 octetsBasé sur la solution de jsvnm pour le golf standard Cantor .
-12 octets grâce à Jordan.
la source
g=->{T.tr"*#","#*"}
s.map!{...}
au lieu des=s.map{...};s
.+
changer en<<
, et il finirait par la même longueur. Je crois ques
c'est toujours nécessaire à la fin de toute façon - la carte est à l'intérieur d'une.times
boucle.J,
4745 octetsBasé sur ma solution au défi d'ensemble de Cantor.
Usage
Explication
la source
PHP, 159 octets
panne
la source