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

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


试试这些

“+”,“x” 'v', '<', '^', '>'

气球……

. o O @ *

在一个应用程序中,我看到1、2、3、4、5、6、7、8、9、0。

曾经有一个DOS链接器名为blinker,由Blink Inc.开发。它将在工作时显示类似于下面的动画:

(o)(o)

(-)(-)

(_)(_)

第一帧显示大约一秒钟,其他两帧每一两秒钟简短地显示一次动画,使命令行看起来像是在眨眼。实际上,这个效果非常酷。

链接器甚至可以选择眨一只眼睛,你可以选择眨哪只眼睛。

我用了一个循环

Working. 
Working..
Working...

我知道这很鼓舞人心

Unicode有很多选择,包括⌚和⌛!

←↖↑↗→↘↓↙ ▁▂▃▄▅▆▇█▇▆▅▄▃▁ ▉▊▋▌▍▎▏▎▍▌▋▊▉ ▖▘▝▗ ┤┘┴└├┌┬┐ ◢◣◤◥ ◰◳◲◱ ◴◷◶◵ ◐◓◑◒ ◡◡⊙⊙◠◠ ⣾⣽⣻⢿⡿⣟⣯⣷⠁⠂⠄⡀⢀⠠⠐盲文⠈整个街区,甚至在随机订单http://www.fileformat.info/info/unicode/block/braille_patterns/images.htm

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

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

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

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

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

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

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

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

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

我见过

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

在bash中基于块字符连续构建进度条。

由我的一个同事提供,这是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字符集的小端计算机上工作。但它相当聪明。

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

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

我写了一个循环通过标准的\ | / -但左边的a _,并移动到下一个位置。它的目的是看起来好像有一系列的旋转器,在下一个开始之前,每个旋转器都掉到地板上。这样做的需要是我的程序反复尝试某件事并等待某个结果。我想要表示它每次尝试的次数,以及它在不占用大量屏幕空间(或计数)的情况下尝试了多少次。

在我写完之后,它看起来没有我想象的那么酷,但它达到了它的目的。

绝对LOLLERSKATES !

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

fish是一个Python模块,它使一条ASCII鱼来回移动,谁不喜欢罕见的控制台鱼呢?

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

如果你知道你在这个过程中走了多远,我喜欢百分比条。它看起来很漂亮,感觉很直观,很容易实现:

| 0%

|| 5%

|||||| 25%

||||||||||||||||||||| 100%

全部取自:

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

蝙蝠飞翔!

                   /^v^\
         /^v^\                      /^v^\
                /^v^\

  /^v^\

皮瓣皮瓣!

                   \^v^/
         \^v^/                      \^v^/
                \^v^/

  \^v^/

哇,哇,一个弓箭手!

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

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

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

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


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

超级自行车

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

Wheeeee !

放风筝

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

这张钓鱼的照片也很搞笑

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

在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);

我很高兴我不是唯一一个在这上面浪费时间的疯子!

以下是我最喜欢的(一些使用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

在这里观看他们的行动:

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