Questions tagged «ascii-art»

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

2
苹果掉下来了
介绍 x轴上的苹果树干位于-2到2之间,一些苹果掉落在它周围: | | | | <-------|---|-------> -2 2 每天,有n个苹果掉下来。每个苹果都保持其x坐标,直落在地。 但是,如果它落在另一个苹果的顶部,它将按照以下规则滚动,直到到达地面或苹果的支撑层: 如果当前高度的x + 1处的空间为空,则当前的苹果会去那里。 否则,如果x-1处的空间为空,则当前的苹果进入该位置。 否则,当前苹果将停留在该其他苹果之上。 挑战 输入将按顺序是每个苹果的n个起始位置。您可以将其视为数组或分隔数字,也可以采用其他任何有效方式,只需确保在答案中对其进行了解释即可。 输出应该是树干和周围苹果的ASCII绘图。您不需要在最左边的苹果的左侧和最右边的苹果的右侧绘制x轴,但是您确实需要在某些苹果下方的任何位置绘制x轴。您还可以将树扩展到最高苹果上方。 您可以假设所有x坐标都在-100和100之间,但不在-2和2之间。 这是代码高尔夫球 ..以字节为单位的最短答案胜出! 例子 输入: [-3, 5, 5, -4, -4, 5, -3] 输出: a| | aaa| | aaa ---|---|---- 输入: [3, 3, 3, 3, 8, 9] 输出: | |a | |aaa …

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

6
将2d数组显示为ASCII表
任务是显示给定数组的ascii表。 输入值 输入是2D矩阵。矩阵的行长与数组的长度相同。另外,您也可以输入2D矩阵,第一行是标题。外部尺寸是该行。 输入示例: [["License","2008-05-08","2009-03-11","2011-11-22","2013-08-12","2015-11-19"],["GPLv2","58.69%","52.2%","42.5%","33%","23%"],["GPLv3","1.64%","4.15%","6.5%","12%","9%"],["LGPL 2.1","11.39%","9.84%","?","6%","5%"],["LGPL 3.0","? (<0.64%)","0.37%","?","3%","2%"],["GPL family together","71.72% (+ <0.64%)","66.56%","?","54%","39%"]] 输出量 表的输出如下所示。 +---------------------+-------------------+------------+------------+------------+------------+ | License | 2008-05-08 | 2009-03-11 | 2011-11-22 | 2013-08-12 | 2015-11-19 | +---------------------+-------------------+------------+------------+------------+------------+ | GPLv2 | 58.69% | 52.2% | 42.5% | 33% | 23% | | GPLv3 | 1.64% | 4.15% | 6.5% …

3
迷宫产生一个内胆
著名的C64基本型内胆 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 打印斜杠和反斜杠的迷宫。 \\/\\\//\/\////\\/\/ \/\///\\///////\//\/ /\\\//\//\////\\//\\ \////\//\//\/\\\\\\/ /\/\\///\\\\/\\\\/\\ \/\//\\\\\\//\/\//// /\//\\///\/\///\//// \/\\\//\\/\\\//\\/\/ //////\\/\\/\/\/\/// \\/\/\\////\/\/\\/\/ 从stdin读取由对角线墙组成的迷宫,并打印出水平和垂直的迷宫,其中水平和垂直墙由墙字符“#”组成 例如小迷宫 /\\ \\/ /// 转换为 ##### # # # # # # # # # # ##### # # # # # ######### ##### 确切地说,每个隔离的墙段的长度为五个字符,相邻的墙段共享一个角。在斜杠和反斜杠的矩阵中向右/左/上/下移动一个字符,对应于#矩阵中垂直两个字符和水平两个字符的对角线平移。

2
装满水气球
在此挑战中,您必须显示给水气球所填充的水量的ASCII艺术形式: | __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+ 如何画气球 要显示大小气球n,请按照以下步骤操作(注意:每当使用除法符号(/)时,它将表示整数除法,向下取整): 绘制一个容器,该容器包含左右十个竖线(|),-底部十个破折号()和+左下角和右下角的加号()。这使整个事情变成12x11,“内部”变成10x10。 | | | | | | | | | | | | | | | …

