Questions tagged «ascii-art»

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

3
两个向量的线性组合
执行摘要 给定代表两个向量及其各自“权重”的输入,则产生的输出也代表这些向量的加权总和。 挑战 输入将包含以下字符的一行或多行: 正好出现一次数字0,它表示二维平面中的原点; 正好是另外两个数字(1-9;可以是或可以不是相同的数字),它们相对于原点的位置代表矢量,并且其值代表这些矢量的权重; 一些“背景字符”。求解器可以选择特定的背景字符;例如,我将选择“。” (主要是为了人类可读性)。或者,背景字符可以是任何看起来像空白的东西。 (求解器可以选择输入是单个多行字符串还是单行字符串数组。) 例如,输入 ....2 .0... ...3. 表示权重为2的坐标(3,1)处的向量,权重为3的坐标(2,-1)处的向量。 输出应与输入几乎相同,并进行以下更改: 由求解器选择的“结果字符”,将被添加到由输入矢量的加权和指定的位置(等效地,在输入矢量的适当线性组合的位置); 在同一张图片中,需要多少背景字符以适合原点,两个输入向量和输出向量。如果需要,可以包含额外的背景字符;唯一的限制是,如果背景字符是可见字符,则整个输出的形状必须是矩形,并且每个不代表矢量的字符都必须是背景字符。(如果将空格用作背景字符,则无需强制执行这些约束。) (通常,如果我们有一个权重为a的向量(v,w)和权重为b的第二向量(x,y),则它们的加权总和为a(v,w)+ b(x,y)=(av + bx,aw + by)。) 在前面的示例中,适当的线性组合为2 *(3,1)+ 3 *(2,-1)=(12,-1)。如果我们使用“ X”作为结果字符,那么输出看起来像 ....2......... .0............ ...3.........X 要么 ................ ...2............ 0............... ..3.........X... ................ ................ 通常的代码高尔夫评分:最短的答案(以字节为单位)获胜。 输入和输出示例 如果使用空格,则上面的输入看起来像 2 0 3 和输出看起来像 2 0 3 X 前导/尾随空格字符/行无关。如果读者看不见它们,那很好。(话虽如此,在其余示例中,我将回过头使用“。”作为背景字符,以使其更易于阅读。) …

9
将ASCII艺术带入三维
在这个挑战中,您必须将ASCII艺术(通常是2D)带入3D! 怎么样? 像这样, X X DD X D D X X DD 至... X X DD X X DD D X X DDDD X XDDD X X DD 那我们该怎么做呢? 给定ascii艺术和N,重复N一次。 对于每个字符(我们将其称为A): 设B成正好是1右1的字符A 如果B是空格或未定义: 设置B为A。 眼镜 第一个输入可以是带有换行符的字符串,也可以是代表2D ASCII艺术的字符串列表。 您可以使用%END%标记输入的结尾,但这不是必需的。 第二个输入将是N。这将是一个正整数。 字符串的所有行都将具有相同的长度。 例子 输入: ("###\n###",1) 输出: ### #### ### 规则 基本的代码高尔夫球规则适用。 另外,如果您有任何疑问,请务必在评论中提问!

8
画一个phi三角形
澄清:基本上,你需要这个 欧拉的totient函数的名称为phi。 让我们尝试计算phi(8) 首先,向后列出所有数字8,且不包括0或以下 8 7 6 5 4 3 2 1 现在找出哪些数字与8不共享因数(1不计数),并#在其位置放置a 。 8 # 6 # 4 # 2 # 删除数字。 # # # # - 现在执行此操作,但是将输出串成三角形 9 88 777 6666 55555 444444 3333333 22222222 111111111 --------- 123456789 # 排除非要素共享数 9 8# 7## 6#66 5#### 4#4#4# 3##3##3 2#2#2#2# …

