在控制台应用程序中,可以使用ascii转轮,如GUI等待游标,以指示工作正在完成。一个普通的旋转器循环使用以下4个字符:'|','/','-','\'

还有哪些循环动画序列可以为控制台应用程序增添趣味?


当前回答

在Javascript中使用一个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);

其他回答

如果你有超过一个字符的空间,你可以使用动画ASCII图像。例如,你可以这样做一个进度条:

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

或者一个“弹跳的球”进度指示器(来回移动),比如:

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

一些更高级的东西,比如加载动画也可以工作。

编辑: 还有一种“行政办公桌玩具”

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

当然,还有一个动画ASCII艺术的终极例子,如果你有时间实现一些类似的东西(这将“为控制台应用程序增添趣味”到极致)。

编辑:如果您的控制台支持颜色,您还可以通过在旋转时循环颜色来为其他枯燥的标准旋转器增添趣味。从一条红色的线开始,然后随着你旋转,慢慢地穿过彩虹变成紫色。如果你让球在每一次传球时都“涂”上不同的颜色,那么上面的“弹跳球”指示器看起来会特别酷。

我用了一个循环

Working. 
Working..
Working...

我知道这很鼓舞人心

由我的一个同事提供,这是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);
}

根据我的分析,它只能在至少有32位单词和ASCII字符集的小端计算机上工作。但它相当聪明。

在这里观看他们的行动:

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; }

还有更多@ cli-spinners,由Sindre Sorhus提供。

你可以在这里获取JSON。

我在这里把它们javascript化了:JsBin

制作一个可爱的“雨”效果:

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();
        }
    }
}