Questions tagged «ascii-art»

这项挑战涉及使用文本字符作为绘画来创建或解析图片。通常,它仅使用1963年ASCII标准定义的95个可打印字符(总共128个)。

30
字母三角形再次触击
任务 您的任务是打印以下确切文本: A BCD EFGHI JKLMNOP QRSTUVWXY ZABCDEFGHIJ KLMNOPQRSTUVW XYZABCDEFGHIJKL MNOPQRSTUVWXYZABC DEFGHIJKLMNOPQRSTUV WXYZABCDEFGHIJKLMNOPQ RSTUVWXYZABCDEFGHIJKLMN OPQRSTUVWXYZABCDEFGHIJKLM NOPQRSTUVWXYZABCDEFGHIJKLMN OPQRSTUVWXYZABCDEFGHIJKLMNOPQ RSTUVWXYZABCDEFGHIJKLMNOPQRSTUV WXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC DEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL MNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW XYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ KLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY ZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP QRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI JKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD EFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 眼镜 您可以全部小写而不是全部大写。 允许在三角形的末尾尾随换行符。 每行后可以有空格。 您必须打印到STDOUT而不是输出字符串数组。 计分 这是代码高尔夫球。字节数最少的程序获胜。

7
ASCII钢琴键盘
钢琴键的宽度为3个字符,高度为7个字符。但是,如果每个键都为3个字符宽,则黑色键的空间将不足。这就是为什么某些白色键的某些部分被切掉的原因。白键有3种类型。 缺少右半(R)的键: ____ | | | | | | | | | | | | |___| 左半边缺少的键(L): ____ | | | | | | | | | | | | |___| 以及缺少左右两半的键(M): ___ | | | | | | | | | | | | |___| 在真正的键盘上,这些模式如下所示: RMLRMML, RMLRMML, RMLRMML... …

24
说明音乐节拍
您知道,它们看起来像这样: 资源 目的是绘制如下的音乐节拍插图: = = = = = = = = == = == = == = ==== == ==== == === = = ======= ======== == ==== = ========= = ================================= 规则是: 插图的宽度为33个符号,但如果需要-允许任何超出此宽度的尾随空格。 每列均由等号(=)组成。 每列都有一个随机的高度(下一列的高度不应以任何方式取决于上一列的高度),范围是1到6。如果至少有可能在没有严格限制的情况下获得一些输入,也可以数学概率(即某些输入比其他输入少出现)。 列不能浮在底部上方并且在其中有空隙。 由于每一列的最小高度均为1,因此最后一行也不能有任何间隙-它始终由33个等号组成。 由于可能没有高度为6的列(毕竟都是随机的):在这种情况下,您不需要由空格组成的顶行。适用于这种性质的任何边缘情况:如果您的代码突然没有提供高度大于1的列,则无需在底行上方用空格构成其他行。 你什么都不输入。

2
绘制节点网络
最多有26个节点的网络(根据您的意愿命名A为Z或a以命名z)。每对节点都可以连接或断开。一个节点最多可以连接四个其他节点。您的任务是在2D图中绘制网络。将给出输入以使此任务成为可能(请参见输出部分中的更多约束)。 格式 输入项 成对的字母(按您的意愿A发送Z或a发送给z您)。它们没有以任何顺序排序。 可选-对数 输出量 ASCII图,显示节点之间的实际链接。节点由ato z或Ato 给定Z。使用-了横向的联系和|垂直链接。链接的长度可以是任意(非零),但它们应为水平/垂直的直线,且不会弯曲。如果不破坏图片,可以添加空格。 您可能无法使用有助于图形布局的内置函数。可能允许使用其他与图形相关的内置程序(尽管不带内置程序的解决方案会受到更多欢迎)。最短的代码胜出。 样本数据 输入项 A B B F B L F K L K K R K S R P S J S P J A T V V N 输出量 A - B - F T - V | | | …

1
反向工程师支架矩形
每个程序员都知道矩形□真的很有趣。为了加剧这种乐趣,可以将这些可爱而模糊的图表转换为交织在一起的括号组。 这个挑战与我以前的挑战相反。 假设您有一组互锁的矩形,如下所示: +------------+ | | +--+-+ +----+-+ | | | | | | | | | +---+--+ | | | | | | | | | | +--+-+ | +-+--+-+-+-+ | | | | | | | | | | | | | | | | | | | …

