Questions tagged «ascii-art»

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

10
猎鹰重型战车
从以下四组中的任何一组中选择一组四个字节而不替换(即,不重复字节),并且不一定按任何特定顺序进行: 任何一个单字节编码的字符 Unicode字符,范围为​​00–FF 有符号十进制整数,范围为−128–127 无符号十进制整数,范围为0–255 您选择的四个值(请说明它们是哪个)将是有效输入。您必须将每个值与以下ASCII图稿之一配对。 给定(通过任何方式)您的四个有效输入之一,以相应的ASCII艺术形式响应(以任何方式,甚至是字符串列表)。只要图像在一个连续的2D区域中,在所有面上都可以有多余的空白。 第一个字节: /\ / \ | | | | | | |____| \__/ | | | | | | | | /\ | | /\ / \| |/ \ | || || | | || || | | || || | | || || …

24
混沌是ASCII阶梯
你一无所知 我为 “ 混沌是梯子 ” 做的事情是电视连续剧 “权力的游戏 ”中令人难忘的台词。 这项挑战的目的是从ASCII艺术的混乱中构建阶梯。 挑战 输入项 梯子宽度W >= 3(整数) 台阶高度H >= 2(整数) 梯级数N >= 2(整数)。 输出量 带有水平横档和垂直横档的梯子,全部为1个字符宽。梯子宽度(W)包括两个轨道,梯级高度(H)包括相应的梯级。 所有梯级,包括最上层和最下层,都将在其H-1正上方和正下方具有一条垂直轨道。该示例将使这一点更加清楚。 梯子将作出的可印刷,非空白ASCII字符,即,从包含的范围!(代码点33)到~(码点126)。实际的字符将被选择随机。给定输入,每个字符的随机选择都必须具有非零概率。除此之外,概率分布是任意的。 允许水平或垂直的前导或尾随空白。 例 给定W=5, H=3, N=2,一种可能的输出如下。 x : g h q$UO{ t T 6 < bUZXP 8 T 5 g 请注意,总高度为H*(N+1)-1,因为有N梯级和N+1垂直截面。 附加规则 输入方式和格式像往常一样灵活。例如,您可以按任何顺序输入三个数字,或包含它们的数组。 输出可以通过STDOUT或函数返回的参数进行。在这种情况下,它可以是带有换行符的字符串,2D字符数组或字符串数​​组。 可以提供程序或功能。 禁止出现标准漏洞。 以字节为单位的最短代码获胜。 …

6
岛屿高尔夫#1:环游世界
这是Island Golf系列挑战中的第一个。下一个挑战 给定ASCII艺术形式的孤岛,请输出对其进行绕行的最佳路径。 输入项 您的输入将是一个由两个字符组成的矩形网格,分别代表土地和水。在下面的示例中,土地是#,水是.,但是您可以替换任意两个不同的字符。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 始终将至少有一个地砖。地砖将是连续的(即只有一个岛)。瓷砖也将是连续的(即没有湖泊)。网格的外边界都是水瓦片。地砖将不会以对角线连接:即,您将永远不会看到类似 .... .#.. ..#. .... 输出量 您的代码必须输出相同的网格,并在其上画出最短的环绕。在下面的示例中,环行路径用绘制o,但是您可以替换任何字符,只要它与您的水陆字符不同即可。 一个环游是一个简单的封闭曲线,完全是靠水的瓷砖画,能够完全包围在网格中的所有土地的瓷砖。对角线的连接被允许的。例如,这是上述岛屿的环游世界(但不是最短的一个): .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o ..oo####..o ....oooooo. 环行的长度计算如下:对于路径上的每对相邻的图块,如果它们是水平或垂直连接的,则加1;否则,为0。如果对角连接,则加√2。以上路径的长度为22 +7√2(≈31.9)。 甲最短环游是用最短的长度的环游。您的程序应输出满足此条件的任何一条路径。对于大多数岛屿,将有多种可能的解决方案。这是上述岛的一种解决方案,长度为10 +13√2(≈28.4): ...oo...... ..o##oo.... .o#####oo.. .o#######o. o#########o .o.#######o ..o#####.#o ...o####.o. ....ooooo.. 细节 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是多行字符串或字符串列表。如果您的语言具有不同于单字符字符串的字符类型,则可以在上一句中用“字符列表”代替“字符串”。如果您的语言需要输入网格的高度和/或宽度,则可以输入。您的输出可能(可选)有一个尾随换行符。如上所述,您可以使用任何三个不同的字符来代替#.o(请在提交中指定要使用的字符)。 测试用例 A.环游时间最短的岛屿: ... …

3
建立美观的除数树
美观的除数树是输入的除数的树n,对于任何合数m,具有的两个孩子的节点对除数是最接近的平方根的m。左节点应为的较小除数,m右节点应为的较大除数m。树中的素数不应有子节点。您的树可能是文字艺术或图像的形式。文字艺术输出的规则如下。 间距规则 为了使树上的节点间隔开,我们有以下规则: 从根到给定深度的节点应全部位于输出中的同一行文本上。 / \不/ \ / \ / 3 2 3 2 对于左节点,如果节点是一个数字,则输入分支应该在右上角,否则在最后一个数字的正上方。例: /与/ 3720 对于右边的节点,如果节点是一位数字,则输入分支应该在左上角,否则在第一位数字的正上方。例: \ AND \ 7243 对于传出的左分支,分支应在数字左侧开始一个空格。例: 275 / 11 对于传出的右分支,分支应在数字右边开始一个空格。例: 275 \ 25 树的同一层上的任何两个节点之间至少应有两个空格。同时,在树的同一层上的任何两个子树之间的空间应尽可能少。 该树不起作用,因为“子树”太近了。 504 / \ / \ / \ / \ 21。24 / \。/ \ / \。/ \ 3 7. …

30
闪烁十二
12:00未设置时间时,许多电子设备(特别是旧的电子设备)将闪烁。挑战的目的是重新创建它。 具体来说,任务是显示12:00并--:--无限循环显示。 的周期应该是1秒,在0.5秒的两个周期均匀地划分。在这里,“ 1秒”和“均匀”可以被宽松地解释。例如,代码在显示字符串之间暂停0.5秒是可以接受的,即使所得到的时间间隔会稍大于1秒。在显示第一个字符串之前的初始暂停是可以接受的。 每一个新的字符串可以通过显示取代原有的字符串或在一个新行。允许尾随空格,除非每个新字符串在不同的行上,否则连续的字符串之间不应有空行。 以字节为单位的最短代码获胜。

19
我的馅饼被平分了吗?
编写一个包含正整数的非空列表的程序或函数。您可能会假设它是以合理方便的格式输入的,例如"1 2 3 4"或[1, 2, 3, 4]。 输入列表中的数字表示完整饼图的切片,其中每个切片的大小与其对应的数字成比例,并且所有切片均按给定的顺序排列在图表周围。 例如,饼图为1 2 3 4: 您的代码必须回答的问题是:饼图是否一分为二?也就是说,从圆的一侧到另一侧是否存在一条完美的直线,将其对称地一分为二? 你需要输出truthy值,如果有至少一个平分线和输出falsy如果有没有价值。 在该1 2 3 4示例中,之间有一个等分线4 1,2 3因此输出将是真实的。 但是对于输入而言1 2 3 4 5,没有平分线,因此输出将是虚假的: 其他例子 以其他方式排列数字可能会消除等分线。 例如2 1 3 4→虚假: 如果输入列表中只有一个数字,则饼图不会一分为二。 例如10→虚假: 可能有多个平分线。只要大于零,输出就是真实的。 例如6 6 12 12 12 11 1 12→真实:(这里有3个等分线) 即使平分在视觉上不明显,也可能存在。 例如1000000 1000001→虚假: 例如1000000 1000001 1→真实: (感谢nces.ed.gov生成饼图。) 测试用例 …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], …

