Tujuannya adalah untuk menghidupkan bintang yang meledak dalam seni ASCII, mulai dari karakter bintang tunggal *
hingga supernova dan akhirnya ke angkasa kosong.
Aturan:
- Anda harus menampilkan hanya 80 karakter per baris pada 24 baris (ini adalah ukuran terminal default di Linux)
- Hanya 95 karakter yang dapat dicetak dari ASCII yang diizinkan ini
- Langkah:
- Bintang awal harus
*
dan berpusat secara horizontal dan vertikal - Bintang harus tumbuh untuk menunjukkan bahwa ia meledak
- Pada akhirnya layar harus kosong (bintang telah menghilang)
- Bintang awal harus
- Panjang kode atau bahasa tidak relevan
- Suara akan menentukan hasil yang paling kreatif dan indah. Pernahkah Anda melihat bintang yang meledak? Mari kita lihat bagaimana Anda membayangkan ini.
Saya telah menambahkan jawaban menggunakan Python sebagai contoh, tetapi Anda didorong untuk membuat sesuatu yang berbeda atau lebih baik.
Anda memiliki satu minggu untuk berpartisipasi, pemenang akan dipilih pada 2014-04-01.
Sampel output (dengan beberapa frame saja):
# start
*
# during explosion
****#****
***#@##*#@#****
*@**@@@*##**#*#**#*
**@@*#**#@*#@****#***
****@*@***#****@**@@*
*******@***@@***#****#*
*#***#*##@****##@@@**
**#@###****@*********
*****@**@*@*****@**
************@**
****#****
# star is expanding
*
********* **@******
**** **#**@ #**#*# ****
*** ** **##** *@@*@* ** ***
** * @@ *@*#* ***@* *# * **
*** # * *# *@#** ***@* ** @ * *@*
** * * ** *@ ****@ @**** ** #* * * **
** * @* * ** *@ #### *#** ** ** * @* * **
*# * # ** * #* * **** **** @ ** * ** * * #*
** * *# * @ * # @ @*@ *#* * @ # # * @* * **
*# * * * * # * @* * **# *#* * ** * * * * * # **
** # * * @ * * # * # ** @* * * * * * # @ @ * **
*# * * * * * * * * # * * * * * * @ @ * * * * * **
*# * @ * @ * @ * * * ** *@ * * # * * * * * @ @*
*# # @ * * # * *@ * *** @#@ @ ** * @ @ * * # **
*# * ** * * * @ @ **@ *** * @ * * * @* * #*
** * * ** * #@ * #*** **## * #* * #@ * * @*
*# * *@ * @@ *# **** @*** ** ** * #* * #*
*# * * *@ ** @**@* *@#** ** ** * * @*
*#* @ * @@ **##* ****@ ** # * @**
** @ #* @*@#* @*@*# @# * **
*#* @* @#*@*# **#*@# ** ***
**** *##**# #***@* @***
****@**@* *****@***
# star is disappearing
* - - -- -- ------- ------- -- -- - - *
** - - - -- -- ------ ------ -- -- - - - **
* -- - -- -- -- -- ------ ------ -- -- -- -- - -- *
** - - - -- -- -- -- ------ ------ -- -- -- -- - - - **
* - - -- - -- - - -- ----- ----- -- - - -- - -- - - *
** - - - -- - -- - - -- ----- ----- -- - - -- - -- - - - **
* - - - - - - - - -- -- ----- ----- -- -- - - - - - - - - *
* - - - - - - - -- - -- -- ---- ---- -- -- - -- - - - - - - - *
* -- - - - - - - - -- - -- - ---- ---- - -- - -- - - - - - - - -- *
* - - - - - - - -- - - - - - --- --- - - - - - -- - - - - - - - *
* - - - - - - - - - - - - -- - --- --- - -- - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - -- - --- --- - -- - - - - - - - - - - - - *
* - - - - - - - -- - - - - - --- --- - - - - - -- - - - - - - - *
* -- - - - - - - - -- - -- - ---- ---- - -- - -- - - - - - - - -- *
* - - - - - - - -- - -- -- ---- ---- -- -- - -- - - - - - - - *
* - - - - - - - - -- -- ----- ----- -- -- - - - - - - - - *
** - - - -- - -- - - -- ----- ----- -- - - -- - -- - - - **
* - - -- - -- - - -- ----- ----- -- - - -- - -- - - *
** - - - -- -- -- -- ------ ------ -- -- -- -- - - - **
* -- - -- -- -- -- ------ ------ -- -- -- -- - -- *
** - - - -- -- ------ ------ -- -- - - - **
# the star is gone
(there is nothing)
Contoh output animasi:
Jika Anda menginginkan inspirasi, Anda bisa melihat ledakan dari Captain Blood , sebuah game dari tahun 1988.
Jawaban:
Kutukan C +
Saya belum melakukan banyak upaya untuk merapikan kode sumber. Pada dasarnya ini menghitung gelombang kejut yang meluas, dengan latar belakang yang solid ditambahkan ke beberapa frame pertama untuk memberikan semacam efek flash. [[EDIT: Ledakan itu terlihat sedikit aneh muncul dari tanda bintang tunggal, jadi saya menambahkan beberapa bingkai ekspansi di awal animasi.]]
Partikel acak ditumpangkan di atas ini, dengan posisi ditentukan sesuai dengan perhitungan perspektif dasar untuk memberikan nuansa 3D. (Yah, itulah idenya.)
sumber
Javascript
Pikir itu layak dicoba di JS. Sarankan menyimpan dan menjalankan; sangat sangat lambat jika Anda menempel di konsol.
Suntingan di JSBin: http://jsbin.com/worofeqi/5/watch?js,output
Anehnya berjalan jauh lebih lancar bila dilakukan dari sistem file lokal daripada di JSBin. Jujur tidak yakin mengapa; mungkin melihatnya malam ini.
sumber
Python
Contoh output (menggunakan lebih sedikit langkah dan tanpa membersihkan layar).
Kutipan dari output juga ditampilkan dalam pertanyaan.
sumber