C语言怎么输出ascii码:我怎么能写ASCII艺术文本(使用任何语言 )

我想写一个程序来打印文本“NUOSPIN”的以下模式:

* * *  *   *  * * *  * * *  * * *  *  * * *
*   *  *   *  *   *  *      * * *  *  *   *
*   *  *   *  *   *  * * *  *      *  *   *
*   *  * * *  * * *  * * *  *      *  *   *

我正在研究 Javascript (NodeJS)。我必须在控制台上输出它。任何语言的实现都会为我工作,包括 java,C,javascript。我知道我可以通过使用预构建的 npm 包 (如 asciify) 来做到这一点,但我想这样做原始。我应该对此采取什么方我必须为每个字符的模式单独编写代码吗?然后通过运行每个字符的模式的逻辑来打印

3

您可以使用位图,将点组装到 ASCII 样式,你想要的。

function getWord(s) {
    var ascii = [],
        font = {
            N: [7, 5, 5, 5],
            U: [5, 5, 5, 7],
            O: [7, 5, 5, 7],
            S: [7, 4, 7, 7],
            P: [7, 7, 4, 4],
            I: [1, 1, 1, 1]
        };
    s.split('').forEach(function (c) {
        var size =( font[c].reduce(function (r, a) {
            return r | a;
        }, 0)).toString(2).length;
        font[c].forEach(function (a, i) {
            var temp = a.toString(2).split('').map(function (c) {
                return +c ? '*' : ' ';
            });
            while (temp.length < size) {
                temp.unshift(' ');
            }
            ascii[i] = ascii[i] || [];
            ascii[i].push(temp.join(''));
        });
    });
    return ascii.map(function (a) {
        return a.join(' ');
    }).join('\n')
}
document.getElementById('tt').innerHTML = getWord('NUOSPIN');
<pre id="tt"></pre>
2

通常你在某个地方有一个大地图,将一个字符映射到它的外观,特别是对于这样的定制字体。然后,你会遍历输入字符串,查找图片中的字符,将其放入缓冲区,并在完成后打印该缓冲区。

您也可以通过逐行直接打印到屏幕上,查找每个字符的第一行,打印,查找每个字符的第二行等。

如果你想获得真正的创意,你也可以在内存中绘制一个具有特定字体的文本图像,然后将带有星号和空格的图像绘制到控制台。

1

每行文本必须写几次。首先是 ASCII 艺术字形的高行。

#!/usr/bin/python
import sys
# Each item in `font` is a list of `font_height` strings.
# The glyphs are not limited to asterisks and spaces.
font_height = 7
margin_left = 1
margin_right = 1
font = {
    'N': [
        "*   *",
        "*   *",
        "**  *",
        "* * *",
        "*  **",
        "*   *",
        "*   *",
    ],
    'U': [
        "*   *",
        "*   *",
        "*   *",
        "*   *",
        "*   *",
        "*   *",
        " *** ",
    ],
    'O': [
        " *** ",
        "*   *",
        "*   *",
        "*   *",
        "*   *",
        "*   *",
        " *** ",
    ],
    'S': [
        " *** ",
        "*   *",
        "*    ",
        " *** ",
        "    *",
        "*   *",
        " *** ",
    ],
    'P': [
        "**** ",
        "*   *",
        "*   *",
        "**** ",
        "*    ",
        "*    ",
        "*    ",
    ],
    'I': [
        "  *  ",
        "  *  ",
        "  *  ",
        "  *  ",
        "  *  ",
        "  *  ",
        "  *  ",
    ],
}
def printline(text):
    for row in range(font_height):
        for ch in text:
            sys.stdout.write(' ' * margin_left)
            sys.stdout.write(font[ch][row])
            sys.stdout.write(' ' * margin_right)
        sys.stdout.write('\n')
printline('NUOSPIN')

给了我

sshoskar@oskog97:~$ ./test.py 
 *   *  *   *   ***    ***   ****     *    *   * 
 *   *  *   *  *   *  *   *  *   *    *    *   * 
 **  *  *   *  *   *  *      *   *    *    **  * 
 * * *  *   *  *   *   ***   ****     *    * * * 
 *  **  *   *  *   *      *  *        *    *  ** 
 *   *  *   *  *   *  *   *  *        *    *   * 
 *   *   ***    ***    ***   *        *    *   * 

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(7)
Rebuilt:.pcm已过期 需要重建(pcm rebuild)
上一篇
如何把网页保存为word:将Word文档保存为带有“无标记”的PDF
下一篇

相关推荐

  • C语言输出ascii码:日本 ASCII码(list of japanese symbols)

    关于C语言输出ascii码的问题,在list of japanese symbols中经常遇到,我在哪里可以得到对应于日本汉字,平假名和片假名字符的 ASCII 代码列表。我正在做一个 java 函数和 Javascript,它确定它是否是日本字符。它在 ASCII 代码中的范围是什么?…

    2024-02-19 11:27:13
    0 50 25
  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 52 89
  • css预编译器: center;}

    CSS预编译器是一种用于构建CSS的工具,它可以将CSS代码转换为更易于管理和维护的格式。它们可以使CSS代码更加灵活,更易于重用,并且可以帮助开发人员更轻松地组织和管理CSS代码。…

    2023-04-30 05:19:08
    0 73 23
  • python中predict函数参数:如何使用Python的predict函数进行机器学习预测

    示例示例predict函数是scikit-learn中的一个函数,用于预测新样本的输出结果。参数:…

    2023-03-30 08:03:12
    0 41 49
  • codeblocks无法编译运行:Codeblocks无法编译运行的解决方案

    codeblocks无法编译运行的原因可能有很多,下面以一段简单的C语言代码为例,来说明codeblocks无法编译运行的情况。…

    2023-07-11 08:01:55
    0 33 91
  • gitlab ci 自动化部署:使用 Gitlab CI 自动化部署提升开发效率

    GitLab CI 自动化部署是一种基于 GitLab CI/CD 的自动化部署方案,可以实现快速、可靠的部署流程。它将代码提交、构建、测试、部署等步骤集成在一起,使得开发者可以更加轻松地完成部署工作。下面是一个示例 .gitlab-ci.yml 文件,可以帮助你实现 GitLab CI 自动化部署:…

    2023-05-20 05:45:38
    0 14 33
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-05-16 07:36:03
    0 64 36
  • canvas 官网Bring Your Ideas to Life with Creative Artwork

    Canvas 官网是一个用于创建图形的 HTML5 API,它可以在浏览器中使用 JavaScript 来绘制 2D 图形。它提供了一个可以在网页上绘制图形的强大工具,可以用来创建动画、游戏、数据可视化等。…

    2023-02-28 09:52:08
    0 90 67

发表评论

登录 后才能评论

评论列表(17条)