9
沙漏挑战
沙漏 这个沙漏有60个“时间沙”,它完全充满了每个小室。时钟宽19个字符,高13个字符。每个腔室有5排沙子,中间有一行可容纳1块沙子。最上面一行可容纳17个沙子,下一行可容纳15个,依此类推(请参阅下文)。沙子以每秒一沙的速度掉入底部腔室。 START 3 SECONDS LATER 38 SECONDS LATER ███████████████████ ███████████████████ ███████████████████ █.................█ 17 █.............. █ 14 █ █ 0 ██...............██ 15 ██...............██ 15 ██ ██ 0 ███.............███ 13 ███.............███ 13 ███....... ███ 7 █████.........█████ 09 █████.........█████ 09 █████.........█████ 09 ███████.....███████ 05 ███████.....███████ 05 ███████.....███████ 05 █████████.█████████ 01 █████████.█████████ 01 …

30
扩展ASCII Sun
编写一个程序(通过STDIN /命令行)使用一个非负整数N。 当N为0时,您的程序应打印O(大写字母Oh,而不是零)。 当N为1时,您的程序应打印 \|/ -O- /|\ 当N为2时,您的程序应打印 \ | / \|/ --O-- /|\ / | \ 当N为3时,您的程序应打印 \ | / \ | / \|/ ---O--- /|\ / | \ / | \ 对于较大的N,此模式将以完全相同的方式继续。每个“太阳”的八个射线应的适当的N个-,|,/,或\字符。 细节 您可以编写一个带整数的函数来代替程序。该函数应正常打印sun设计或将其作为字符串返回。 你必须 根本没有尾随空格,或者 仅具有足够的尾随空格,因此该模式是一个完美的(2N + 1)*(2N + 1)矩形。 任何N个或所有N个的输出都可以选择包含尾随换行符。 计分 以字节为单位的最短代码获胜。