1
画螺旋词[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 场景 给定一个ASCII小写字母和空格的输入,绘制一个螺旋形的字符,以跟踪不包括空格的原始字符输入。 规则 1)字符应以向外的方式逆时针向左旋转。如果不能左转,则笔直移动。 Given: abcdefg Output: g baf cde 2)只要不违反规则#1,字符就可以变成先前的字符。同样,如果该字符成螺旋形,则该字符将大写。字符大写后,无论重复使用多少次,字符都将保持大写。 Given: apples appeal Output: PAs PLe ea

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

8
吃巧克力吧
我有一条巧克力棒,需要帮助我才能食用,因此您将编写一个程序来实现该目的。 说明 第一行是输入。示例用空行分隔。 7 ____ __|__| |__|__| |__|__| |__|__| 6 _______ |__|__| |__|__| |__|__| 5 ____ __|__| |__|__| |__|__| 0 1 ____ |__| 规格 希望这些示例清楚地说明了这一挑战,但是为了避免任何可能的混淆,这是一个规范: 您可以有一个可选的尾随/前导空格 的输入为0空输出。 如果输入为偶数,则最上面的行如下所示: _______ |__|__| 如果很奇怪,第一行是: ____ |__| 如果它是奇数且大于1,则最上面的行是: ____ __|__| 以下行是: |__|__| 直到的实例数|__|与输入相同

5
ASCII框渲染
任务 您的任务是编写一个程序,该程序将在输入指定的位置输出ASCII框。 输入值 您将得到一个数字列表。这里的格式有点灵活,你可以使用任何你想要的deliminator(例如1,2,3,4,1 2 3 4,[1,2,3,4])。该列表以4组为一组,并指定xywh每个框的。每个框的宽度和高度至少为2,x并且width从左到右。y并且height是顶部至底部。 输出量 可以将渲染视为从右到左,首先绘制右侧的框,然后再绘制每个框。允许使用尾随空格以及尾随换行符。 如何处理重叠的盒子 输入左侧的框是顶部的框,没有东西会重叠。之后的每个框仅在尚未包含在框内的空间中渲染,并且不会替换已渲染框的边框。 样式 盒子的样式是相当标准的,+用于拐角,-用于水平线和|用于垂直线。 例子: (>>>表示输入) >>>0 0 11 4 7 2 8 4 3 5 8 3 +---------+ | | | |---+ +---------+ | | | +---+------+ | | +------+ >>>0 3 11 4 7 5 8 4 3 8 …

5
分析你的椅子
此挑战基于Downgoat的Adjust your chair。 挑战 您刚刚调整了新椅子!非常适合您。但是,车轮吱吱作响,您知道维修人员会更改调整。问题是,您没有标尺,因此您必须编写一个程序来为您测量。 维修人员只能等待这么长时间。因此,您的代码需要尽可能短。 例子 O | | | _ | | |_|_ | | O 5,3,2,2,1 O | _ | | |__|__ | | __|__ OOOOO 3,5,2,3,5 O | _ |______|______ ______|______ OOOOOOOOOOOOO 2,13,1,1,13 椅子零件 椅子具有各种组件: O <- Headrest | | <- Backrest | _ <- Armrest …

3
适合该领域的因素
给定小于1000的正整数,则显示该区域内所有可能的矩形。 任务 假设输入为20。我们可以制作一个20×1、10×2或5×4的矩形,因此这是一个有效的输出: ******************** ********** ********** ***** ***** ***** ***** 请注意,每个可能的矩形仅出现一次。 矩形可以以任何顺序,方向或位置出现,但即使在角落,也不能有两个矩形重叠或接触。以下内容也有效: ******************** **** ********** **** ********** **** **** **** 计分 输出的边界框区域(BBA)是包围所有矩形的最小矩形的区域。在第一个示例输出中,大小为20×9,因此BBA为180。在第二个示例输出中,大小为20×7,因此BBA仅140。 输入为60、111、230、400和480时,找到输出的BBA,并将它们加起来。将该总和乘以代码的大小(以字节为单位)。结果就是你的分数;最低分获胜。 规则 程序(或函数)必须为1000以下的任何正整数产生有效的输出。 输出必须仅包含星号(*),空格()和换行符。 矩形之间可以有任意数量的空间,但这要计入BBA。 前导或尾随的行或列,如果仅有空格,则不会计入BBA。

