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

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


当前回答

全部取自:

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

其他回答

气球……

. o O @ *

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

绝对LOLLERSKATES !

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

我见过

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

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

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

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