user-interface console-application ascii-art throbber progress-indicator

user interface - Enfriador ASCII Spinners?



user-interface console-application (18)

En una aplicación de consola, se puede usar un ascii spinner, como el cursor de espera de la GUI, para indicar que se está trabajando. Un spinner común recorre estos 4 caracteres: ''|'', ''/'', ''-'', ''/'

¿Cuáles son algunas otras secuencias de animación cíclicas para condimentar una aplicación de consola?


Cortesía de un compañero de trabajo mío, aquí hay una implementación ingeniosa en C:

#define COW 2172 char* moo = "MO "; void wrap() { int i,j; for(i=0;doSomething(i);i++) j=COW-moo[i&3],fputs(&j,stderr); }

Desde mi análisis, solo funciona en una máquina little-endian con al menos palabras de 32 bits y el conjunto de caracteres ASCII. Pero es diabólicamente inteligente.


Definitivamente LOLLERSKATES!

//O | _O | O /// | //|_ | /_ // | | | |/ / / | /| | / | LOL LOL | LLOL | LOLLOL -----------+----------+----------- Frame 0 | Frame 1 | Frame 2


En Javascript usando uno de los selectores jQuery:

var spins = [ "←↖↑↗→↘↓↙", "▁▃▄▅▆▇█▇▆▅▄▃", "▉▊▋▌▍▎▏▎▍▌▋▊▉", "▖▘▝▗", "┤┘┴└├┌┬┐", "◢◣◤◥", "◰ ◳ ◲ ◱", "◴◷◶◵", "◐◓◑◒", "|/-//"]; var spin = spins[0], title$ = $(''title''), i=0; setInterval(function() { i = i==spin.length-1 ? 0 : ++i; title$.text(''(''+ spin[i] +'') Loading...''); },300);


En una aplicación, vi 1,2,3,4,5,6,7,8,9,0,0.


Escribí uno que pasaba por el estándar / | / - pero la izquierda a _ y se movió a la siguiente posición. Se pretendía que pareciera que había una serie de giros, cada uno cayendo al suelo antes de que comenzara el siguiente. La necesidad de esto era que mi programa estaba probando algo repetidamente y esperando un resultado determinado. Quería representar cada vez que lo intentaba y también cuántas veces lo había intentado sin utilizar mucho espacio en la pantalla (o contar).

Después de que lo escribí, parecía mucho menos genial de lo que pensaba, pero cumplió su propósito.


Globos ...

. o O @ *


Hace un lindo efecto de "lluvia":

using System; using System.Text; using System.Threading; namespace CSharpSandbox { class Program { static Random rnd = new Random(); static char[,] Step(char[,] matrix) { int width = matrix.GetUpperBound(0) + 1; int height = matrix.GetUpperBound(1) + 1; char[,] res = new char[width, height]; for (int h = 0; h < height; h++) { for (int w = 0; w < width; w++) { char c; if (h == 0) c = rnd.Next(2) == 0 ? '' '' : ''*''; else c = matrix[w, h - 1]; res[w, h] = c; } } return res; } static string ToString(char[,] matrix) { int width = matrix.GetUpperBound(0) + 1; int height = matrix.GetUpperBound(1) + 1; StringBuilder sb = new StringBuilder(); for (int h = 0; h < height; h++) { for (int w = 0; w < width; w++) { sb.Append(matrix[w, h]); } sb.AppendLine(); } return sb.ToString(); } static Timer timer; static void Spinner() { char[,] matrix = new char[10, 5]; timer = new Timer(_ => { string s = ToString(matrix); Console.SetCursorPosition(0, 0); Console.Write(s); matrix = Step(matrix); }, null, 0, 200); } static void Main(string[] args) { Spinner(); Console.ReadLine(); } } }


He usado un ciclo de

Working. Working.. Working...

Inspiracional lo se


Míralos en acción aquí:

