Votre défi: faire un arbre de Noël. La taille doit pouvoir être choisie par une méthode d'entrée, mais ne doit pas être directement liée à une partie de l'arbre. Cependant, des entrées plus importantes devraient produire un arbre plus grand.
Comment pouvez-vous le faire? Vous pouvez créer l’arbre comme bon vous semble, sauf en imprimant le caractère Unicode correspondant à l’arbre , par exemple, en supprimant une image, l’art ASCII, etc., quoi que vous fassiez, rappelez-vous qu’il s’agit d’un concours de popularité . sois créatif.
La réponse avec le plus de votes positifs à la fin du mois de décembre l'emporte, mais j'accepterai un autre s'il est plus élevé
popularity-contest
Justin
la source
la source
Réponses:
Python
Un arbre de Noël fractal utilisant le paquet tortue:
n est le paramètre de taille, l’arbre montré est pour n = 50. Prend une minute ou deux pour dessiner.
la source
:)
JavaScript
Afficher l'arbre en ligne en ligne .
la source
Encore un autre arbre de langue Mathematica / Wolfram basé sur la réponse de Vitaliy :
la source
Javascript
C'est mon premier code golf!
Il vient à 295 caractères.
La taille et la décoration de l'arbre sont définies par les variables a, b, c:
Il semble préférable que a soit un multiple de b, comme dans l'exemple.
Collez dans la console pour créer un arbre. Ça a l'air mieux de loin!
la source
a=40,b=8,c=13,o="<p style='font:monospace;color:#094' align='center'>",w=1,x=0,y="|#|<br>";for(i=1;i<a;i++){for(j=0;j<w;j++){x%c==0?o+="<b style='color:red'>O</b>":o+="+";x++;}i%b==0?w-=4:w+=2;o+="<br>";}document.write(o+"<b style='color:#640'>"+y+y+y+"</b></p>");
doc.write
? Pas +1 de moi.C ++
Faisons-le dans l'esprit de IOCCC et ayons le code en forme d'arbre aussi! :RÉ
Prend un entier en entrée et retourne un arbre de Noël avec autant de "niveaux de pile". Par exemple, une entrée de
Résultats:
la source
*
en haut de l’arbre (code source), vous aurez mon +1.Javascript
Générateur de sapins procédural entièrement 3D quasi-réaliste.
Comprend: une configuration étendue avec encore plus d'options de configuration présentes dans le code; un tronc en zigzagy; branches ramifiées; animation de croissance; rotation d'un arbre complètement développé.
Ne comportant pas: jQuery, Underscore.js ou toute autre bibliothèque; dépendance au matériel - seul le support de canevas est requis; code malpropre (du moins c'était l'intention)
Page en direct: http://fiddle.jshell.net/honnza/NMva7/show/
Modifier la page: http://jsfiddle.net/honnza/NMva7/
capture d'écran:
HTML:
Javascript:
la source
Frapper
Exemple de sortie:
La taille de l’arbre (c’est-à-dire le nombre de lignes) est transmise sur la ligne de commande et est limitée à 5 ou plus. L'image ci-dessus a été produite à partir de la commande
./xmastree.sh 12
. Voici le code source:la source
Avertissement: ceci est basé sur mon arbre de Noël LaTeX, d'abord publié ici: https://tex.stackexchange.com/a/87921/8463
Le code suivant générera un arbre de chrismtas, avec des décorations aléatoires. Vous pouvez modifier à la fois la taille de l'arbre et la graine aléatoire pour générer un arbre différent.
Pour changer le germe, modifiez la valeur interne
\pgfmathsetseed{\year * 6}
en une autre valeur numérique (la valeur par défaut générera un nouvel arbre chaque année)Pour changer la taille de l'arborescence, modifiez-la
order=10
pour qu'elle soit plus grande ou plus petite en fonction de la taille de l'arborescence souhaitée.Exemples.
order=11
:order=8
la source
Befunge 93
C'est un arbre non décoré:
Exemple de sortie, entrée 10:
Ajoutons quelques décorations:
Exemple de sortie:
la source
HTML et CSS
Les tailles comprises entre 1 et 25 sont prises en charge - ajoutez simplement la taille à l'URL en tant qu'identificateur de fragment.
Fonctionne dans Chrome, Explorer et Firefox. Dans Opera, c'est moche, mais la partie mise à l'échelle fonctionne.
Exemple d'accès:
Exemple d'accès:
Vue en direct:
http://dabblet.com/gist/8026898
(La vue en direct ne contient pas de code CSS préfixé par le fournisseur et comprend des liens permettant de modifier la taille.)
la source
:target
pour redimensionner la sortie :-)Java
Pour modifier la taille, choisissez
scale
une autre valeur double (conservez-la autour de 1 si vous voulez voir quelque chose).Exemple de sortie (pour 1.0 comme échelle, trop paresseux pour prendre une capture d'écran, alors venez de poster ce qu'il fait):
Le programme prend cette image sur Internet, la redimensionne en fonction de
scale
, puis la place dans une fenêtre non décorée où elle est affichée. En cliquant sur la fenêtre ferme le programme. De plus, le texte de l'info-bulle est là, mais pas le lien.la source
TI-89 Basic
Juste parce que je voulais voir un arbre de Noël sur ma calculatrice. Je vais le taper ici tel qu'il apparaît sur ma calculatrice.
Cela fonctionne de la même manière que ma réponse Befunge, mais j'utilise des ornements différents. Oui,
elementAt
les utilisations répétées de ma fonction ralentissent le programme en raison de nombreuses conversions entre les listes et les matrices, mais comme je l'ai écrit auparavant, j'ai décidé de ne pas le modifier. Aussi, j’ai appris en tapant cette réponse que c’était©
un commentaire (je pensais que c’était comme ça@
, mais c’est un autre personnage). Jamais su ce que c'était avant maintenant.Exemple de sortie:
J'aime ceux
∫
-ci; ils ressemblent à des cannes de bonbon.la source
Wolfram Language ( Mathematica )
Comme discuté sur le célèbre fil Reddit: t * sin (t) tree arbre de Noël
la source
t*sin(t)
comme je l'ai dit dans le post. Donc, le complot pour de plus grands t va juste faire un plus grand arbre:Table[..., {t, 0, 200, PD}]
Bash avec Bc et ImageMagick
Échantillon échantillon:
Exemple de sortie:
Échantillon échantillon:
Exemple de sortie:
la source
C
Exemple de sortie pour profondeur = 4, zoom = 2.0
Cette réponse utilise une approche très différente des autres réponses. Il génère une arborescence par ramification récursive. Chaque branche est représentée par un ensemble de cercles. Et enfin, la fonction principale échantillonne les cercles et se remplit de caractères lorsque les cercles sont remplis. Comme cela est fait en échantillonnant une scène (comme le lancer de rayon), elle est intrinsèquement évolutive. L'inconvénient est la vitesse, car il traverse toute l'arborescence pour chaque "pixel"!
Le premier argument de ligne de commande contrôle la profondeur de la ramification. Et la deuxième échelle de contrôle (2 signifie 200%).
la source
Mathematica ASCII
J'aime beaucoup l'art ASCII, alors j'ajoute une autre réponse très différente, particulièrement si courte dans Mathematica:
Et maintenant, avec un peu plus de sophistication, un arbre ASCII dynamique évolutif. Surveillez bien - l'arbre change aussi - la neige se colle en branches puis tombe ;-)
la source
Table
les paramètres de 35 pouces?Je l'ai fait pour un défi sur / r / dailyprogrammer , ( je ne suis pas sûr que la réutilisation de code est contraire à l'esprit / aux règles de ce processus ) mais:
Brainfuck. Prend en entrée un nombre (longueur de la dernière rangée de feuilles) et deux caractères. Un espace entre chaque.
Exemple d'entrée: 13 = +
Exemple de sortie:
Code:
la source
En traitement
L'arbre de Noël fractal original. La position de la souris en Y détermine la taille, utilisez les flèches haut et bas pour changer le nombre de générations.
la source
Rubis
Vous pouvez personnaliser la sortie en changeant
*
.Pour un arbre vert:
((1..20).to_a+[6]*4).map{|i|puts "\e[32m"+('*'*i*2).center(80)}
Approche 2 (arbre de Noël qui ne ressemble pas à une flèche)
Approche 3
la source
1..20
,1..6
etc.Turtle Graphics
Basé sur les propriétés de la spirale d'Euler .
Code:
L'échelle est déterminée par la taille du pas (
move forward by: 6
). Une version interactive est disponible ici .PS inspiré par cette question.
la source
move forward by 6
. Par exemple,10
produira un plus grand arbre. En réalité, il n'y a pas d'entrée dans cette "langue" (ou le code entier peut être traité comme une entrée;)).En traitement
J'ai fabriqué ce générateur d'arbre en utilisant un système L et une tortue.
code:
la source
JavaScript (exécuté sur n'importe quelle page de la console)
Je jouais au golf mais j'ai ensuite décidé de ne pas le faire, alors comme vous pouvez le voir, il y a des TONNES de nombres magiques: P
Résultat pour s = 300:
s = 600:
la source
Langue Game Maker
spr_tree
L'événement Créer de l'arbre
Chambre, 402 par 599
L'arbre est placé à
(0,0)
Prime! Vous pouvez redimensionner l’arbre de Noël après la saisie initiale avec les touches 0 à 9.
la source
AppleScript + SE Réponse
En fait, je l'ai relevé par accident lors de l'édition d'une réponse à cette question. Allez comprendre.
Utilisez ceci en exécutant le code, en tapant le numéro de votre choix, en glissant votre doigt sur le post SE et en cliquant dans le champ de texte. Cela exploite le fait que la pile de citations.
Sortie (entrée 50):
la source
FORTRAN décoré
L'arbre a une gamme limitée de tailles, mais il croit qu'il reflète avec précision la vie de la plupart des arbres de Noël.
De l'arbre à bébé:
À un arbre adolescent:
Pour adulte:
la source
Java
Exemple de résultats:
Taille = 3:
Taille = 4:
Taille = 5:
Taille = 12:
Taille = 20:
la source
Rebol
Avec un dialecte pour afficher les symboles. Pour changer la taille de l'arbre, il suffit de changer le paramètre de
make-tree
.la source
tree
bloc. Vous pouvez le redimensionner ou changer certains symboles à votre guise.Python
la source
Ti-Basic 84
Demande une taille:
Sortie (taille 1):
la source