在控制台应用程序中,可以使用ascii转轮,如GUI等待游标,以指示工作正在完成。一个普通的旋转器循环使用以下4个字符:'|','/','-','\'
还有哪些循环动画序列可以为控制台应用程序增添趣味?
在控制台应用程序中,可以使用ascii转轮,如GUI等待游标,以指示工作正在完成。一个普通的旋转器循环使用以下4个字符:'|','/','-','\'
还有哪些循环动画序列可以为控制台应用程序增添趣味?
当前回答
我用了一个循环
Working.
Working..
Working...
我知道这很鼓舞人心
其他回答
试试这些
“+”,“x” 'v', '<', '^', '>'
气球……
. o O @ *
Unicode有很多选择,包括⌚和⌛!
←↖↑↗→↘↓↙ ▁▂▃▄▅▆▇█▇▆▅▄▃▁ ▉▊▋▌▍▎▏▎▍▌▋▊▉ ▖▘▝▗ ┤┘┴└├┌┬┐ ◢◣◤◥ ◰◳◲◱ ◴◷◶◵ ◐◓◑◒ ◡◡⊙⊙◠◠ ⣾⣽⣻⢿⡿⣟⣯⣷⠁⠂⠄⡀⢀⠠⠐盲文⠈整个街区,甚至在随机订单http://www.fileformat.info/info/unicode/block/braille_patterns/images.htm
如果你知道你在这个过程中走了多远,我喜欢百分比条。它看起来很漂亮,感觉很直观,很容易实现:
| 0%
|| 5%
|||||| 25%
||||||||||||||||||||| 100%
制作一个可爱的“雨”效果:
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();
}
}
}