Кулер ASCII Spinners?

В консольном приложении можно использовать счетчик ascii, такой как указатель ожидания GUI, чтобы указать, что работа выполняется. Обычный спиннер циклически проходит через эти 4 символа: '|', '/', '-', '\'

Каковы некоторые другие циклические последовательности анимации, чтобы оживить консольное приложение?

Ответ 1

Воздушные шары...

. o O @ *

Ответ 2

Множество вариантов с Unicode, включая ⌚ и ⌛!

  • ← ↖ ↑ ↗ → ↘ ↓ ↙

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

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

  • ▖ ▘ ▝ ▗

  • ┤ ┘ ┴ └ ├ ┌ ┬ ┐

  • ◢ ◣ ◤ ◥

  • ◰ ◳ ◲ ◱

  • ◴ ◷ ◶ ◵

  • ◐ ◓ ◑ ◒

  • ◡◡ ⊙⊙ ◠◠

  • ⣾⣽⣻⢿⡿⣟⣯⣷ ⠁⠂⠄⡀⢀⠠⠐⠈ Весь блок Брайля, даже в случайном порядке http://www.fileformat.info/info/unicode/block/braille_patterns/images.htm

Ответ 3

Если у вас больше места на одном знаке, вы можете использовать анимированное искусство ASCII. Например, вы можете сделать индикатор выполнения, например:

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

или индикатор хода "прыгающего шара" (который перемещается вперед и назад), например:

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

Возможно, что-то более продвинутое, например эта загрузочная анимация.

Edit: Там также "игрушка для рабочего стола"

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

И, конечно же, отличный пример анимированного искусства ASCII, если у вас было время реализовать что-то подобное (это потребует "подпряжения" консольное приложение "до крайности).

Изменить:. Если ваша консоль поддерживает цвет, вы также можете придать лишнему сверкающему стандарту прядильщик, перемещаясь по цветам во время вращения. Начните с красной линии, затем медленно пройдите сквозь радугу до фиолетового, когда вы вращаетесь. Это может выглядеть особенно круто с индикатором "прыгающего шара" выше, если у вас есть мяч "краска" на баре другого цвета на каждом проходе.

Ответ 4

Определенно LOLLERSKATES!

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

Ответ 5

Наблюдайте за ними в действии:

var spinners = [
  "←↖↑↗→↘↓↙",
  "▁▃▄▅▆▇█▇▆▅▄▃",
  "▉▊▋▌▍▎▏▎▍▌▋▊▉",
  "▖▘▝▗",
  "▌▀▐▄",
  "┤┘┴└├┌┬┐",
  "◢◣◤◥",
  "◰◳◲◱",
  "◴◷◶◵",
  "◐◓◑◒",
  "|/-\\",
  "[email protected]*", ["◡◡", "⊙⊙", "◠◠"],
  ["◜ ", " ◝", " ◞", "◟ "],
  "◇◈◆",
  "⣾⣽⣻⢿⡿⣟⣯⣷",
  "⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿",
  "⠁⠂⠄⡀⢀⠠⠐⠈", [">))'>", " >))'>", "  >))'>", "   >))'>", "    >))'>", "   <'((<", "  <'((<", " <'((<"],
  ["    /\\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    ║"
  ],
];

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

Ответ 6

Раньше был линкер DOS с именем blinker от Blink Inc. Он отображал анимацию, подобную этой, пока он работал:

(o)(o)

(-)(-)

(_)(_)

При отображении первого кадра примерно в течение секунды, а два других анимации кратко один раз в секунду или два, что приводит к тому, что командная строка начинает мигать глазами. Фактически эффект был довольно прохладным.

У компоновщика даже были варианты, чтобы мигать одним глазом, и вы могли выбрать, какой глаз будет мигать.

Ответ 7

Я использовал цикл

Working. 
Working..
Working...

Вдохновенный я знаю

Ответ 8

fish - это модуль Python, который оживляет ASCII-рыбу, идущую туда-сюда, и кому не нравится редкая консольная рыба?

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

Ответ 9

Если вы знаете, насколько далеко вы проходите процесс, мне нравится процентная панель. Он выглядит красиво, чувствует себя интуитивно понятным и легко реализуется:

| 0%

||||| 5%

|||||||||||||||||||||| 26%

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

(Примеры выше не точны)

Ответ 10

Все взято из:

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

Летучие мыши летают!

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

  /^v^\

Откидная створка!

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

  \^v^/

Wow wow the Archer!

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

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

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

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


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

Супер-велосипедист

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

Wheeeee!

Летающий кайт

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

Эта рыбалка довольно хороша, а также

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

Ответ 11

Попробуйте эти

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

Ответ 12

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

Ответ 13

Я рад, что я не единственный, достаточно сумасшедший, чтобы тратить время на это!

Вот мои фавориты (некоторые используют коды 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

Ответ 14

Предоставлено моим сотрудником, здесь отличная реализация в 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. Но это довольно дьявольски умно.

Ответ 15

Делает приятный эффект "дождя":

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

Ответ 16

В одном приложении я увидел 1,2,3,4,5,6,7,8,9,0.

Ответ 17

Я видел

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

В bash для непрерывной сборки индикатор выполнения на основе символа блока.

Ответ 18

Я написал один, который циклически прошел через стандартный \|/- но слева a _ и переместился на следующую позицию. Предполагалось выглядеть так, как если бы была серия прядильщиков, каждая из которых падала на пол перед следующим. Потребность в этом заключалась в том, что моя программа неоднократно пыталась что-то и ожидала определенного результата. Я хотел представлять каждый раз, когда он пытался, а также сколько раз он пытался, не занимая много места на экране (или считая).

После того, как я написал его, это выглядело намного менее круто, чем я думал, но это послужило своей цели.