Tu desafío: hacer un árbol de navidad. El tamaño debe ser elegible por algún método de entrada, pero no tiene que estar directamente relacionado con ninguna parte del árbol; sin embargo, entradas más grandes deberían producir un árbol más grande.
¿Cómo puedes hacerlo? Puede hacer el árbol de la forma que desee, excepto imprimiendo el carácter unicode para el árbol , como sacar una imagen, arte ascii, con otros aspectos, etc. Hagas lo que hagas, recuerda que este es un concurso de popularidad , así que ser creativo.
La respuesta con la mayor cantidad de votos a finales de diciembre gana, pero aceptaré otra si aumenta
popularity-contest
Justin
fuente
fuente
Respuestas:
Pitón
Un árbol de Navidad fractal con el paquete de tortuga:
n es el parámetro de tamaño, el árbol que se muestra es para n = 50. Toma un minuto o dos para dibujar.
fuente
:)
JavaScript
Mostrar el árbol animado en línea .
fuente
Otro árbol de Mathematica / Wolfram Language basado en la respuesta de Vitaliy :
fuente
Javascript
Este es mi primer código de golf!
Viene en 295 caracteres.
El tamaño y la decoración del árbol lo establecen las variables a, b, c:
Se ve mejor cuando a es un múltiplo de b, como en el ejemplo.
Pegar en la consola para crear un árbol. ¡Se ve mejor desde lejos!
fuente
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
? No +1 de mi parte.C ++
¡Hagámoslo en el espíritu de IOCCC y tengamos el código en forma de árbol también! :RE
Toma un entero como entrada y devuelve un árbol de Navidad con tantos "niveles de pila". Por ejemplo, una entrada de
Devoluciones:
fuente
*
en la parte superior del árbol (código fuente), tendrá mi +1.Javascript
Generador de abeto de procedimiento cuasirealista totalmente en 3D.
Con: amplia configuración con aún más opciones de configuración presentes en el código; un tronco zigzagy; ramas ramificadas; animación de crecimiento; rotación de un árbol completamente desarrollado.
No incluye: jQuery, Underscore.js ni ninguna otra biblioteca; dependencia de hardware: solo se requiere soporte de lienzo; código desordenado (al menos esa era la intención)
Página en vivo: http://fiddle.jshell.net/honnza/NMva7/show/
Editar página: http://jsfiddle.net/honnza/NMva7/
captura de pantalla:
HTML:
Javascript:
fuente
Golpetazo
Salida de muestra:
El tamaño del árbol (es decir, el número de líneas) se pasa en la línea de comando y está limitado a valores de 5 o más. La imagen de arriba fue producida por el comando
./xmastree.sh 12
. Aquí está el código fuente:fuente
Descargo de responsabilidad: esto se basa en mi árbol de Navidad LaTeX, publicado por primera vez aquí: https://tex.stackexchange.com/a/87921/8463
El siguiente código generará un árbol chrismtas, con decoraciones aleatorias. Puede cambiar tanto el tamaño del árbol como la semilla aleatoria para generar un árbol diferente.
Para cambiar la semilla, modifique el valor interno
\pgfmathsetseed{\year * 6}
a cualquier otro valor numérico (el predeterminado generará un nuevo árbol cada año)Para cambiar el tamaño del árbol, modifique el
order=10
tamaño para que sea más grande o más pequeño dependiendo del tamaño del árbol que desee.Ejemplos.
order=11
:order=8
fuente
Befunge 93
Este es un árbol sin decoración:
Salida de muestra, la entrada es 10:
Agreguemos algunas decoraciones:
Salida de muestra:
fuente
HTML y CSS
Se admiten tamaños entre 1 y 25: simplemente agregue el tamaño a la URL como identificador de fragmento.
Funciona en Chrome, Explorer y Firefox. En Opera es feo, pero la parte de escala funciona.
Acceso a muestra:
Acceso a muestra:
Vista en vivo:
http://dabblet.com/gist/8026898
(La vista en vivo no contiene CSS con prefijo de proveedor e incluye enlaces para cambiar el tamaño).
fuente
:target
para escalar la salida :-)Java
Para alterar el tamaño, cambie
scale
a otro valor doble (manténgalo alrededor de 1 si desea ver algo).Salida de muestra (para 1.0 como escala, demasiado flojo para tomar una captura de pantalla, así que solo publiqué lo que hace):
El programa toma esta imagen de Internet, la redimensiona de acuerdo con ella
scale
y luego la coloca en una ventana no decorada donde se muestra. Al hacer clic en la ventana se cierra el programa. Además, el texto de información sobre herramientas está allí, pero el enlace no.fuente
TI-89 Basic
Solo porque quería ver un árbol de Navidad en mi calculadora. Lo escribiré aquí tal como aparece en mi calculadora.
Esto funciona de la misma manera que mi respuesta Befunge, pero uso diferentes adornos. Sí,
elementAt
los usos repetidos de mi función ralentizan el programa debido a muchas conversiones entre listas y matrices, pero como lo escribí antes, decidí no editarlo. Además, aprendí mientras escribía esta respuesta que©
hace un comentario (pensé que se parecía@
, pero ese es otro personaje). Nunca supe lo que era antes ahora.Salida de muestra:
Me encantan los
∫
de eso ; se parecen a los bastones de caramelo.fuente
Wolfram Language ( Mathematica )
Como se discutió en el famoso hilo de Reddit: t * sin (t) ≈ Árbol de Navidad
fuente
t*sin(t)
como dije en la publicación. Por lo tanto, planear t's más grandes solo hará un árbol más grande:Table[..., {t, 0, 200, PD}]
Bash con Bc e ImageMagick
Ejecución de muestra:
Salida de muestra:
Ejecución de muestra:
Salida de muestra:
fuente
C
Salida de muestra para profundidad = 4, zoom = 2.0
Esta respuesta emplea un enfoque bastante diferente de otras respuestas. Genera una estructura de árbol mediante ramificación recursiva. Cada rama está representada por un conjunto de círculos. Y finalmente, la función principal muestrea los círculos y se llena con caracteres cuando se encuentran los círculos. Como se realiza mediante el muestreo de una escena (como el trazado de rayos), es intrínsecamente escalable. ¡La desventaja es la velocidad, ya que atraviesa toda la estructura de árbol por cada "píxel"!
El primer argumento de línea de comandos controla la profundidad de la ramificación. Y la segunda escala de controles (2 significa 200%).
fuente
Mathematica ASCII
Realmente me gusta el arte ASCII, así que agrego otra respuesta muy diferente, especialmente porque es tan breve en Mathematica:
Y ahora con un poco más de sofisticación, un árbol ASCII dinámico escalable. Observe de cerca: el árbol también está cambiando: la nieve se pega a las ramas y luego cae ;-)
fuente
Table
los parámetros?Hice esto para un desafío en / r / dailyprogrammer , (no estoy seguro si reutilizar el código va en contra del espíritu / reglas de esto) pero:
Brainfuck Toma como entrada un número (longitud de la fila inferior de hojas) y dos caracteres. Un espacio entre cada uno.
Entrada de ejemplo: 13 = +
Salida de ejemplo:
Código:
fuente
Tratamiento
El árbol de Navidad fractal original. La posición Y del mouse determina el tamaño, use las teclas de flecha arriba y abajo para cambiar el número de generaciones.
fuente
Rubí
Puede personalizar la salida cambiando
*
.Para un árbol verde:
((1..20).to_a+[6]*4).map{|i|puts "\e[32m"+('*'*i*2).center(80)}
Enfoque 2 (árbol de Navidad que no parece una flecha)
Enfoque 3
fuente
1..20
,1..6
, Etc.Gráficos de tortuga
Basado en las propiedades de la espiral de Euler .
Código:
La escala está determinada por el tamaño del paso (
move forward by: 6
). Una versión interactiva está disponible aquí .PD Inspirado por esta pregunta.
fuente
move forward by 6
. Por ejemplo,10
producirá un árbol más grande. En realidad no hay entrada en este "lenguaje" (o todo el código puede tratarse como entrada;)).Tratamiento
Hice este generador de árbol usando un sistema L y una tortuga.
código:
fuente
JavaScript (se ejecuta en cualquier página de la consola)
Estaba jugando golf, pero luego decidí no hacerlo, así que como pueden ver, hay TONELADAS de números mágicos: P
Resultado para s = 300:
s = 600:
fuente
Game Maker Language
spr_tree
El evento Crear del árbol
Habitación, 402 por 599
El árbol se coloca en
(0,0)
¡Prima! Puede cambiar el tamaño del árbol de Navidad después de la entrada inicial con las teclas 0-9.
fuente
Respuesta de AppleScript + SE
En realidad, recogió esto por accidente mientras editaba una respuesta en esta pregunta. Imagínate.
Use esto ejecutando el código, escribiendo el número que desee, deslizando hacia la publicación SE y haciendo clic en el campo de texto. Esto explota el hecho de que las citas se acumulan.
Salida (entrada 50):
fuente
Árbol FORTRAN decorado
El árbol tiene un rango limitado de tamaños, pero cree que refleja con precisión la vida de la mayoría de los árboles de Navidad.
Del árbol infantil:
Al árbol adolescente:
Al adulto:
fuente
Java
Resultados de muestra:
Tamaño = 3:
Tamaño = 4:
Tamaño = 5:
Tamaño = 12:
Tamaño = 20:
fuente
Rebol
Con un dialecto para mostrar los símbolos. Para cambiar el tamaño del árbol, simplemente cambie el parámetro de
make-tree
.fuente
tree
bloque. Puede cambiar su tamaño o cambiar algunos de los símbolos a su voluntad.Pitón
fuente
Ti-Basic 84
Pide una talla:
Salida (tamaño 1):
fuente