Questions tagged «ascii-art»

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

8
可视化欧几里得算法
欧几里得算法是用于计算两个正整数的最大公约数(GCD)的广为人知的算法。 算法 为解决这一挑战,算法描述如下: 将两个输入显示为某个字符的相邻行, 例如的输入3,4可以由相邻行000和0000 将length(short_line)较长行中的第一个字符转换为另一个字符,- 现在说看起来像000和---0 删除length(short_line)较长行中的第一个字符。 现在000,0 重复步骤2和3,直到两个具有相等的长度,使用较短和较长的线在每次迭代之后,例如 000,0 -00,0 00,0 -0,0 0,0 您可以选择是在此处停止还是继续迭代,然后将其中一行转换为空行。 这些步骤中的每个步骤之间应间隔0.3秒至1.5秒。 挑战 编写一个程序,给定两个自然数作为输入,它会创建一个输出,该输出看起来与上述算法的输出完全相同。您可以使用其他非空白打印的ASCII字符比0和-,但要一致,仅使用两个字符。如果输出(包括时序)与上述算法产生的输出完全相同,您也可以使用其他算法。 例子 这是input的示例24,35,它们是互质数,因此它们的GCD为1。 这是带有16,42GCD 2的input的示例。 规则 这是一个代码高尔夫球,因此最短字节获胜 适用标准漏洞 您可以假设输入为正十进制整数 除非您使用sed,Retina,///等,否则您可以使用一元 澄清说明 代表数字的线需要保持其原始顺序,即,在所有后续帧中,第一个显示的“框架”的第一和第二行分别必须是第一和第二行。 算法结束后,不应再出现其他可见实体。但是,这也意味着如果确保最后一个“帧”显示的时间至少与消隐之前所有其他帧的显示时间相同,则可以将行消隐。

