Questions tagged «ascii-art»

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

8
用字母概述单词
出于当前挑战的目的,“概述”一个单词的意思是先用最后一个字母依次包围它自己的字母,最后用空格替换中心的原始单词: oooooo onnnno on -> on no onnnno oooooo 任务: 给定一个仅由小写和/或大写英文字母组成的单词列表,勾勒出每个单词的轮廓,并水平相邻显示所有生成的块,并用一列单空格隔开,在块的中心垂直对齐。 您可以编写完整的程序或函数。 输入: 单词列表,或者如果您愿意-用空格或其他符号分隔的字符串 输出: 轮廓词块的ASCII表示形式。允许前导/尾随空格。 测试用例: Input 1: ["code", "golf"] (or "code golf") Output 1: cccccccccccc gggggggggggg cooooooooooc goooooooooog coddddddddoc gollllllllog codeeeeeedoc golfffffflog code edoc golf flog codeeeeeedoc golfffffflog coddddddddoc gollllllllog cooooooooooc goooooooooog cccccccccccc gggggggggggg Input 2: ["I", "am", …

16
切碎我的ASCII艺术
假设我有一些ASCII艺术: ___ ,"---". : ; `-.-' | | | | | | _.-\_/-._ _ / | | \ _ / / `---' \ \ / `-----------' \ /,-""-. ,-""-.\ ( i-..-i i-..-i ) |`| |-------| |'| \ `-..-' ,=. `-..-'/ `--------|=|-------' | | \ \ ) ) hjw / / …

14
藏宝图绘图机器人
您正在为朋友组织寻宝活动。为了更轻松地进行操作,您想要绘制隐藏贵重物品的所有位置的地图。 输入值 0 0允许使用任何形式的输入来表示由(负)x和y坐标组成的点列表,即左上角(注意:您也可以在答案中使用基于1的索引,请对此进行评论)。例: 1 2 3 0 0 1 挑战 您的函数或程序应该能够构造一个映射,该映射表示每个给定位置,x并在输出的y + 1行和x + 1列中找到标记。未标记的位置以表示。该地图还包含一个框架,其中的角为+s,垂直线为|s,水平线为-s。您的解决方案应该输出最小的帧。上面给出的输入示例的映射: +----+ | x| |x | | x | +----+ 可能的测试案例 "0 0" => +-+ |x| +-+ "0 10 5 5 10 0" => +-----------+ | x| | | | | | | | | …

4
沙漏的底部
挑战: 输入:三个整数:底边长度;沙粒的起始量;指数 输出:根据给定的底边长度和沙粒量,以给定的索引输出沙漏底部的状态。 挑战规则: 我们用数字1-9模拟沙粒 我们将当前剩余的沙粒数量放在中间的顶部,然后在您选择的单个字符之后(不包括数字,空格和换行符;即-),将其放在下面的行中 沙漏填充时,我们每行填充一次,一次填充一位 当沙子可以向左或向右移动时,我们总是向右移动(对于平衡沙漏上方沙粒的剩余量也是如此) 当我们到达9点时,它已经装满了,我们再也无法在沙漏中的那个特定位置放沙子了 剩下的沙粒数量也总是正确对齐 一旦沙漏的下半部分完全填满,或者剩下的沙粒数量达到0,我们就无法进行进一步操作,这将是此点之后所有索引的输出 允许使用0索引或1索引,请指定您在答案中使用的内容。 尾随和前导空格以及一条尾随或前导新行是可选的 如果您选择显示沙漏,则可以使用其他任何字符(而不是零)来填充沙漏底部的空白区域(不包括数字,换行符或用作颈部的字符)。 底边长度将始终为奇数 底边长度将为>= 3; 和沙粒的数量>= 0 如果需要,还可以打印所有状态,直到并包括给定索引 您可以假设(0索引)索引永远不会大于沙粒的总量(因此,当有100粒沙粒时,索引100是最大的有效索引输入)。 第一个索引(0表示0索引; 1表示1索引)将输出一个空的沙漏,上面带有一些沙粒。 示例:图片(或ascii-art)说了一千多个单词,所以这里有一个示例: 输入底边长度:5 输入沙粒数量:100 在这里显示所有步骤,而不是当前索引: 输出具有底边长度5和沙粒量的所有可能指标100: 100 - 0 000 00000 99 - 0 000 00100 98 - 0 000 00110 97 - 0 000 01110 96 - …

14
递归级联[N]的累积和与M次迭代
取两个正整数N,M并[N]通过M迭代创建的串联累积和。输出最后一次迭代的结果。 串联累积和的定义: 以数字开头N并定义顺序X = [N] 追加到X的累积和X 重复步骤2 M次。 向量的累加和X = [x1, x2, x3, x4]为:[x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]。 N = 1和的示例M = 4: P =累积和函数。 M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, 1, 2] - X …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

2
全方位展开
输入: 一串 输出: 1)首先,我们采取在输入串的末尾删除字符,直到我们留下的长度为正方形(即1,4,9,16,25,36,等等) 因此,abcdefghijklmnopqrstuvwxyz(长度26)变为abcdefghijklmnopqrstuvwxy(长度25)。 2)然后我们将其放在一个正方形中,从左到右一次一行: abcde fghij klmno pqrst uvwxy 3)我们在四个方向上都将其折叠,如下所示(我们不断展开,直到外部折叠的“块”不再具有内部字符可展开): m qrs l n ghi abcde ihgf jihg mn lk on lm srqp tsrq uvwxy qrs l n ghi m 需要注意的一些事情,当我们向外折叠时,我们基本上像这样镜像(为澄清起见添加了数字,这些数字表示这些示例中的“索引”): 当我们向外折叠时: 123 to: 321 123 fghij ihgf j 当我们折叠右侧时: 123 to: 123 321 fghij f jihg 当我们向上折叠时: …

11
案例匹配查找替换
以三个输入,文本串T; 一串要替换的字符F;以及用替换它们的字符串R。对于每个T具有相同(不区分大小写)字符的子字符串F,请将其替换为中的字符R。但是,请保持与原始文本相同的大小写。 如果输入的字符R多于个F,则多余的字符应与输入的大小写相同R。如果其中包含数字或符号F,则其中的相应字符R应保持其大小写R。F不一定会出现在中T。 您可以假设所有文本都在可打印的ASCII范围内。 例子 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

5
计算曲线上一点的对映体
曲线是正方形网格上的一组点,这样,每个点在四个邻居的邻域中恰好有两个邻居,并且这些点形成单个连接的组件。即,由网格图上的点所引起的图对于单个周期是同构的。“感应”是指两个点在循环中不彼此相邻就无法触摸输入。 图中顶点V的对映体是距离V最远的顶点。对映体在偶数长度的循环中总是唯一的(并且网格图上的每个循环都是偶数长度的)。距离的测量应由循环本身引起,而不考虑下面的方格。 您的输入应为曲线图像。曲线将#在背景字符()之外的背景上用一系列数字符号()标记出来。曲线上的点之一将标记有P字符(“ pode”)。您的输出应与输入相同,除了一个曲线点应替换为A(“ antipode”)。 您可能会假设字符将被填充为矩形。您可以假设输入的第一行和最后一行和列将完全由空格组成(输入由背景填充)。或者,您可以假设第一行和最后一行和每一列都将包含一个曲线点(输入具有最小的填充)。 您可以作为单个换行符分隔的字符串,行的数组或单个字符的2D数组输入和输出此网格。输入和输出的选择应相同。如果您的语言允许,则可以通过在适当位置修改输入而不是返回修改后的字符串或数组来输出。 可能的输入: P# P## #P# ##### #####P# ####### #####P######### #####P######### ## # # # # # # # # # # # # # # ### ### ## ## # ### # # ### # # ### ### ### # # # ### # …

3
绘制ASCII长方体
给定三个> = 2的整数,在正交(柜)投影中创建一个ASCII立方体。这三个整数表示包括边角的高度,宽度和深度(以可见字符为单位)。拐角应为“ o”或“ +”,自由选择。 w:10,h:5,d:4因此,得出: o--------o / /| / / | o--------o | | | o | | / | |/ o--------o 现在,要使其稍微难一点,所有的面孔都可以是坚固的,透明的或缺失的。我们像这样订购面孔: o--------o / /| / 2 / | o--------o 3| | | o | 1 | / | |/ o--------o --- |2| ------- |5|1|3| ------- |4| --- …

1
将图片变成拼图
摘要 这项挑战的目标是创建一个15拼图 / 滑动拼图(在法语中也称为taquin)的未还原图像版本。 细节: 给定一个输入,该输入包括: 一个图像, 的整数n, 的其它整数r, 您的程序,函数或任何其他适合的东西,都必须输出与输入相同的图像(即,相同的大小和格式),但是必须经过以下过程: 将图像分成n²矩形, 随机删除其中一个矩形, 从受点(2.)影响的线/列中移动任意数量的连续矩形,以便填充创建的孔,并在该线/列中生成另一个。0如果毛坯在角落或边缘,则此数字可以是。 重复(3.)r次。 说明: 如果您在第(3.)步中从行中移动了矩形,则必须在下一个重复中从列中移动矩形, 如果您在一行中从左到右移动矩形,则必须在下一行中将它们从右到左移动,这与列的上下到上下以及从下到上相同, 您可能会假设n会选择该选项,因此它将划分图片两边的长度。 最后一点: 动画.gif演示整个过程非常受欢迎。 我建议使用下面的图片(是1024x768),将n=16和r=100用作模型,您可以使用任何其他图片(只要它是相关的并且符合SE的规则)。 请注意,适用标准漏洞政策。 这是代码高尔夫球,因此较短的提交将获胜! 由于请求了一个示例,因此这里有一个“手工制作”的示例,其中包含n=4和r=1 步骤1和2 步骤3:逐行,向左2个矩形

2
在海滩上度过的一天
受此挑战启发 目标: 目的是绘制撞击到海滩上的海浪。 输入: 您将获得3个整数(任意格式)作为输入。 第一个整数将是图形的长度,第二个整数将是沙洲的索引,波浪开始波峰(距海滩至少3个间隔) ,第三个整数将是波浪之间的间隔(至少3个,可以大于绘图长度,在这种情况下,您只能绘制一个波形) 输出: 输出将是一个字符框,显示海浪撞击海滩。当第一波浪完全冲入海滩时,图纸应结束。 首先,该波显示为膨胀(_-_)。 当波浪通过沙洲时,它开始波峰(/c_)。 最终,海浪冲入海滩(/c.=> _-_=> ___=> __.)。 例子: 输入:14 4 6 输出: -___________.. _-__________.. __-_________.. ___-________.. ___/c_______.. ____/c______.. -____/c_____.. _-____/c____.. __-____/c___.. ___-____/c__.. ___/c____/c_.. ____/c____/c.. -____/c____-_. _-____/c_____. __-____/c___.. 输入:10、2、11 输出: -_______.. _-______.. _/c_____.. __/c____.. ___/c___.. ____/c__.. _____/c_.. ______/c.. _______-_. _________. ________.. 输入:6 0 …

23
两条道路分叉成黄色的树林(第1部分)
这是系列中的第一个,第二个是在黄色的树林中分叉的两条道路(第2部分) 这一挑战的灵感来自罗伯特·弗罗斯特(Robert Frost)的著名诗作《未走的路》: 两条道路在黄色的树林中分开, 对不起,我无法同时行进 ,成为一个行人,我站了很久 ,俯视着一条路,尽我所能 ,一直到灌木丛弯曲的地方。 然后公平地取下另一个, 也许有更好的主张, 因为它长满了草,想要穿。 虽然那路过的 人真的穿了差不多的衣服, 那天早上,两个人同样躺在 地上,没有脚踩过黑色。 哦,我保留了第一天! 然而, 我知道路要走,我是否应该回来。 我将叹息地告诉这个问题,因为它 在某个年代和年代都有: 两条道路在树林中分叉,我- 我走过的路少了, 这一切都改变了。 请注意倒数第二行I took the one less traveled by,。 您的实际挑战 您将采用以下形式输入: # ## # ## # ## # # # 而你必须找到更薄的道路。 这条路从底部开始#。其他两条始终在最上一行终止的道路是您必须检查的道路。最厚的道路是最常经过的道路,因此这不是您想要的。另一个是经过最少的旅行,也是您想要的旅行。 输出量 您的程序/函数必须输出2个不同的值之一(例如0或1,true或false),其中一个用于未经过的道路的每个可能位置。例如,如果未行驶的道路位于已行驶道路的左侧,则可以输出0,否则输出1,或者可以输出字符串“ left”或“ right”,true,false等。 测试用例: ## # …

2
找到循环的内部
任务 给定循环的ASCII图 例如 .................... ......@@@@@......... ......@...@......... .....@@...@@@@@..... ....@@........@..... ....@........@@..... ....@@@@@@@@@@...... .................... .................... 和循环上的位置 例如 (7,1) 您必须找到循环的内部和外部 例如 00000000000000000000 00000011111000000000 00000011111000000000 00000111111111100000 00001111111111100000 00001111111111100000 00001111111111000000 00000000000000000000 00000000000000000000 技术指标 您可以将图表的输入作为由换行符或明显等效的字符串分隔 作为输入的一部分,您将在循环上收到一个坐标(0或1索引)。您可以将自己的血统放在任何您想要的地方。您可以借此协调(<row>, <column>),(<column>, <row>)或弦上的线性位置。您可以通过任何合理的方式接收这些数据。循环上的所有字符将与该索引处的字符相同。 优选的输出是truthy和falsy值的2维阵列,但是串1和0通过换行或后两种的任何明显的等效接受分离。内部和外部必须具有不同的真相值,但这与哪个无关紧要。 循环被定义为一组字符,以使它们全部是相同的字符(例如@),从而循环中的每个字符都具有到原始字符(输入坐标处的字符)的路径,该路径仅通过相同的字符字符(出租车几何图形没有对角线)。 内部是所有循环本身,以及不跨越循环就无法到达图边缘的位置。 外面无处不在 这是代码高尔夫球 测试用例 粘贴框

7
快到圣诞节了!
因此,来自世界各地的家庭正在建造圣诞树。 但是一段时间后,这棵普通的树可能会变得无聊,所以让我们制作一个ASCII树! 叶子由表示,#并且必须按照示例输出所示进行排列。我们有5个球(O)和5个糖果棒(J),我们将它们随机放置在树上。我们还在上面放了一支蜡烛。 输入:无 输出: ^ | ### ##O## ####### ##### ####J## ######### ####O###### ############# ###J### ######### ####O###J## #######O##### ###J########O## ###########J##### ### ### 规则(如果不在规则中,则假设可以) 球和棒棒糖必须随机放置在树上,并且它们之间至少要有一片叶子,不包括对角线。 每片叶子必须有非零的机会拿到球或棒棒糖。 只要树的形状正确,每行上可能会有前导或尾随空格。 这是代码高尔夫球,因此字符中最短的代码将获胜。

7
绘制Sierpinski箭头曲线
介绍 该谢尔宾斯基箭头曲线是一条曲线,这是限制是谢尔宾斯基的三角。 它首先是这样开始的: _ / \ 然后,将每一行替换为第一行的旋转版本: _ / \ \ / _/ \_ 下一个: _ / \ \ / _/ \_ / \ \_ _/ _ \ / _ / \_/ \_/ \ 你的任务 给定数字n,输出Sierpinski箭头曲线的第n次迭代。 您可以选择0或1索引,但请在答案中指定。 您可以生成图像,或以我上面的格式使用Ascii Art。 您可能不使用内置函数生成此曲线。 请记住,这是code-golf,所以字节最少的代码将获胜。

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.