3
让我们做音乐!
许多人喜欢播放音乐来娱乐和娱乐。不幸的是,有时候音乐很难。这就是为什么你在这里! 任务 使那些苦苦挣扎的人更容易阅读音乐是您的工作。您需要编写一个程序或函数,将乐谱作为输入,并输出写在该谱上的音符名称。 员工,谱号和笔记 一个音乐的工作人员,或破碎,是五横,插图中它们是四个空格。每条线或每条空格代表不同的音符(音高),具体取决于谱号。 有几种不同的谱号可供选择,但我们现在只处理一种:高音谱号。在高音谱号上,音符在谱表上的表示方式如下: 线数 F - - - - - D ---------- B ---------- G - - - - - E ---------- 空间 ---------- Ë ---------- C ---------- 一种 ---------- F ---------- 输入格式 输入将作为单个字符串给出,如下所示: --------------- --------------- --------------- --------------- --------------- 职员的五行和四个空格由九行字符组成。职员的行用-(连字符)字符构成,空格用(空格)构成。每行与下一行之间用一个换行符隔开,例如: -----\n \n-----\n \n-----\n \n-----\n \n-----\n 行的长度是任意的(可以由您的编程语言处理的合理数量),并且每行的字符长度与其他行的长度完全相同。还要注意,行的长度总是可以被三整除的(以适应一个音符的样式,然后是两行不带音符的列)。 通过用代替相应的-或字符,在此工作人员上放置注释o。也可以通过半音(音符与其相邻音符之间的频率差的一半)在音高上提高(清晰)或降低(平坦)。这将由#和b分别代替o。每个音符将与下-一个音符精确地用两个字符隔开,并且第一个音符将始终出现在-和(空格)字符的第一个“列”上。 …

4
近似方阵
背景 我有一堆相等大小的正方形盒子,由于我是个整洁的人,所以我想将它们全部排列成正方形。但是,它们的数量不一定是完美的正方形,因此我可能不得不近似正方形。我希望您找到我最美的安排-当然是通过编程。 输入值 您的输入是一个正整数k,代表盒子的数量。 输出量 您的程序应选择两个正整数m, n使之m*(n-1) < k ≤ m*n成立。它们代表了我们正在排列的大正方形形状的宽度和高度。由于我们正在寻找具有美学美感的形状,因此数量应尽可能少,以使形状接近正方形,并且面积接近。如果该对还有几个候选者,请选择宽度最大的那个。(m - n)2 + (m*n - k)2k(m, n)m 现在,您的实际输出将不是数字m和n。取而代之的是,您应使用字符#来表示框来打印框的排列。更具体地说,您应打印n-1行,每行包含m字符#,然后打印一行k - m*(n-1)字符#。请注意,输出中完全包含k字符#。 规则和计分 输出中不得包含任何前导或尾随空格,除非需要,最后一行可以用尾随空格填充,该尾随空格的长度应为length m。可能只有一个尾随的换行符,但没有前面的换行符。#如果需要,可以使用任何可打印的ASCII字符代替。 您可以编写完整的程序,或从函数返回字符串。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 这是一些输入值的正确输出。 1 # 2 ## 3 ## # 4 ## ## 8 ### ### ## 13 ##### ##### ### 17 ###### ###### ##### 18 …

