java - 在控制台中打印多行 ASCII 动画

标签 java animation console ascii-art

我想在控制台应用程序中制作一些动画,为此,我创建了 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/

相关文章:

java - 替换由 java 中的 latex 或 bibtex 工具生成的德语变音符号?

JQuery 显示/隐藏其他更改

c - 为什么控制台应用程序游戏在笔记本电脑上运行缓慢/滞后

swift - OS X。如何使用参数运行控制台应用程序?

python - 打印一个 utf-8 字符到控制台

java - 拉伸(stretch)/收缩 Canvas

java - 为什么spring boot war不生成web.xml

html - 将动画添加到动画中的最终方 block

javascript - 添加类时停止 CSS 动画

java - Wildfly 16,注释@JsonIgnore不起作用