2
面部识别
此任务的目的是识别,清理和标记任何给定“图像”中的所有面孔。 脸上是什么? 人脸将是ZxZ正方形,其中Z是大于1的奇数整数。左上角和右上角以及中心将是'O'字符,而底线将是一个'\'和一个'/'足够包围'_'字符填充其余行。例子: 3x3的脸: O O O \_/ 5x5的脸: O O O \___/ 7x7的脸: O O O \_____/ 等等 输入项 输入将在STDIN上,并且将由多个等长的字符串组成。 输出量 输出应该是输入,所有可识别的面部都被清除(即,除了眼睛,鼻子和嘴巴以外的所有字符都应从面部的范围内删除)并装箱(由+,-和|字符包围)。当两个或更多的脸重叠时,应将其清除并装箱,但应优先处理较大的脸(应放在最上面);如果两个面孔的大小相同,则优先级由实施者决定。如果输入没有面孔,则输出应与输入相同。 一些例子 输入: ******* ******* **O*O** ***O*** **\_/** ******* ******* 输出: ******* *+---+* *|O O|* *| O |* *|\_/|* *+---+* ******* 输入(不完整的面孔): ******* ******* **O*O** ******* **\_/** ******* …

2
监狱建筑师,ASCII版本
这是使用ASCII字符的监狱图: +------------------------------+ | | | X X | | | | D D | | | | | | X X X | | | +------------------------------+ 墙是由管道字符|,破折号-和+用于拐角和相交的支柱组成的。还有两扇标有的门D(将始终在左右墙壁上)。监狱里充满了带有标记的恐怖人物X。 目标是建造满足以下条件的墙: 每个人都被单独监禁; 两扇门之间有一条走廊。 每个单元仅包含一个直接连接到主要走廊的门。 牢房和走廊占用了监狱中的所有空间。 每个单元格包含一个人(即,没有空单元格)。 走廊是一条路径,不会分支,并且始终是一个字符宽。这是上述监狱的解决方案: +---------+--------------------+ | | | | X | X | | | +--------+ +------D--+-----D-----+ D D +---D--+ …

30
画一个ASCII棋盘!
这对您来说是一个简单的挑战:您必须产生棋盘的ASCII表示形式。白色用大写字母表示,黑色用小写字母表示。空图块用表示.。这是全膳: rnbqkbnr pppppppp ........ ........ ........ ........ PPPPPPPP RNBQKBNR 由于这是一个kolmogorov复杂性问题,因此您可能不接受任何输入,并且必须通过任何默认方法输出此评估板,例如,保存文件,打印到STDOUT或从函数返回。您可以选择产生一个尾随换行符。存在标准漏洞,并且以字节为单位的最短程序! 但是,请记住,这同样是同一种语言的提交之间的竞争。尽管Java之类的语言不可能击败perl之类的语言,或者pyth或cjam之类的高尔夫语言,但Java的最短答案仍然令人印象深刻!为了帮助您跟踪每种语言的最短答案,您可以使用此排行榜,它将按语言和总体显示最短的提交。 排行榜 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中: # [><>](http://esolangs.org/wiki/Fish), 121 bytes 显示代码段 var QUESTION_ID=95745,OVERRIDE_USER=31716;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return …