1
查找栅栏
背景 原子弹在栅栏工厂附近爆炸了!由于栅栏对于我们的文明生存至关重要,因此我们必须营救尽可能多的人。我们正在派出抗辐射的机器人搜索该区域,对它们的人工视觉进行编程是您的任务。 输入值 输入的字符是一个矩形网格|-#,代表两种栅栏部分和瓦砾,以换行符分隔的字符串形式给出。爆炸造成的伤势严重,有些甚至被高温融化了。我们将候选栅栏定义为开始于此并且结束于它们之间|并且具有一个或多个-s 的水平模式(例如|-|或|---|不是||),或者是开始于并且结束于其之间-具有一个或多个|s 的垂直模式。水平候选栅栏旋转90度)。一个实际的栅栏柱是候选栅栏柱不与另一位候选人栅栏柱共享任何部件。 输出量 您的输出是输入网格中实际栅栏的数量。 例 考虑输入网格 |#|-|#|## #||--|||# ###|#|--# ###-||--| -#-|#-|#- #---#-#-| #-#-|#--| 此网格中有5个候选栅栏,但其中只有2个是实际栅栏(以粗体显示)。因此正确的输出是2。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 其他测试用例 输入: ##-- ||## -#|- |#|# 输出:0(0个候选栅栏) 输入: -##|-##-- #|#-|#||- --|-#|#|| ##||||-## ||#|--|-| -#|-#--|# |####|#-# 输出:0(5个候选栅栏) 输入: #|--|---|-|# ####|##--||- -|-##||#|--- -#|#-|-#-||| #|-##--###|- ---#-||-#-## #|---|###|-# -|---#-#|#|# |#--|####-|- 输出:4(8条候选栅栏) 输入: -|-||---##|# ---|######-# …

7
用户评分的代码高尔夫-拉丝钻石[实验性]
这种挑战的表现或多或少类似于传统的代码高尔夫。唯一的区别在于,用户无需按字符或字节数对答案评分,而是将权重分配给 注释中的不同字符,并且累积权值最低的程序将获胜。 挑战 您的任务是编写一个程序,该程序采用字符串并打印菱形,其中第一个字符从中心开始,随后的字符占据与最后放置的字符集正交的空白空间。空格()将用于填充。 例如输入CAT将产生 T TAT TACAT TAT T 并()会产生 ) )() ) 并 desserts会产生 s sts strts strerts streserts stressserts stressesserts stressedesserts stressed desserts stressedesserts stressesserts stressserts streserts strerts strts sts s 并且9会产生9。 细节 该代码只能包含可打印的ASCII和换行符。(请参阅下面的原因。) 输入/输出应通过stdin / stdout进行,或者,如果不可能,则使用类似的替代方法。 您可以假设输入字符串仅包含可打印的ASCII(包括空格)。 不含有钻石图案的任何部分开头的空格的列不输出允许。允许使用任意数量和组合的尾随空格。 输出中可能会选择性地包含尾随换行符。 您可以根据需要编辑答案。 计分 所有代码必须仅使用换行符和95个可打印的ASCII字符编写: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (不允许使用令人讨厌的选项卡,因为Stack Exchange将它们显示为代码块中的空格。) 这96个字符中的每个字符都有一个与之关联的权重值。默认情况下,所有权重均为97。 …

4
超级广场雨
Scream™冬季特卖活动已经开始,您只是在狂奔极简动作游戏Super Square。玩完游戏后,您会意识到,要么游戏太难了,要么真的很糟糕。特别是,这种“雨”模式似乎每次都会让您受益…… 沮丧的是,您决定给自己一个不同的挑战:用ASCII艺术画雨图! 输入值 输入是一个单个正整数n,表示通过STDIN或函数参数指定的模式大小。 输出量 输出为指定大小的降雨模式,以字符串形式返回或通过STDOUT打印。整个图像之前或之后的前导或尾随空格都可以。此外,图像不必齐平到屏幕左侧,但必须清晰可辨。 这里是n = 10: ................... | ----------------- | | ............... | | | ------------- | | | | ........... | | | | | --------- | | | | | | ....... | | | | | | | ----- | | | | …

1
保持旅行愉快!
挑战 我在Marks and Spencers周围走来走去,发现他们在商店周围随机放置了空调。为了保持凉爽,我想知道在不离开空调装置太长时间的情况下在整个商店中移动的最简单方法是什么。 在给定地图的情况下,您必须找到一种在整个地图上行驶的方法,以保持与空调单元的距离尽可能短(即使AC单元位于墙壁的另一侧)。 地图 该地图可以按照您喜欢的任何方式提供,并使用以下符号: + is a corner of a wall | is a east/west facing wall - is a north/south facing wall X is an air conditioning unit S is the start and end point 映射示例为: +------S---+ | X | | ---+-+ X | | |X| …

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.