var nl = "/r/n"; var spinners = [ "←↖↑↗→↘↓↙", "▁▃▄▅▆▇█▇▆▅▄▃", "▉▊▋▌▍▎▏▎▍▌▋▊▉", "▖▘▝▗", "▌▀▐▄", "┤┘┴└├┌┬┐", "◢◣◤◥", "◰◳◲◱", "◴◷◶◵", "◐◓◑◒", "|/-//", ".oO@*", ["◡◡", "⊙⊙", "◠◠"], ["◜ ", " ◝", " ◞", "◟ "], "◇◈◆", "⣾⣽⣻⢿⡿⣟⣯⣷", "⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿", "⠁⠂⠄⡀⢀⠠⠐⠈", [">))''>", " >))''>", " >))''>", " >))''>", " >))''>", " <''((<", " <''((<", " <''((<"], [" ///O/n /////n ////n / ///n LOL LOL", " _O/n //|_/n |/n /|/n LLOL", " O/n /_/n |///n / |/n LOLLOL"], [ "╔════╤╤╤╤════╗/n║ │││ // ║/n║ │││ O ║/n║ OOO ║", "╔════╤╤╤╤════╗/n║ ││││ ║/n║ ││││ ║/n║ OOOO ║", "╔════╤╤╤╤════╗/n║ / │││ ║/n║ O │││ ║/n║ OOO ║", "╔════╤╤╤╤════╗/n║ ││││ ║/n║ ││││ ║/n║ OOOO ║" ], [ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' //===%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' //===%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' //===%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' //===%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' //===%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ==%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // =%^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // %^,"+nl+ " '' //@ >"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%"+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%=="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%==="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "''-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%==="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " '' ______>,^____//"+nl+ " '' //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%==="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' // ,^%==="+nl+ " '' //@ <"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''|"+nl+ " '' | ,^%---"+nl+ " '' |@ < //"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''/"+nl+ " '' / ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''|"+nl+ " '' | ,^%---"+nl+ " '' |@ < //"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''/"+nl+ " '' / ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''/"+nl+ " '' / ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " ______>,^____//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''|"+nl+ " '' / ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " _______>,^___//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' | ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''|"+nl+ " '' / ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " _______>,^___//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ''//"+nl+ " '' | ,^%---"+nl+ " '' /@ < //"+nl+ " '' `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ "'' ''/"+nl+ " '' '' / //_,^%---"+nl+ " '' '' /@ < //"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ ";''''"+nl+ " '' ''/ /"+nl+ " '' '' / //,^%==="+nl+ " '' '' /@ <"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " ;''''"+nl+ " '' ''/ /"+nl+ " '' '' / //,^%==="+nl+ " '' '' /@ <"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " ;''''"+nl+ " ''"+nl+ " '' ''/ /"+nl+ " '' '' / //,^%==="+nl+ " /@ <"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " ;''"+nl+ " ''"+nl+ " '' ''/ /"+nl+ " '' '' / //,^%=="+nl+ " /@ <"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " ; "+nl+ " ''"+nl+ " '' ''/ /"+nl+ " '' '' / //,^%="+nl+ " /@ <"+nl+ " `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ "''. ;''."+nl+ " ''- .'' ''/ _"+nl+ "*) / '' '' / //=%"+nl+ " _// '' '' /@ >"+nl+ "''~ `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ "`-."+nl+ " ''. ;"+nl+ " ''- . '' ''/_"+nl+ "{ (*) / '' '' / //==@^"+nl+ " _// '' '' /@ >"+nl+ ".;;''~ `///> _"+nl+ " ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " ////////"+nl+ ".-'' `-. ;"+nl+ " ''.''"+nl+ " ''- ''|"+nl+ " {{ (*) / '''' |===@^"+nl+ " _// |@ >"+nl+ " .;;''~ `///> _"+nl+ "/~~''''~ ________>,^__//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " //////// ;"+nl+ " .-'' `-. ''"+nl+ " .-'' ''. ''''"+nl+ " .'' ''- //"+nl+ "'' {{ (*) /===@^,/"+nl+ "-. _// >"+nl+ " ~-. .;;''~|@ ///> _"+nl+ " ///~~''''~______`__>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " //////// "+nl+ " .-'' `-."+nl+ " .-'' ''."+nl+ " .'' ''- //"+nl+ "(`-.-'' {{ (*) / ===@^,/"+nl+ " } .''~-. _/// >"+nl+ " (/ ~-. .;;''~ / ///> "+nl+ " ///~''''~_____/@____>,^"+nl+ " //-=-=-`-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " //////// YIKES"+nl+ " .-'' `-."+nl+ " .-'' ''. /"+nl+ " .'' ''- ---@^,/"+nl+ " (`-.-'' {{ (*) / / >"+nl+ " } .''~-. _// ///> "+nl+ " (/ ~-. .;;''~_____>,^"+nl+ " ///~''''~-=-=|@-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " YIKES"+nl+ " ////////"+nl+ " .-'' `-. //"+nl+ " .-'' ''. ---@^,/"+nl+ " .'' ''- / >"+nl+ " (`-.-'' {{ (*) / ///> "+nl+ " } .''~-. _//___>,^"+nl+ " (/ ~-. .;;''~/=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~/@-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " YIKES"+nl+ " "+nl+ " //////// _"+nl+ " .-'' `-. ---@^,/"+nl+ " .-'' ''. / >"+nl+ " .'' ''- ///> "+nl+ " (`-.-'' . . ` {{ (*) /___>,^"+nl+ " } .''~-. . ` _//-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-/-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " YIKES"+nl+ " "+nl+ " _"+nl+ " ` . //////// ---@^,/"+nl+ " ` ` .-'' `-. . ''/ >"+nl+ " ` .-'' ''. '' ///> "+nl+ " `'' ` ''-___>,^"+nl+ " (`-.-'' . . ` {{ (*) /-=-=-/{}"+nl+ "-~-~-~-~-~-~-`-. . ` '' //~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " YIKES"+nl+ " "+nl+ " _"+nl+ " ` . '' ---=^,/"+nl+ " ` ` . . / >"+nl+ " ` ` //////// '' ///> "+nl+ " ` ` .-'' `-. ______>,^"+nl+ " ` .-'' ''.-=-=-=-/{}"+nl+ "~-~-~-~-~-.-~-~-~-''-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " YIKES"+nl+ " "+nl+ "` . '' _"+nl+ " ` ` ---@^,/"+nl+ " ` ` '' / >"+nl+ " ` ` ///> "+nl+ " ` ` __________>,^"+nl+ " ` ////////-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~'' `-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " ."+nl+ " '' _"+nl+ " ` . ---@^,/"+nl+ " ` ` / >"+nl+ " ` ` . ///> "+nl+ " ` ` . __________>,^"+nl+ " ` ` ` //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~////////.~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ` . _"+nl+ " `` '' ===-^,/"+nl+ " ` ` >"+nl+ " ` '' ///> "+nl+ " ` . __________>,^"+nl+ " ` //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-`-.-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " . ` '' _"+nl+ " ` ` ===-^,/"+nl+ " . >"+nl+ " ` '' ///> "+nl+ " . __________>,^"+nl+ " ` //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ` _"+nl+ " ` ===-^,/"+nl+ " ` ` '' >"+nl+ " ` ///> "+nl+ " __________>,^"+nl+ " //-=-=-=-=-=-/{я}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ` '' _"+nl+ " ` ===-^,/"+nl+ " >"+nl+ " ///> "+nl+ " __________>,^"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " _"+nl+ " ===%^,/"+nl+ " >"+nl+ " ///> "+nl+ " __________>,^"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " //"+nl+ " ---%^,/"+nl+ " / >"+nl+ " _/> "+nl+ " __________>,^"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " _"+nl+ " ---%^,/ "+nl+ " / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " /> _"+nl+ " _______/_>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===-^,"+nl+ " >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " ///> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===-^,"+nl+ " >"+nl+ " ///> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " ///> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " Rats. / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " Rats. / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " Rats. / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " я //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " Rats. / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " Rats. / >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===-^,"+nl+ " >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ===%^,"+nl+ " >"+nl+ " _/> _"+nl+ " _________>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-я~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " / >"+nl+ " /> _"+nl+ " _______/_>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"+nl+ "-ejm97-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~", " "+nl+ " "+nl+ " "+nl+ " "+nl+ " "+nl+ " ---%^,"+nl+ " I lost my fishing rod. / >"+nl+ " /> _"+nl+ " _______/_>,^_//"+nl+ " //-=-=-=-=-=-/{}"+nl+ "-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"+nl+ "~ejm97~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-"], // "Fishing" taken from http://asciimator.net/kangaroo/fishing.html ]; for (var s = 0; s < spinners.length; ++s) { var spinner = spinners[s]; var div = document.createElement(''div''); var el = document.createElement(''pre''); div.appendChild(el); document.body.appendChild(div); (function(spinner, el) { var i = 0; setInterval(function() { el.innerHTML = spinner[i]; i = (i + 1) % spinner.length; }, 300); })(spinner, el); }

pre { font-family: monospace; font-size: 1.5em; font-weight: bold; border: 1px solid #eee; display: inline-block; margin: .25em; }

Hay más @ cli-spinners , cortesía de Sindre Sorhus.

Puedes atrapar el JSON para ellos aquí .


Me alegro de no ser el único lo suficientemente loco como para perder el tiempo en esto!

Aquí están mis favoritos (algunos usando códigos dos ascii):

classic: "/-//|"; bouncing ball: ".oOo"; better bouncing ball: [46, 111, 79, 248, 79, 111]; // (.oO°Oo.) [180, 217, 193, 192, 195, 218, 194, 191]; // ┤ ┘ ┴ └ ├ ┌ ┬ ┐ [185, 188, 202, 200, 204, 201, 203, 187]; // double piped version of that [219, 220, 223]; // block colours


Prueba estos

  • ''+'', ''x''
  • ''v'', ''<'', ''^'', ''>''

Si sabes a qué distancia del proceso estás, me gusta la barra de porcentaje. Se ve bien, se siente intuitivo y es fácil de implementar:

| 0% ||||| 5% |||||||||||||||||||||| 26% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 100%

(Los ejemplos anteriores no son exactos)


Si tiene más de un carácter de espacio, puede usar arte ASCII animado. Por ejemplo, puedes hacer una barra de progreso como:

[ ] [== ] [===== ] [======== ]

o un indicador de progreso de "bola que rebota" (que se mueve hacia adelante y hacia atrás) como

(-*--------) // moving --> (-----*----) // moving --> (---------*) // moving --> (--------*-) // moving <-- (---*------) // moving <-- (*---------) // moving <--

Algo más avanzado como esta carga de animación también podría funcionar.

Edición: También está el "juguete de escritorio ejecutivo"

╔════╤╤╤╤════╗ ╔════╤╤╤╤════╗ ╔════╤╤╤╤════╗ ╔════╤╤╤╤════╗ ║ │││ / ║ ║ ││││ ║ ║ / │││ ║ ║ ││││ ║ ║ │││ O ║ -> ║ ││││ ║ -> ║ O │││ ║ -> ║ ││││ ║ ║ OOO ║ ║ OOOO ║ ║ OOO ║ ║ OOOO ║

Y, por supuesto, está el mejor ejemplo de arte ASCII animado , si tuvieras el tiempo de implementar algo similar (llevaría "a la perfección una aplicación de consola" al extremo).

Editar: Si su consola es compatible con el color, también puede condimentar un hilandero estándar que de otra manera sería aburrido si recorre los colores mientras gira. Comienza con una línea roja, luego pasa lentamente a través del arco iris hacia violeta mientras giras. Esto puede parecer especialmente genial con el indicador de "bola que rebota" arriba si tienes la bola "pinta" la barra de un color diferente en cada pasada.


Solía ​​haber un enlazador DOS llamado blinker, de Blink Inc. Mostraría una animación similar a esta mientras trabajaba:

(o)(o) (-)(-) (_)(_)

Con el primer cuadro visualizado durante aproximadamente un segundo, y los otros dos animándose brevemente una o dos segundos, hace que la línea de comandos parpadee. El efecto fue bastante bueno, en realidad.

El enlazador incluso tenía opciones para parpadear un ojo, y podría elegir qué ojo parpadearía.


Todos tomados de

http://llizard.cwahi.net/animals.html

¡Murciélagos volando!

/^v^/ /^v^/ /^v^/ /^v^/ /^v^/

Flap Flap!

/^v^/ /^v^/ /^v^/ /^v^/ /^v^/

Wow wow un arquero!

// /__/_{) |--<<)__/ / / ( // ) /| / / ~ ~ /| / /_|_{)/ ---<< | | ) / | ( /| ) /| / / ~ ~ / /|{)/ ---<< +-|-) /| ( ) /| / / ~ ~ // /__/_{) |--<<)__/ / / ( // __) / |__ ~ ~ /| / /_|_{)/ ---<< | | ) / | ( /|__) / |__ ~ ~ / /|{)/ ---<< +-|-) /| ( __) / |__ ~ ~

Super ciclista

---------- __o -------- _ /<,_ ------- (*)/ (*)

Wheeeee!

Volar una cometa

// ''// '' + '' + '' + '' + '' + '' + '' '' '' '' '' '' '' '' __ '' /o . '' /// // / /

Esta pesca también es bastante graciosa.

http://asciimator.net/kangaroo/fishing.html


Un montón de opciones con Unicode, incluyendo ⌚ y ⌛!

  • ← ↖ ↑ ↗ → ↘ ↓ ↙

  • ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▇ ▆ ▅ ▄ ▃ ▁

  • ▉▊▋▌▍▎▏▎▍▌▋▊▉

  • ▖ ▘ ▝ ▗

  • ┤ ┘ ┴ └ ├ ┌ ┬ ┐

  • ◢ ◣ ◤ ◥

  • ◰ ◳ ◲ ◱

  • ◴ ◷ ◶ ◵

  • ◐ ◓ ◑ ◒

  • ◡◡ ⊙⊙ ◠◠

  • ⣾⣽⣻⢿⡿⣟⣯⣷ ⠁⠂⠄⡀⢀⠠⠐⠈ El bloque braille completo, incluso en orden aleatorio http://www.fileformat.info/info/unicode/block/braille_patterns/images.htm


he visto

echo -e "/033[41;1m$1 /033[0m"

En bash para construir continuamente una barra de progreso basada en un carácter de bloque.


fish es un módulo de Python que anima a un pez ASCII que va y viene, y ¿a quién no le gusta el raro pez de la consola?

>))''> >))''> >))''> <''((< <''((<