6
画我的条形图
您已被选择制作一个可以创建一些漂亮的ASCII 条形图的程序。这是输入格式: [List of words (they can have spaces)] [an integer >= 0] Bar 3 This is so cool 4 IDK-Why 6 输入将具有此格式的多行,每一行代表图形中的一个条。图的输出格式如下: _ _ _ _ |_|_|_|_| | | | | | | | + [name of 4th bar] | | + [name of 3rd bar] | + [name …

1
循环检测-不是那种!
这项挑战的目标是找到一个回路所包围的方向和区域。 输入: 完全由以下字符组成的矩形网格: ^v<> (可选地,您还可以在网格本身之前为网格指定尺寸,以十进制表示,并带有您选择的前缀,后缀和分隔符。) 甲环在网格是一组在上述的字符,使得一个指向下一个的,指向在第一个字符的下一个,最终指回。例如: <>>v> >>v ^^<>v ^ >v >^<<< ^<<< >^<v> 左边的网格是样本输入;正确的网格是隔离的循环。 输入网格将不包含任何循环,也可以包含一个循环。您不必担心网格包含多个循环的任何情况。 输出: 如果网格不包含循环,则输出X。 如果网格包含两个指向彼此的箭头,则输出0。 如果网格包含一个逆时针循环,请计算循环所包围的字符,包括边界。输出该号码。 如果网格包含顺时针循环,请对逆时针循环执行相同的过程,但输出该数字的负数。例如,上述输入网格的输出为-11:10来自循环本身,而1来自循环所包围的字符。 这是代码高尔夫球。最短的代码胜出。 测试用例: <<^ ^>v ^v< 输出X。 <<<< ><<< >>^> 输出0。 <>^^< >>>v> <^^>v <^>>v >^<<< 输出-15。 v<<<< >v>>^ v<^<< >>>>^ 输出20。

8
ASCII Borromean戒指
该博罗梅安环是一个奇怪的一套三圈,链接,使得移除它们中的任何一个都将取消与其他两种: 您可以用几个橡皮筋和一个活页夹环为自己订一套。使用更多的橡皮筋,可以轻松建立任何Brunnian链接。 编写一个程序或函数,以输出(打印或返回)这种用Borromean环表示的ascii表示形式: +-----+ | | +-----+ | | | | | | +-|---+ | | | | | | | | | +-|---+ | | | | +-|---+ | | | +-----+ 这些行可能有尾随空格,并且可能会有尾随换行符。 以字节为单位的最短代码获胜。

16
显示树木年轮的年龄
介绍 昨天我看到一个生日难题。恭喜!! 同样在这周,我看了电视节目《骨头》中的一集,其中发现一具尸体被埋在树下。为了计算死亡时间,他们计算了年轮。 之所以形成年轮,是因为树木在冬季生长较慢,在夏季生长较快。因此,您可以通过计算环数来计算树的年龄。您还可以看到自然事件,例如雨季或旱季。 挑战 给定一个整数n >= 1作为输入,编写一个完整的程序以输出树龄轮。 由于环的形状会发生变化,因此请使用三个不同的字符(“ 0”,“ *”,“ +”)来显示气候周期。 1岁 0 2岁 *** *0* *** 3岁 +++++ +***+ +*0*+ +***+ +++++ 4岁 0000000 0+++++0 0+***+0 0+*0*+0 0+***+0 0+++++0 0000000 树的大小是边的平方 2*n - 1 获奖 以字节为单位的最短代码获胜。

3
您可以将六聚氰胺折叠成立方体吗?
我的孩子最喜欢的玩具之一就是这样的玩具。实际上,它是我最喜欢的玩具之一-我一直在玩它,它给了我一些PPCG挑战的想法。这是一个: 编写一个程序或函数,将ASCII线条图作为输入,并确定是否折成立方体。 输入项 输入将仅由一个这样的正方形构成的六边形组成: +-+ | | +-+ 例如,有效的输入heximino为: +-+ | | +-+-+-+-+ | | | | | +-+-+-+-+ | | +-+ 输出量 如果六氨基可以折叠成立方体,则为真实值,或者 否则为假值。 为了节省我们的工作量,维基百科具有以下出色的图形: 所有35种六聚氰胺: 折叠成立方体的所有11种六聚氰胺: 笔记 输入的六胺可能会发生旋转或反射,而不仅仅是上图所示 输入的六氨基酸可能有前导空格,但会相对于它们正确对齐 输入的六边形可能在行的末尾有尾随空格,在输入的末尾有尾随新行

16
让我们看看一些动作!
谁不喜欢快速嘈杂的汽车动作电影,尤其是那些发生大量车祸的电影?谁不喜欢ASCII艺术动作镜头? 场景是: 两辆汽车从一条直线道路的相对两侧开始(之间有60个间隔)。他们开始以恒定的速度向彼此行驶。左边的汽车以每秒1个车位的速度行驶,右边的汽车以每秒2个车位的速度行驶。 显然,汽车无法相互通过,因此对于n ≥ 20场景,将是两辆坠毁的汽车,它们在发生碰撞的位置举起了引擎盖。 作为电影爱好者,我想时不时地暂停场景,只是为了欣赏它的美丽。 给定一个整数n(函数自变量或STDIN),表示从场景开始算起的秒数,请显示该时刻的场景。 这是开始的场景,前轮之间有60个空格: __ __ _/ \_ _/ \_ o o o o 这是11秒后的场景: __ __ _/ \_ _/ \_ o o o o 这就是崩溃后的样子(请注意,崩溃后引擎盖已打开): __ __ _/ \/\/ \_ o oo o 我只想看两辆车相撞,所以空格,换行符,++都没关系。 这是代码高尔夫,因此以字节为单位的最短代码获胜。如果后来添加的答案比当前接受的答案短,则仍然可以获胜。

6
砖结构稳定吗?
让我们将标准砖石表示为[__](忽略顶部开放的事实)。当这些砖块堆叠在一起时,每隔一层就会偏移一半砖块,这在砖块构造中很常见: [__][__][__][__] [__][__][__][__] [__][__][__][__] [__][__][__][__] 因此,每个砖块最多具有六个邻居,并且不可能有两个砖块直接垂直排列。 关键是这些砖的布置不是用灰泥砌成的,而只是靠重力保持在一起。因此,重要的是结构中的每个砖块都必须稳定,否则整个结构都将不稳定。 单个积木可以通过三种方式稳定: 地面上的任何砖块(最低的砖块)都是稳定的。 任何在其正下方有两个砖块的砖块都是稳定的: [__] <- this brick is stable [__][__] <- because these bricks hold it up 在同一侧上,下两面都具有砖块的任何砖块都是稳定的: [__] [__] [__] [__] <- these middle bricks are stable [__] [__] because the upper and lower bricks clamp them in [__] [__] [__] [__] …

4
制作Voronoi图(ASCII变体)
假设您得到了一些分散在空白单元格矩形阵列中的不同大写字母。数组中的每个单元格都属于最接近它的字母,定义为以最小水平和/或垂直步长即可到达的字母-没有对角线步长。(如果一个像元与两个或更多个最近的字母等距,则它属于那些字母中第一个字母的字母顺序。其中一个大写字母的像元属于该字母。)边界像元是水平或垂直的像元与一个或多个不属于其自身字母的单元格相邻。 编写一个具有以下行为的过程子程序,生成一种Voronoi图 ... 输入:仅由点,大写字母和换行符组成的任何ASCII字符串,以便在打印时显示上述类型的矩形数组,其中点充当空白。 输出:输入字符串的打印输出,每个空白边界单元格都被其所属字母的小写字母替换。(子程序进行打印。) 例子1 输入: ......B.. ......... ...A..... ......... .......D. ......... .C....... .....E... ......... 输出: ...ab.B.. ....ab.bb ...A.abdd aa...ad.. cca.ad.D. ..caeed.. .C.ce.edd ..ce.E.ee ..ce..... 概述边界的草图: 例子2 输入: ............................U........... ......T................................. ........................................ .....................G.................. ..R.......S..........F.D.E............I. .........................H.............. .....YW.Z............................... ......X................................. ........................................ ........................................ ......MN...........V.................... ......PQ................................ ........................................ .............L...............J.......... ........................................ ........................................ ....C...........K....................... ........................................ ..................................A..... ...........B............................ 输出: …

8
生成吉他标签?
编写最短的程序,为输入的和弦生成吉他标签。 为了使你们中的吉他手没有优势,并使其具有确定性(可能更容易编码),以下是授权的和弦的唯一形式: Major chords: E F F# G G# A A# B C C# D D# e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---2---3---4---5---6---7---8--- G 1---2---3---4---5---2---3---4---5---6---7---8--- D 2---3---4---5---6---2---3---4---5---6---7---8--- A 2---3---4---5---6---0---1---2---3---4---5---6--- E 0---1---2---3---4---0---1---2---3---4---5---6--- Minor chords: Em Fm F#m Gm G#m Am A#m Bm Cm C#m Dm D#m e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---1---2---3---4---5---6---7--- G 0---1---2---3---4---2---3---4---5---6---7---8--- D 2---3---4---5---6---2---3---4---5---6---7---8--- …

23
用字母汤装满碗
我们似乎从来没有得到疲倦的字母相关的挑战... 食谱 给定 一串字母S,和 两个正整数M,N, 产生的字母表汤中的字母S占据的随机位置在矩形碗尺寸的M× N,框架由一个非字母,非空格字符来表示碗的边缘。 字母未使用的位置应显示为空格。请参阅下面的示例。 附加规则 尺寸M× N指的是内部的碗。包括轮辋在内的尺寸为M+2× N+2。 每个字符S应在碗中一次出现在不同的位置;也就是说,一个字符不能覆盖另一个字符。 S 可能包含重复项。例如,如果S是字符串'abcc',汤必须包含一个a,一个b,两个c(都在不同的位置)。 输入将满足限制 M >= 1,N >= 1,1 <= length(S) <= M*N。 碗的边缘可以是任何非字母,非空格字符,在程序运行和输入值之间保持一致。 碗中的字母位置是随机的,因此每次使用相同的输入运行程序时,结果可能会有所不同。 给定输入,每个可能的字母位置集应具有非零概率。由于无法从程序的一些实现中进行检查,因此请说明您的代码如何实现此目的。 允许在边框周围使用前导或尾随空格。 S将仅包含大写字母。如果愿意,您可以选择仅采用小写字母。 输入和输出像往常一样灵活。例如,输出可以是带有换行符的字符串,2D字符数组或行列表。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 例子 输入显示为S, [M N],其中M是行N数和列数。该字符#用于边框。 'O', [1 1]: ### #O# ### 'HEY', [1 3]: ##### #YHE# ##### 'HELLO', …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.