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

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


当前回答

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

其他回答

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

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

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

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

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

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

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

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

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

绝对LOLLERSKATES !

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

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

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

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

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

(o)(o)

(-)(-)

(_)(_)

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

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