Le but est d'animer une étoile qui explose dans l'art ASCII, en partant d'un personnage étoile unique *
à une supernovae et enfin au vide de l'espace.
Règles :
- Vous devez afficher seulement 80 caractères par ligne sur 24 lignes (c'est la taille de terminal par défaut sous Linux)
- Seuls ces 95 caractères imprimables en ASCII sont autorisés
- Pas:
- L'étoile initiale doit être
*
et centrée horizontalement et verticalement - L'étoile doit grandir pour montrer qu'elle explose
- A la fin l'écran doit être vide (l'étoile a disparu)
- L'étoile initiale doit être
- La longueur du code ou les langues ne sont pas pertinentes
- Les votes décideront des résultats les plus créatifs et les plus beaux. Avez-vous déjà vu une étoile exploser? Voyons comment vous imaginez cela.
J'ai ajouté une réponse en utilisant Python comme exemple, mais vous êtes encouragé à créer quelque chose de différent ou de meilleur.
Vous avez une semaine pour participer, le gagnant sera choisi le 01/04/2014.
Exemples de sortie (avec quelques images uniquement):
# start
*
# during explosion
****#****
***#@##*#@#****
*@**@@@*##**#*#**#*
**@@*#**#@*#@****#***
****@*@***#****@**@@*
*******@***@@***#****#*
*#***#*##@****##@@@**
**#@###****@*********
*****@**@*@*****@**
************@**
****#****
# star is expanding
*
********* **@******
**** **#**@ #**#*# ****
*** ** **##** *@@*@* ** ***
** * @@ *@*#* ***@* *# * **
*** # * *# *@#** ***@* ** @ * *@*
** * * ** *@ ****@ @**** ** #* * * **
** * @* * ** *@ #### *#** ** ** * @* * **
*# * # ** * #* * **** **** @ ** * ** * * #*
** * *# * @ * # @ @*@ *#* * @ # # * @* * **
*# * * * * # * @* * **# *#* * ** * * * * * # **
** # * * @ * * # * # ** @* * * * * * # @ @ * **
*# * * * * * * * * # * * * * * * @ @ * * * * * **
*# * @ * @ * @ * * * ** *@ * * # * * * * * @ @*
*# # @ * * # * *@ * *** @#@ @ ** * @ @ * * # **
*# * ** * * * @ @ **@ *** * @ * * * @* * #*
** * * ** * #@ * #*** **## * #* * #@ * * @*
*# * *@ * @@ *# **** @*** ** ** * #* * #*
*# * * *@ ** @**@* *@#** ** ** * * @*
*#* @ * @@ **##* ****@ ** # * @**
** @ #* @*@#* @*@*# @# * **
*#* @* @#*@*# **#*@# ** ***
**** *##**# #***@* @***
****@**@* *****@***
# star is disappearing
* - - -- -- ------- ------- -- -- - - *
** - - - -- -- ------ ------ -- -- - - - **
* -- - -- -- -- -- ------ ------ -- -- -- -- - -- *
** - - - -- -- -- -- ------ ------ -- -- -- -- - - - **
* - - -- - -- - - -- ----- ----- -- - - -- - -- - - *
** - - - -- - -- - - -- ----- ----- -- - - -- - -- - - - **
* - - - - - - - - -- -- ----- ----- -- -- - - - - - - - - *
* - - - - - - - -- - -- -- ---- ---- -- -- - -- - - - - - - - *
* -- - - - - - - - -- - -- - ---- ---- - -- - -- - - - - - - - -- *
* - - - - - - - -- - - - - - --- --- - - - - - -- - - - - - - - *
* - - - - - - - - - - - - -- - --- --- - -- - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - *
* - - - - - - - - - - - - -- - --- --- - -- - - - - - - - - - - - - *
* - - - - - - - -- - - - - - --- --- - - - - - -- - - - - - - - *
* -- - - - - - - - -- - -- - ---- ---- - -- - -- - - - - - - - -- *
* - - - - - - - -- - -- -- ---- ---- -- -- - -- - - - - - - - *
* - - - - - - - - -- -- ----- ----- -- -- - - - - - - - - *
** - - - -- - -- - - -- ----- ----- -- - - -- - -- - - - **
* - - -- - -- - - -- ----- ----- -- - - -- - -- - - *
** - - - -- -- -- -- ------ ------ -- -- -- -- - - - **
* -- - -- -- -- -- ------ ------ -- -- -- -- - -- *
** - - - -- -- ------ ------ -- -- - - - **
# the star is gone
(there is nothing)
Exemple animé de sortie:
Si vous voulez de l'inspiration, vous pouvez regarder une explosion de Captain Blood , un jeu de 1988.
Réponses:
C + malédictions
Je n'ai pas fait beaucoup d'efforts pour ranger le code source. Fondamentalement, il calcule une onde de choc en expansion, avec un arrière-plan solide ajouté aux premières images pour donner une sorte d'effet flash. [[EDIT: L'explosion semblait un peu étrange apparaissant à partir d'un seul astérisque, j'ai donc ajouté quelques images d'expansion au début de l'animation.]]
Des particules aléatoires sont superposées au-dessus de cela, avec des positions déterminées selon un calcul de perspective de base pour lui donner une sensation légèrement 3D. (Eh bien, c'était l'idée, de toute façon.)
la source
Javascript
Je pensais que ça valait le coup en JS. Suggérez l'enregistrement et l'exécution; très très lent si vous collez dans la console.
Edits En JSBin: http://jsbin.com/worofeqi/5/watch?js,output
Fonctionne étrangement beaucoup plus facilement lorsqu'il est fait à partir du système de fichiers local que dans JSBin. Honnêtement, je ne sais pas pourquoi; peut regarder cela ce soir.
la source
Python
Exemple de sortie (en utilisant moins d'étapes et sans effacer l'écran).
Des extraits de la sortie sont également affichés dans la question.
la source