30
StringgnirtSStringgnirtSStringgnirtS
这对您来说是一个相对简单的挑战。 给定长度为N的字符串,向前输出该字符串,然后向后输出,然后向前,然后向后输出……等等。N次。例如,如果您输入的是 Hello! 您应该输出: Hello!!olleHHello!!olleHHello!!olleH 您也可以选择输出一个尾随换行符。 您的提交可以是完整程序,也可以是函数,并且您可以采用任何合理的格式进行输入和输出。例如,您可以从STDIN / STDOUT中获取IO,从函数中获取参数,并从文件中获取返回值,等等。您可以放心地假设输入字符串将不会为空,并且仅包含可打印的ASCII。您必须在一行上输出新字符串。因此,例如,如果最后一个示例的输出是 Hello! !olleH Hello! !olleH Hello! !olleH 这不是有效的解决方案! 这里是更多测试用例: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: PPCGGCPPPPCGGCPP Input: 42 Output: 4224 排行榜 由于这是一个代码高尔夫挑战,因此禁止了标准漏洞,以字节为单位的最短答案胜出!但是,这也是在任何特定语言中答案最短的竞赛。尽管Java答案不太可能会击败perl或某些打高尔夫球语言的答案,但拥有最短的Java答案仍然令人印象深刻。因此,您可以使用此页首横幅查看 所有语言中最短的答案,以及 每种语言的最短答案。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

18
酒店房间编号
给定以ASCII艺术形式输入的“旅馆”并标有单个房间,请根据某些规则输出房间号。 这是ASCII酒店的示例: ## ## ##### ## ##### ###### ## ##### ###### ## ##### ###### ## 以下是有关ASCII酒店的更多信息: 每个“建筑物”都由一个矩形的#字符#表示,其中每个字符 代表一个“房间”。 以上酒店由三栋建筑组成。每个建筑物都由两列空格隔开,最低的“楼层”将始终位于最后一行。 每个建筑物在每个楼层上始终具有1-9个“地板”(行)和1-9个“房间”的任何位置。也将永远有1-9座建筑物。 客房编号如下:[building #][floor #][room on floor #]。例如,让我们在上图中标记一些房间: ## ## ##### ## ##### ####$# ## ##%## ###### ## ##### ###### #@ 标有的%房间是123房间(1、2楼,3楼的房间)。同样,标有的房间$是房间235,@是的房间312。 建筑物,楼层和“第n个房间在楼层”始终为1索引。 输入将包括一个ASCII酒店,其中一个房间由星号(*)代替。这是您必须为其输出房间号的房间。输入必须作为单个字符串,但是您可以使用逗号作为换行符,而不是换行符(以防您选择的语言不能采用多行输入,或者采用单行输入时较短)。您可以选择要求以逗号/换行符结尾。您也可以用尾随空格填充线条,以使输入成为完整的矩形。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例(包含在单个代码块中,以节省垂直空间): Input: * Output: 111 Input: # …

2
牛头怪的家装
牛头怪的家装 克里特岛迷宫很容易绘制。只需从对称形状开始(此处为红色)。让我们将这些行的所有端点称为“节点”。然后开始绘制拱形(黑色):第一个总是从顶部中间节点开始,并连接到右侧它旁边的节点,然后连接最接近前一个拱形的两个节点。重复此过程,直到所有节点都被覆盖。 现在,我们可以概括这个概念:通过添加更多L形状,我们可以轻松生成新的初始图案。我列举了以下初始形状: 最左侧的图案将产生克里特岛的迷宫度0。下一个将创建1级的克里特岛迷宫(原始的)。 任务 给定一个非负整数n,您的程序应输出克里特式迷宫度的ascii表示,n如以下示例所示。尾随空格/换行符无关紧要。您必须简短说明代码的工作方式。 例子 原始克里特岛拉比利斯(1度)的输出如下: +-----------------------------+ | +-------------------------+ | | | +---------------------+ | | | | | +-----------------+ | | | | | | | +-------------+ | | | | | | | | | +---------+ | | | | | | | | | | | …

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.