Tantangan Anda: Buat pohon Natal. Ukuran harus dipilih dengan beberapa metode input, tetapi tidak harus terkait langsung dengan bagian pohon apa pun; namun, input yang lebih besar harus menghasilkan pohon yang lebih besar.
Bagaimana Anda bisa membuatnya? Anda dapat membuat pohon sesuka Anda, selain dengan mencetak karakter unicode untuk pohon , seperti ouputting gambar, seni ascii, dengan aspek lain, dll. Apa pun yang Anda lakukan, ingat bahwa ini adalah kontes popularitas , jadi Jadilah kreatif.
Jawaban dengan paling banyak dukungan pada akhir Desember menang, tetapi saya akan menerima yang lain jika lebih tinggi
popularity-contest
Justin
sumber
sumber
Jawaban:
Python
Pohon Natal fraktal menggunakan paket penyu:
n adalah parameter ukuran, pohon yang ditampilkan adalah untuk n = 50. Butuh satu atau dua menit untuk menggambar.
sumber
:)
JavaScript
Perlihatkan pohon animasi online .
sumber
Namun pohon Bahasa Mathematica / Wolfram lain berdasarkan jawaban Vitaliy :
sumber
Javascript
Ini golf kode pertamaku!
Muncul di 295 Karakter.
Ukuran dan dekorasi pohon diatur oleh variabel a, b, c:
Ini terlihat paling baik ketika a adalah kelipatan b, seperti pada contoh.
Rekatkan ke konsol untuk membuat pohon. Terlihat lebih baik dari jauh!
sumber
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
? Tidak ada +1 dari saya.C ++
Mari kita membuatnya dalam semangat IOCCC dan memiliki kode dalam bentuk pohon juga! : D
Mengambil bilangan bulat sebagai input, dan mengembalikan pohon Natal dengan banyak "tingkat tumpukan". Misalnya, input dari
Pengembalian:
sumber
*
di atas pohon (kode sumber), Anda akan memiliki +1 saya.Javascript
Generator pohon cemara prosedural sepenuhnya 3D quasirealistic.
Menampilkan: konfigurasi ekstensif dengan lebih banyak opsi konfigurasi hadir dalam kode; batang zig-zag; cabang bercabang; animasi pertumbuhan; rotasi pohon yang sudah dewasa.
Tidak menampilkan: jQuery, Underscore.js atau perpustakaan lainnya; ketergantungan perangkat keras - hanya dukungan kanvas yang diperlukan; kode berantakan (setidaknya itu maksudnya)
Halaman langsung: http://fiddle.jshell.net/honnza/NMva7/show/
Edit halaman: http://jsfiddle.net/honnza/NMva7/
tangkapan layar:
HTML:
Javascript:
sumber
Pesta
Output sampel:
Ukuran pohon (yaitu jumlah garis) dilewatkan pada baris perintah, dan terbatas pada nilai 5 atau lebih besar. Gambar di atas dihasilkan dari perintah
./xmastree.sh 12
. Berikut kode sumbernya:sumber
Penafian: ini berdasarkan pohon natal LaTeX saya, pertama kali diposting di sini: https://tex.stackexchange.com/a/87921/8463
Kode berikut akan menghasilkan pohon chrismtas, dengan dekorasi acak. Anda dapat mengubah ukuran pohon, dan benih acak untuk menghasilkan pohon yang berbeda.
Untuk mengubah seed, modifikasi nilai di dalam
\pgfmathsetseed{\year * 6}
ke nilai numerik lainnya (yang default akan menghasilkan pohon baru setiap tahun)Untuk mengubah ukuran pohon modifikasi
order=10
menjadi lebih besar, atau lebih kecil tergantung pada ukuran pohon yang Anda inginkan.Contohnya.
order=11
:order=8
sumber
Jalak 93
Ini adalah pohon yang tidak didekorasi:
Output sampel, input adalah 10:
Mari tambahkan beberapa dekorasi:
Output sampel:
sumber
HTML dan CSS
Ukuran antara 1 dan 25 didukung - cukup tambahkan ukuran ke URL sebagai pengidentifikasi fragmen.
Bekerja di Chrome, Explorer dan Firefox. Di Opera jelek, tetapi bagian penskalaannya bekerja.
Akses sampel:
Akses sampel:
Tampilan langsung:
http://dabblet.com/gist/8026898
(Tampilan langsung tidak mengandung CSS yang diawali vendor dan menyertakan tautan untuk mengubah ukuran.)
sumber
:target
untuk skala output :-)Jawa
Untuk mengubah ukuran, ubah
scale
ke beberapa nilai ganda lainnya (pertahankan sekitar 1 jika Anda ingin melihat sesuatu).Contoh hasil (untuk skala 1.0, terlalu malas untuk mengambil tangkapan layar, jadi cukup poskan apa fungsinya):
Program ini mengambil gambar ini dari internet, mengubah ukurannya sesuai dengan
scale
, lalu meletakkannya di jendela yang tidak didekorasi dimana gambar itu ditampilkan. Mengklik pada jendela menutup program. Juga, teks tip alat ada di sana, tetapi tautannya tidak.sumber
TI-89 Basic
Hanya karena saya ingin melihat Pohon Natal di kalkulator saya. Saya akan mengetiknya di sini seperti yang muncul di kalkulator saya.
Ini bekerja dengan cara yang sama dengan jawaban Befunge saya, tetapi saya menggunakan ornamen yang berbeda. Ya,
elementAt
fungsi saya yang berulang kali memperlambat program karena banyak konversi antara daftar dan matriks, tetapi ketika saya menulisnya sebelumnya, saya memutuskan untuk tidak mengeditnya. Juga, saya belajar sambil mengetik jawaban ini yang©
membuat komentar (saya pikir itu terlihat seperti@
, tetapi itu adalah karakter lain). Tidak pernah tahu apa itu sebelumnya.Output sampel:
Saya suka
∫
itu; mereka terlihat seperti tongkat permen.sumber
Bahasa Wolfram ( Mathematica )
Seperti yang dibahas di utas Reddit yang terkenal: t * sin (t) ≈ Pohon Natal
sumber
t*sin(t)
seperti yang saya katakan di posting. Jadi merencanakan untuk t yang lebih besar hanya akan membuat pohon yang lebih besar:Table[..., {t, 0, 200, PD}]
Bash dengan Bc dan ImageMagick
Contoh dijalankan:
Output sampel:
Contoh dijalankan:
Output sampel:
sumber
C
Output sampel untuk kedalaman = 4, zoom = 2.0
Jawaban ini menggunakan pendekatan yang sangat berbeda dari jawaban lainnya. Ini menghasilkan struktur pohon dengan percabangan rekursif. Setiap cabang diwakili oleh satu set lingkaran. Dan akhirnya fungsi utama sampel lingkaran dan isi dengan karakter ketika lingkaran bertemu. Karena dilakukan dengan mengambil sampel adegan (seperti ray-tracing), maka secara intrinsik skalabel. Downside adalah kecepatan, karena melintasi seluruh struktur pohon untuk setiap "pixel"!
Argumen baris perintah pertama mengontrol kedalaman percabangan. Dan skala kontrol kedua (2 berarti 200%).
sumber
Mathematica ASCII
Saya sangat suka seni ASCII, jadi saya menambahkan jawaban yang sangat berbeda - terutama begitu singkat di Mathematica:
Dan sekarang dengan sedikit kecanggihan, pohon ASCII dinamis yang dapat diskalakan. Perhatikan dengan seksama - pohon juga berubah - salju menempel ke cabang kemudian jatuh ;-)
sumber
Table
parameter 35 in ?Saya membuat ini untuk tantangan pada / r / dailyprogrammer , (tidak yakin apakah menggunakan kembali kode bertentangan dengan semangat / aturan ini) tetapi:
Brainfuck. Dibawa sebagai input nomor (panjang baris bawah daun) dan dua karakter. Satu ruang antara masing-masing.
Contoh input: 13 = +
Contoh output:
Kode:
sumber
Pengolahan
Pohon Natal fraktal asli. Posisi Mouse Y menentukan ukuran, gunakan tombol panah atas dan bawah untuk mengubah jumlah generasi.
sumber
Rubi
Anda dapat menyesuaikan output dengan mengubah
*
.Untuk pohon hijau:
((1..20).to_a+[6]*4).map{|i|puts "\e[32m"+('*'*i*2).center(80)}
Approach 2 (Pohon Natal yang tidak terlihat seperti panah)
Pendekatan 3
sumber
1..20
,,1..6
dll.Turtle Graphics
Berdasarkan sifat-sifat spiral Euler .
Kode:
Skala ditentukan oleh ukuran langkah (
move forward by: 6
). Versi interaktif tersedia di sini .PS Terinspirasi oleh pertanyaan ini .
sumber
move forward by 6
. Misalnya,10
akan menghasilkan pohon yang lebih besar. Sebenarnya tidak ada input dalam "bahasa" ini (atau seluruh kode dapat diperlakukan sebagai input;)).Pengolahan
Saya membuat generator pohon ini menggunakan L-System dan Turtle.
kode:
sumber
JavaScript (dijalankan di halaman mana saja di konsol)
Saya bermain golf ini tetapi kemudian memutuskan untuk tidak melakukannya, jadi seperti yang Anda lihat ada BANYAK angka ajaib: P
Hasil untuk s = 300:
s = 600:
sumber
Bahasa Game Maker
spr_tree
Buat Acara Pohon
Kamar, 402 x 599
Pohon itu ditempatkan di
(0,0)
Bonus! Anda dapat mengubah ukuran pohon Natal setelah input awal dengan tombol 0-9.
sumber
AppleScript + SE Answer
Sebenarnya mengambil ini secara tidak sengaja saat mengedit jawaban dalam pertanyaan ini. Sosok pergi.
Gunakan ini dengan menjalankan kode, ketikkan nomor yang Anda inginkan, geser ke pos SE dan klik di bidang teks. Ini mengeksploitasi fakta yang mengutip tumpukan.
Output (input 50):
sumber
Pohon FORTRAN dihiasi
Pohon itu memiliki kisaran ukuran yang terbatas, tetapi ia percaya pohon itu secara akurat mencerminkan kehidupan sebagian besar pohon Natal.
Dari pohon bayi:
Ke pohon remaja:
Untuk dewasa:
sumber
Jawa
Hasil sampel:
Ukuran = 3:
Ukuran = 4:
Ukuran = 5:
Ukuran = 12:
Ukuran = 20:
sumber
Rebol
Dengan dialek untuk menampilkan simbol. Untuk mengubah ukuran pohon, cukup ubah parameter
make-tree
.sumber
tree
blok. Anda dapat mengubah ukurannya atau mengubah beberapa simbol sesuai keinginan Anda.Python
sumber
Ti-Basic 84
Meminta ukuran:
Output (ukuran 1):
sumber