我想在控制台应用程序中制作一些动画,为此,我创建了 ASCII 艺术:
,.:b-'::' ,`::-/,._
_.\\,,-/` /| | ,' .`| ,_: ,.
` -_,'[ ._-|/,'Y ` ` / -/,-.:`.
,'/[(o _.. _,".`':| ___ ::/|.`][,'/,,/,'`.
`:-\-. `','\`,-' [:_,.....'__ ^..,|-.'- ,,\ :.
,'-\-.` _ `[.- --' '-..`'-[''\ .L-",`.
,L< ':],, ,` ,- '- , .''Y"-'.-'`
_'_,::''/-]._,' _ .. .._ `.`]'. -,-:,^.
_'/,[``.-'/'- _ :].-''`'''''--.[ -. .|/:L:| \
'[' ]>] ' /' _,' `- . ``\'` ,u[<L'
/,`. [-' / ,` ,. `. `.`,,``..| |
P.P.`[o'), ,''`__-. ,' /'\, .\'( ; .:]
/`/ ` .'/XXX `,' . -. ,' ,' `. \.> :,`
| \.u[/\'|X X/\' 'v ^, ,' ,' \ \ `^/:.-, |
.:-<.. [||/ XXX '/ `\ `\ ,' /' .\ || \]::`.'
| |::>,-b| || ^. '---' ,' Y| || [./.'/\
| /_,[| || || | ,. / || || |> --||
Y=]L__`=[| || | ,- ' || | ::_,==:
| |i .| |'. \ /' ,..._ `' || || /L. ,
|_]L,.'-] | [\ ,- ,' ,' '. || 'P..L, / |
v...-L\ \\ `/. ,' ,' `. -_ / /|'Y\-.`::'
\ -:,'\.., \`\ _,' /' ^, /, .[-` ,'
)_ ' '.\ `[`, /' `.'\,'' /`..:- |
<`...,`./ ` `[.= `= / ,_/-/.` ''
\`[,-'.v'\`. ".`._ _.:' '-' '.>/ '
[,_,L!`, [` ' `-...______.,-' v /'''|]:.'
``\ //'. .`.`. ' --- -- '' ',-|' ' b''
`.Yv-]-, ',-.'- ,-'''\ [,.-,'
`['./,L|'`.],.. .__ _ ,.',. .[ ]'v']
`v-/| <." ..`\-.. ::_ |: ,.-\\',.\'- ' '','
`.:`[/ / ' > .:',.||::_|/--'. ``,\ '/: '
-',:.\`[| .'/,[/ L',] ^ /``,] ``-`
-\|, -,: |`-|||/ |``.,..\`_,-'
''--.' ==='|::::\'-''
(是的,这是轮盘赌)
我用不同位置的球创建了相同的 ASCII 艺术(就像轮盘赌上的十字)。
我认为,我的问题非常棘手:我想在同一位置将轮盘赌每秒打印 4 次(也许更多,不完全知道)到控制台,以便它看起来像gif。
我加载文件并将其转换为字符串没有问题,但我没有找到在同一位置重写的方法( \r
不适用于多行文本)。
如果我可以在不使用像curses这样的库的情况下完成它,那就太好了(尽管我是Python中ncurses的忠实粉丝!)。
最佳答案
我认为诅咒或类似的东西是必要的。
据我记得(curses 是很久以前的事了),curses 有两点——不同的终端,以及慢速终端连接的效率。您将面临这两个问题,具体取决于终端的连接方式以及您最终想要重新绘制屏幕的频率。
Curses 分析了所需的输出,以确定绘制内容的最有效方法 - 应该将光标定位三次并分别绘制内容,还是输出多行并仅绘制一次?定位光标所需的字符序列是什么?
无论如何,祝你好运。
关于java - 在控制台中打印多行 ASCII 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26689800/