我想在一个控制台应用程序中制作一个小动画,为此,我创建了一个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
不适用于多行文本)。
如果我不使用像诅咒这样的库(虽然我非常喜欢Python中的ncurses!),那就太好了。
发布于 2014-11-01 07:06:56
我认为诅咒或类似的东西是必要的。
据我所知(诅咒是很久以前的事了),有两点可以诅咒--不同的终端,以及慢终端连接的效率。你将面临这两个问题,这取决于终端是如何连接的,以及你最终想要重新绘制屏幕的频率。
诅咒分析了想要的输出,以确定最有效的绘制方法--它是将光标放置三次并分别绘制,还是输出多行,只绘制一次?定位光标所需的字符序列是什么?
不管怎么样,祝你好运。
https://stackoverflow.com/questions/26689800
复制