3
ASCII蒲公英
这些是ASCII蒲公英: \|/ \ / | /|\ | \|/ | | | | _\|/_ | | | /|\ ASCII蒲公英具有三个参数:茎的长度(正数在1到256之间,种子数(正数在0到7之间)和方向(^或v)。以上蒲公英的长度,种子和方向( 3,5,^),(3,2,^),(2,3,^)和(3,7,v)。 按照以下顺序填充种子(倒置蒲公英时倒置),长度为2: seeds: 0 1 2 3 4 5 6 7 | \ / \|/ \ / \|/ _\ /_ _\|/_ | | | | /|\ /|\ /|\ /|\ | | | …

2
卷蛋糕短语
蛋糕卷是由一层海绵蛋糕,一层奶油(或冰淇淋)制成的,呈螺旋状卷制而成的美味甜点,请参阅Wikipedia。 您的任务是从标准输入中获取一个非空短语字符串,将空格去除,然后将其作为滚动蛋糕从中心向逆时针方向从左到左滚动,而空格从第一个空格的底部开始短语字符,从左到右,如以下示例所示。 请注意,该短语将是海绵蛋糕层,而奶油层将表示为空白区域。 Input: Lorem ipsum dolor sit amet, consectetu adipiscing elit, sed do eiusmod Output with spaces ' ' represented as _ ilegnicsip t________i ,_srolod_d s_i____m_a e_t_oL_u_u d_a_r__s_t d_m_emip_e o_e______t e_t,consec i____ usmod 测试用例 Input: Lorem ipsum dolor sit amet, consectetu adipiscing elit, sed do eiusmod Output: ilegnicsip t …

20
输出一个漂亮的盒子
您的挑战是准确输出以下框: .................................................. .................................................. .. .. .. .. .. ++++++++++++++++++++++++++++++++++++++++++ .. .. ++++++++++++++++++++++++++++++++++++++++++ .. .. ++ ++ .. .. ++ ++ .. .. ++ .................................. ++ .. .. ++ .................................. ++ .. .. ++ .. .. ++ .. .. ++ .. .. ++ .. .. ++ .. ++++++++++++++++++++++++++ .. ++ .. …

4
2D交通堵塞
该比哈姆-米德尔顿-莱文流量模型是一个自组织的细胞自动机模型简化流量。 它由许多汽车组成,这些汽车由具有随机起始位置的点阵上的点表示,其中每辆汽车可能是以下两种类型之一:仅向下移动的汽车(在本文中显示为蓝色),以及仅向下方移动的汽车右(在本文中显示为红色)。两种类型的汽车轮流行驶。在每一转弯期间,如果相应类型的所有汽车都没有被另一辆汽车挡住,则它们前进一个步骤。 您的任务是将该模型可视化为动画。这是一些很好的示范。 输入项 0到1之间的浮点数表示密度,而两个整数表示所显示的网格高度和宽度。假设输入是有效的,并且函数的参数或从用户输入读取的参数都很好。 示例:(0.38 144 89对应于上图) 输出量 至少80x80的网格显示正在运行的模型的动画。开始时,将汽车随机放置在网格上,直到网格达到输入密度,其中一半为红色,另一半为蓝色(即密度乘以网格正方形的总数,但可以四舍五入)。密度必须是此值,这意味着您不能以密度填充每个像元。对于每一步,一种类型的汽车要么向下移动要么向右移动,如果它们越过边缘则环绕。移动的汽车类型交替出现。为了使动画可见,每个步骤之间必须至少有10毫秒。 规则 这些汽车可以是任何颜色或符号,只要它们可以与背景和背景区分开即可,并且每种汽车类型都是相同的颜色或符号。 都允许控制台和图形输出。对于控制台输出,任何可打印的符号都可以,但是输出必须为字符网格。 如果没有屏幕截图或gif,请指定产生的输出类型。 模拟必须永远运行。 输出有点复杂,因此如果您有任何疑问,请发表评论。

6
一cube文字݀
上次您制作了一个正方形的文本,但是现在,您可以制作一个立方体的文本了吗? 挑战 给定一个字符串,以多维数据集的形式输出该字符串。 您可以假定该字符串将始终具有2个字符或更多,并且仅具有可打印的ascii字符。 如何制作文字方块 测试用例 Input: Test Output: Test e ss s e e tseT T s e e e ss Test Input: Hello, world! Output: Hello, world! e dd l l l l r r o o o , w w w , , o o o r …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

11
我的表情符号干燥了吗?
这是我的宠物表情,比利: -_- 表情符号不喜欢在雨中,所以比利很伤心……让我们给他戴上雨伞让他感觉好些! /\ / \ / \ -_- 很好,他完全被伞遮住了!这是仅覆盖他的一部分的示例: /\ / \ / \ -_- 在这种情况下,他身体的第2部分和第3部分暴露在雨中。 伞有多种形状和大小,但总是由一系列的斜杠/和一系列的反斜杠组成\。例如,这些都是有效的保护伞: /\ / \ / \ /\ /\ / \ / \ / \ / \ 这些不是: / \ \/ \ / \ / \ 0\ / \ //\\ / \ 您需要确定表情符号的哪些部分暴露在雨中。 澄清说明 …

5
在所有方向上转到矩形的对角-更硬
这与这个问题本质上是一样的,只是难度更大。您将再次编写一个从矩形的左下角到右上角的程序。但是,这次允许对角线移动。 该程序将接受一个有序对(width, height),并将其用作矩形的尺寸。然后,您的程序将创建该解决方案的ASCII艺术形式(.用于一个空的正方形,#该解决方案的一部分以及X用于开始的正方形),并计算到达终点所需的移动次数。 例 输入: (5, 6) 输出: ....# ....# ...#. ..#.. .#... X.... Move count: 5 以字节为单位的最短答案胜出!

2
放大盒子
ASCII框如下所示: ++ +---+ +------+ +---+ +---+ ++ | | | | | | | | | | | | | | | | +-+ | | | | | | | | +-+ | | | | | | +---+ +---+ | | | | +--+ | | | | …

11
创建ABACABA城市
这是ABACABA的第三个城市: _ A|_| B|__| A|_|_ C|___| A|_| B|__| A|_| 它是由ABACABA序列组成的,该序列基本上是: A(第一次迭代) 地方B-AB 重复A-ABA(第二次迭代) 地方C-ABAC 重复ABA-ABACABA(第3次迭代) 这样你就知道了。 建筑物的高度(对应于下划线的数量)等于将字母转换为数字,例如A = 1,B = 2等 输入项 迭代次数1 <= n <= 26。 输出量 顺序n的ABACABA城市,包括行首的字母。

14
构造ASCII拱门
我喜欢ascii艺术,并且很无聊,所以我找到了一些ascii角色并开始制作随机物品,8位马里奥城堡,迷宫和拱门。我发现拱门可以轻松地以整齐的方式堆叠。 ╔═══════╗ ║╔═════╗║ ║║╔═══╗║║ ║║║╔═╗║║║ ╨╨╨╨─╨╨╨╨ 挑战 创建一个程序,函数或任何其他可接受大于或等于0的整数的标准格式(除非您正在做奖金),并输出具有指定足弓数量的ascii art。 测试用例 输入: 7 输出: ╔═════════════╗ ║╔═══════════╗║ ║║╔═════════╗║║ ║║║╔═══════╗║║║ ║║║║╔═════╗║║║║ ║║║║║╔═══╗║║║║║ ║║║║║║╔═╗║║║║║║ ╨╨╨╨╨╨╨─╨╨╨╨╨╨╨ 替代: +-------------+ |+-----------+| ||+---------+|| |||+-------+||| ||||+-----+|||| |||||+---+||||| ||||||+-+|||||| ||||||| ||||||| --------------- 输入: 1 输出: ╔═╗ ╨─╨ 替代: +-+ | | --- 如果整数为0,则不输出任何内容 这个问题将在utf-8中进行,每个字符都将计为一个“字节” 这是codegolf,因此最短的答案会获胜。 您可以选择使用+-+代替╔═╗,---代替╨─╨,和|代替║ 奖励(尚未决定是否允许在替代版本上使用,因为它不会那么难) 如果程序支持负数并像这样翻转拱门,则为-10% ╥╥╥╥─╥╥╥╥ ║║║╚═╝║║║ …

1
绘制烷烃的Lewis结构
我刚刚在学校上了一堂关于烷烃的课,并且发现这可能会给高尔夫挑战赛带来很大的挑战!不用担心,它并不像看起来那样复杂! 快速重提 (请注意:为简短起见,并非所有信息都是100%准确的。) 烷烃是碳和氢的串。每个碳原子具有4个键,每个氢原子具有1个键。烷烃的所有碳原子形成一个串,其中每个C原子与另外2个C原子(路易斯结构中的左侧和右侧)和2个H原子(上下)连接,但串的末端除外,其中C原子仅连接1个其他C,但连接3 Hs。这是戊烷(具有5个C原子和12个H原子的烷烃)的基本示例: H H H H H | | | | | H-C-C-C-C-C-H | | | | | H H H H H 烷烃也可以具有分支。但请放心,此挑战中的所有烷烃都只能用1级支链表示。例: H | H-C-H H H H | H | | | | | H-C-C-C-C-C-H | | | | | H H H H …

6
重建ASCII城市
+-+ +-+ | | +-+ +-+ | | | | | | | | +-+ +-+ +-+ ++ ASCIIville人民正在重建他们的城市并草拟新的蓝图。您的工作是根据所需的建筑物来绘制新城市。 输入将是有多少座建筑物。每个建筑物的高度是输入值的一半(如果是奇数,则四舍五入),不包括建筑物的顶部和底部。 让我们画一个基本的例子 4 +-+ +-+ +-+ ++ | | | | | | | | | | | | | | | | +-+ +-+ +-+ ++ 如您在此处看到的,|由于输入为四个,所以每座建筑物中都有两个。但是有一个陷阱!(这意味着上面的示例是不正确的,而本文顶部的示例是4 的实际输出) 对于不是素数的每栋建筑物,其高度都会降低一个。如果该数量整除3,5,或10,它会下沉一个。如果它可以被两个或多个这些数字整除,则扣除的金额相加(10被10和5整除,它不是质数,因此被3减去)。 让我们看一个输入为 …

4
显示MIDI音轨
背景 MIDI文件与WAV或MP3音频文件完全不同。MP3和WAV文件包含表示音频“记录”的字节,而MIDI文件具有存储在MIDI事件中的一系列MIDI消息,这些信息通知MIDI合成器要播放的虚拟乐器或MIDI音序器应使用的播放速度。这些消息存储在轨道中,轨道的集合构成一个MIDI序列,其事件可由音序器分析,并将其消息从音序器传输到合成器的接收器。 在大多数情况下,存储在MIDI事件中的MIDI消息是“音符开”消息,它告诉合成器播放特定的音符,或者是“音符关”消息,告诉合成器停止播放音符。这些消息包含两个数据字节,第一个数据字节通知合成器该音符的速度(较高的速度会导致一个更大的音符),而第二个字节则通知合成器该音符的演奏(即中音C)。事件本身还包含刻度,用于告知音序器何时发送消息。 挑战 面临的挑战是编写一个完整的程序或函数,以单轨MIDI序列分析一系列Note On和Note Off MIDI消息,并向STDOUT输出一个图表,该图表显示何时打开特定音符,何时关闭这些音符以及这些音符的速度。图表的纵轴表示音符值,应按以下说明进行标记,横轴表示以MIDI音调为单位的时间(尽管应保持未标记状态,以减少复杂性和间距问题)。 您的输入可能是四个单独的数组或列表,每个数组或列表包含一系列整数值。包含四个带有一系列整数值的子数组/子列表的二维数组或列表;或任何其他方便的方式;这表示音轨中具有“音符开启”和“音符关闭”消息的MIDI事件集合。这些数组中的第一个数组中的值指定音符,第二个数组中的音符指定力度,事件滴答声中的第三个音符,和音符关闭事件音符的第四个音符。例如,给定四个这样的数组: {60, 62, 64, 65, 67} {20, 40, 60, 80, 100} { 0, 4, 8, 12, 16} { 2, 6, 10, 14, 18} 分析每个数组的第一个元素会产生两个事件:在滴答0处发生的事件,其中包含一条消息,其中包含Note On命令,note 60(中间C)和note速度为20;以及在第2滴答处发生的事件,并带有一条带有“音符关闭”命令且音符和力度相同的消息。 规则 图表的左侧应显示降序显示的数字0到127(代表音符值),音符开始时,每个音符的持续时间(音符关闭记号减去音符开启记号)以及音符的力度。表示音符的符号取决于其速度: 0-15: O 16-31: = 32-47: # 48-63: - 64-79: @ 80-95: + 96-111: 0 …

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.