2
将RoboCritters转换为Brainf ***
RoboCritters(词源学)是一种崭新的深奥编程语言(不必费心去寻找它,我只是发明了它)。它是是Brainfuck(BF)变体,比通常的运算符替换方案稍微复杂一些。RoboCritters中的每个程序都是一个矩形的文本网格,该文本网格仅包含七个字符. []/\|以及用于换行的换行符。 示例RoboCritters程序: |\/||./|[]|| [..][][] | |/\|[..][..] [..] \/\/ 要将RoboCritters程序转换为BF,请按正常阅读顺序(从左到右,然后从上到下)查看网格中的每个非换行符|\/||./|[]||[..][][] ||/\|[..][..][..] \/\/。 如果从当前角色向右和向下延伸的网格的4×2部分与下面列出的八个机器人生物之一完全匹配,请附加相应的BF命令(><+-.,[])到(最初为空)BF程序。 如果4×2网格部分与任何机器人生物都不匹配或超出范围,则不向BF程序添加任何内容。 Joybot,>命令: [..] \][/ Calmbot,<命令: [..] /][\ Squidbot,+命令: [..] //\\ Spiderbot, -命令: [..] |||| Bunnybot,.命令: [][] [..] Toothbot,,命令: [..] |/\| Foxbot,[命令: |\/| [..] Batbot,]命令: [..] \/\/ 因此,请阅读示例程序 |\/||./|[]|| [..][][] | |/\|[..][..] [..] \/\/ 我们可以看到我们首先遇到了Foxbot(在第1列第1行),然后是Toothbot(c1,r2),然后是Bunnybot(c5,r2),最后是Batbot(c9,r3)。这对应于BF程序[,.]。 请注意Foxbot和Toothbot重叠。这是故意的;重叠的机器人生物没有任何不同的解释。 挑战 编写最短的程序,该程序可以接收RoboCritters程序并输出等效的BF。您无需运行BF或检查其是否有效,只需将RoboCritters代码转换为BF代码即可。 …

4
ASCII冰淇淋
编写一个程序或函数,该程序或函数采用正整数N,并打印或返回N×N ASCII艺术字串,其上半部分是由组成的半圆(,下半部分是由组成的下指三角形V,并且用作填充的空格。 换句话说,制作一个ASCII冰淇淋蛋筒:(N = 17的输出) ((((( ((((((((( ((((((((((((( ((((((((((((( ((((((((((((((( ((((((((((((((( ((((((((((((((((( ((((((((((((((((( VVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVV VVVVVVVVVVVVV VVVVVVVVVVV VVVVVVVVV VVVVVVV VVVVV VVV V 例子 这是N = 1至5的输出。请注意,对于奇数N,三角形始终必须是较大的一半。 V (( VV ((( VVV V (( (((( VVVV VV ((( ((((( VVVVV VVV V 这是N = 101 pastebin。 这是一个非公开的Python 3参考实现: N = int(input()) …

6
绘制同心ASCII六边形
编写尽可能短的程序,该程序采用一组不同的正整数,并输出由斜线,下划线,空格和换行符组成的具有那些边长的同心六边形的ASCII渲染。 以https://mothereff.in/byte-counter计数的最短程序(以字节为单位)获胜。 例子 (它们看起来更好,行距更少。) 如果输入为1输出,则应为边长为1的六边形: __ / \ \__/ 请注意,六边形的顶部和底部使用两个下划线,因此比例更好。 通常,大小为N的六边形在每个倾斜的侧面上包含N个斜杠,并且在顶部和底部上均包含2 * N下划线。 如果输入为1 2输出,则应为边长为1和2的同心六边形: ____ / __ \ / / \ \ \ \__/ / \____/ 如果输入是1 3输出,则应为: ______ / \ / __ \ / / \ \ \ \__/ / \ / \______/ 如果输入是1 3 2输出,则应为: ______ / …

5
ASCII架构师
您不想为昂贵的体系结构程序花钱,因此决定自己动手做。您决定使用ASCII设计建筑物。您的程序将采用以特定方式设置格式的单个字符串,并且程序将输出建筑物。 输入值 输入由单行字符组成。可以假定它仅包含字母a-j,数字1-9,符号-和+。 输出说明 对于每个字母a-j,程序将输出一条垂直线,如下所示。我们将其称为一列。 . .. ... **** ***** ****** ------- -------- +++++++++ ++++++++++ abcdefghij 例如,输入abcdefgfedefghgfedc将输出: . * *** *** ***** ***** ******* --------------- ----------------- ++++++++++++++++++ +++++++++++++++++++ 字母可以以正整数为前缀n,这将n在列下方添加空格字符。我们将其称为偏移量。例如,使用S注解空格,输入3b2b3b将输出: + + +++ S+S SSS SSS 字母也可以加上负整数作为前缀-m,这将删除列的底部m 非空白字符(不将其替换为空白,而是将其完全删除)。我们称其为片。例如,输入-1j-2j-3j-4j-5j-6j-7j-8j将输出: . .. ... *... **... ***... -***... --***... +--***.. 可以将偏移量和切片应用于同一行,但是偏移量必须先行。换句话说,字母可以以开头n-m,其中n偏移量m的大小是切片的大小。例如,使用S注解空格,输入“ 2-4j”将输出: . . …

5
动画一个旋转的利萨如雕像
此项挑战的参赛作品将显示一个动画的旋转的利萨如(Lissajous)人物。3d旋转的出现是因为x参数在每帧中都相移。 输入: 的a和b参数(按照维基百科文章)将在命令行中指定,或者从stdin读取。 输出: 这是ascii-art,因此输出将显示在终端仿真器窗口或等效窗口中。输出大小可能是硬编码的,但是Lissajous图形必须至少足够大以填充80x24窗口。 动画帧速率约为50fps。只要计算每帧的时间比固定的睡眠时间短,每帧之间的睡眠时间为20ms就可以了。如果您选择的语言在您选择的平台上无法足够快速地进行计算,那么您将必须动态计算睡眠时间。 在该帧的所有计算完成之前,不会显示每个帧。无需清除每帧之间的屏幕。 该图2*Pi大约每4秒钟旋转一次。 对于每一帧,必须生成完全闭合的曲线。沿曲线至少必须计算1000个点。不需要在点之间画线。 曲线的点将作为#字符绘制。其余显示区域将为空白/空白。 这是代码高尔夫球,因此,最短答案(以字节为单位)(我认为可以接受)将是在此帖子发布一周后被接受的获胜者。 没有参考的答案。

5
识别ASCII艺术编号
挑战 识别ASCII艺术编号。为了使事情变得有趣,可能会翻转图像中的三个随机点。例如: ***** * ** ** ** ** ** 输入值 以下Python脚本生成的7x7 ASCII艺术编号。 输出量 一个数字。 测试脚本 这是生成测试用例的Python脚本(2.6+): import random digits = '''\ *** ** ** ** ** ** ** ** ** ** ** *** * *** * * * * ***** *** * ** * ** ** ** ****** *** * …

10
埃及金字塔
埃及最大的金字塔吉萨大金字塔,不仅是古代世界七大奇迹中最古老的金字塔,而且还是唯一保持完整的金字塔。埃及金字塔的建造可能需要长达20年的时间,而且规模如此之大,以至于萨拉丁的儿子阿齐兹·乌斯曼(Al-Aziz Uthman)粉碎了十字军,不得不放弃拆除吉萨大金字塔的原因,因为这被认为是一项艰巨的任务。埃及金字塔大多是在旧王国和中王国时期(公元前2686年至1690年)为该国的法老王及其配偶建造的墓而建,截至2008年,已发现138座埃及金字塔。 任务是创建一个程序,该程序输入由空格分隔的一系列距离,并生成由这些距离分隔的10×10文本金字塔。距离1等于两个字符。 文字金字塔如下所示: /\ /--\ /----\ /------\ /--------\ /----------\ /------------\ /--------------\ /----------------\ /------------------\ 如果输入仅包含一个换行符,则将生成一个金字塔,如上所述。对于每个金字塔,左侧的金字塔都显示在前面。 例一 输入: 4 3 1 输出: /\ /\ /\/\ /--\ /--\ /--\-\ /----\ /----\/----\-\ /------\/------\-----\-\ /--------\-------\-----\-\ /----------\-------\-----\-\ /------------\-------\-----\-\ /--------------\-------\-----\-\ /----------------\-------\-----\-\ /------------------\-------\-----\-\ 例二 输入: 0 9 输出: /\ /\ /--\ /--\ /----\ /----\ /------\ /------\ /--------\ …

5
二进制卷积
二进制卷积由数字描述M,并应用于数字N。对于的二进制表示形式中的每个位M,如果将该位设置为(1),则通过将与相应位中的相应位相邻的两个位进行XOR N(在必要时进行环绕)来给出输出中的相应位。如果未设置该位(0),则输出中的相应位由中的相应位给出N。 一个有效的示例(具有8位值): 让N = 150,M = 59。它们的二进制表示形式分别为10010110和00111011。 根据M的二进制表示形式,卷积0、1、3、4和5。 位0的结果由对位1和7进行XOR运算得出(因为我们进行了环绕),得出1。 位1的结果由位0和2的XOR运算得出0。 位2的结果由原始位2给出,即1。 第3位的结果由第2位和第4位的XOR运算得出0。 位4的结果由位3和5的XOR运算得出0。 第5位的结果由第4位和第6位的XOR运算得出1。 位6和7的结果由原始位6和7给出,得出0和1。 因此,输出为10100110(166)。 挑战 给定N和M,输出执行Mon上描述的二进制卷积的结果N。输入和输出可以采用任何方便,一致且明确的格式。N并且M将始终在(包括)范围内[0, 255](8位无符号整数),并且应将其二进制表示形式填充为8位以执行二进制卷积。 测试用例 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

7
磁铁周围的铁颗粒
板上有一些铁颗粒。我们将载流导线穿过该板,并且粒子形成圆圈。如果输入的是导线的位置,则显示这些圆圈。 认为该板是7x7尺寸的网格(固定) 不允许有多余的空格。 输入可以是0索引或1索引。(在示例中为0索引) 例子 input:3,3 # 'X' is wire here but can be shown by anything other than '\/|-' output: /-----\ |/---\| ||/-\|| |||X||| ||\-/|| |\---/| \-----/ input:1,2 output: |/-\||| ||X|||| |\-/||| \---/|| -----/| ------/ ------- input:0,0 output: X|||||| -/||||| --/|||| ---/||| ----/|| -----/| ------/ input:0,3 output: |||X||| ||\-/|| …

6
加满水桶
您的任务是在存储桶中填充最多一个给定输入的数字。 规则 数字占据最左侧的位置,然后是最右侧,然后是最左侧,依此类推。 溢出后,数字开始以类似的方式聚集在存储桶周围。他们对角地占据位置。 这些示例应清楚说明预期的输出是什么(示例中提到了一些规则)。 如果超过10,请使用最右边的数字 例子: The bucket: | | or | | | | | | | | | | | | | | |------| |______| input:1 (You can start from either 0 or 1) output: | | (There can be whitespace to the left even if there …

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.