Questions tagged «ascii-art»

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

6
打印一个唱歌的天使
保持节日主题不变,以尽可能短的代码打印颂歌天使。天使为无家可归的人筹集资金,因此必须能够按要求演唱以下所有三首歌。为了说明她可以唱歌,歌曲的标题必须放在气泡中。该歌曲标题将由用户输入。示例包括: 圣母玛丽 铃儿响叮当 平安夜 输入: 标题:3首歌曲中的1首。 输出: ____________ (\ ___ /) / \ ( \ (‘o‘) / ) / \ ( ) < ( ‘> <’ ) \ / / \ \____________/ / \ ‘ – “ - ‘ 请粘贴您演唱天使的结果以及歌曲“ Silent Night”。 语音气泡规则: 对话气泡必须始终具有12个下划线行的框架。 歌曲的标题必须始终从第二行开始。 歌曲的标题必须始终在气泡内的3个下划线空格开头。 123456789... (\ ___ /) …

7
随机填写表格
给定正整数n < 10,创建一个二维矩阵,其中每个位置均以x和填充y(从左上角开始)。 例如: 输入2 00 10 10 11 输入3 00 10 20 01 11 21 02 12 22 创建网格后,随机填充每个索引。可以用“ x”或任何其他方式表示已填充斑点。 您可以通过随机生成索引来填充矩阵来确定要填充的位置。您只能填充n ^ 2次,因此在矩阵完全填充之前,您无法填充任意次数。最后,必须填充矩阵,因此您必须做一些工作以确保检查用于填充的随机数,以确保该点尚未填充。 每次填充后刷新或打印,以显示填充迭代的进度。 填充示例: 输入2 00 10 01 11 00 是随机选择的: XX 10 01 11 01 是随机选择的: XX 10 XX 11 00是随机选择的,但由于已被选择,因此重新滚动选择10: XX XX XX 11 11 是随机选择的: …

10
打印此井字游戏板!
这是一个井字游戏板: a b c | | 1 - | - | - _____|_____|_____ | | 2 - | - | - _____|_____|_____ | | 3 - | - | - | | 给定一组动作,在印有令牌的板上打印。 输入将以空格分隔的移动形式输入,每个移动为: 首先,将要使用的令牌 接下来,它要继续前进的列的字母 最后,它正在前进的行号 请注意,通常的井字游戏规则并不重要。 另外,也不需要打印字母和数字。 例如,输入Ob2 Xc2 Ob3 Xa1将导致 | | X | - | - …

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 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 

2
目录结构图形树化
转换经典的目录结构,如下所示: config.yml drafts begin-with-the-crazy-ideas.textile on-simplicity-in-technology.markdown includes footer.html header.html 入这个 . ├── config.yml ├── drafts | ├── begin-with-the-crazy-ideas.textile | └── on-simplicity-in-technology.markdown └── includes ├── footer.html └── header.html 四个空格指定上述目录的嵌套文件夹或文件。 允许的嵌套类别级别可以有所不同。 更新资料 文件名:有效的Linux的文件名不带空格和换行:任何字节除NUL,/并且spaces,linefeeds 绘图字符: | 垂直线(U + 007C) ─箱型图水平灯(U + 2500) ├箱体图垂直和右侧(U + 251C) 优胜者:以字节为单位的最短代码获胜!

2
这是Bub。并非世界一流的足球运动员
这是巴布。Bub是一位足球运动员。但是,他不是一个好人。他仍然无法将球踢入网中!(如果您没有注意到,那@就是球。 _____ | \ O | \ \|/ | \ | | net \ / ─ @ |_________\ 为了帮助他提高技能,他开发了一个系统来评估他踢球时的表现。他称其为“ 10分制”。 但是,他不知道要达到x分数需要做什么。您需要帮助他可视化球的位置,以便他可以设定他想要获得多少分的期望。他每回合可以取得10分。 因此,这是您的挑战。 给定数字x,Bub得到的点数输出球在场上的位置。以下是一些有用的标记: Bub距网路正好50个空格。 对于Bub到达的每个点,球都会向网移动5个距离。因此,如果巴布得到3分,则球距网35球。 Bub每获得3分,球就开始向空中移动!它向上移动了一个空间。 如果Bub获得的点数会将球移动到球网后面,则可以将球放在球网内的任何位置。 请记住,您需要绘制Bub,球和球网。 为了帮助您入门,请参考以下示例: 点数:5 _____ | \ O | \ \|/ | \ | @ | \ / ─ |_________\ 适用标准规则。字节数最少的代码胜出!打高尔夫球快乐!

4
可视化教堂数字
背景 可视化λ微积分项 著名的lambda-juggler(和代码高尔夫球手)John Tromp设计了一个有趣的可视化 λ微积分项。用他的话说: 抽象(lambda)由水平线表示,变量由从其绑定lambda向下发出的垂直线表示,应用程序由连接最左侧变量的水平链接表示。 例如,λ项λf.λx.f(f(f(fx)))对应于可视化: ------------------- | | | | ------------------- | | | | | | | | |---- | | |---- | |---- |---- | 从上到下阅读: 第一水平线代表第一λ。 从它开始的四行代表体内的f s。 类似地,第二条水平线代表第二条λ,从其下降的一条新线代表体内的x。 最右边的f线和x线由代表应用程序(f x)的水平线连接。 下一个应用是[f(f x))等。 教堂数字 在Church数是在λ演算项的特定序列,考虑以下图案: 0 = λf. λx. x 1 = λf. λx. f …

21
将Forsyth-Edwards表示法字符串转换为ASCII美工
在国际象棋中,通常被称为“ FEN”的福赛斯·爱德华兹符号是一种抄写木板的文字方式。它从怀特的角度从上到下描述了董事会八行中的每一行(在国际象棋中称为“等级”)。这些片段被写为K(国王),Q(女王),R(流氓),B(主教),N(骑士)和P(典当)。黑色小写使用这些字母,白色小写使用这些字母。空格由1到8的数字表示,表示有多少个连续的空格。一个完全为空的等级将是8,最右边一列(在国际象棋中称为“文件”)将是一个黑色的白嘴鸦,7r一行的每一端将是两个白棋子。通常还会添加其他信息,指示要移动哪一侧,PP4PP。等级之间用a分隔/顺便权利,移动号码,halfmove时钟,但我们会忽略他们的这一挑战的目的。 输入项 根据需要,从命令行或STDIN发送FEN字符串。您可以假定此字符串始终有效。 输出量 将实际出现的板子的简单ASCII艺术表现形式写入STDOUT: 作品以他们在FEN中的角色来表示 空方格用空格表示 碎片和正方形由管道分开,|并且板的每一侧都有管道 因此,用8/8/8/8/8/8/8/8FEN 编写的空板将显示为 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | …

1
行军广场查询
Marching Squares是计算机图形学中的一种算法,用于从样本网格中恢复2D等值线(有关3D设置,另请参见其兄长Marching Cubes)。想法是独立处理网格的每个像元,并根据其角处的值确定通过该像元的轮廓。 此过程的第一步是根据拐角是在轮廓值上方还是下方,确定轮廓连接哪些边缘。为简单起见,我们只考虑沿value的轮廓0,这样我们对拐角是正还是负感兴趣。有一些情况可以区分:24 = 16 图片来源:Wikipedia 白色和黑色的识别在这里并不重要,但是为了明确起见,请说白色为正,黑色为负。我们将忽略其中一个角正好是1的情况0。 鞍点(案例5和案例10)提供了一些额外的困难:仅通过查看拐角并不清楚应该使用哪些对角线。这可以通过找到四个角的平均值(即中心值的近似值)并选择对角线以使轮廓将中心与带有相反符号的角分开来解决。如果平均值恰好是0,则可以选择任何一种情况。 通常,这16种情况仅存储在查找表中。这对于提高效率非常有用,但是当然,我们希望此处的代码简短。因此,您的任务是执行此查找步骤,并以尽可能少的代码打印出外壳的ASCII表示形式。 挑战 您将以选择的固定顺序获得四个角(非零整数)的值。然后,您应该生成轮廓的正确布局,以正确解决鞍点情况。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输入可以采用任何方便的字符串或列表格式。 这16种情况将使用以下5x5块之一以ASCII艺术形式表示: o---o o---o o---o | | | | | | | | | |---| | | | | | | | | | | o---o o---o o---o o---o o---o o---o o---o |/ | | \| | …

8
你今天有心情吗?
Debian Linux发行版(以及基于Debian的发行版,如Ubuntu,Kali和其他发行版)使用称为APT的软件包管理器。要安装程序,foo您需要在终端中输入 sudo apt-get install foo 以下是APT的一个小复活节彩蛋: apt-get moo 键入后将产生以下输出 (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... 您必须编写一个程序,以尽可能少的字节产生此EXACT输出。(包括尾随空格和换行符) 这是与输出相同的输出,\n以表示换行符,并以a *表示尾随空格 (__)*\n (oo)*\n /------\/*\n / | ||***\n * /\---/\*\n ~~ ~~***\n ..."Have you mooed today?"...\n 根据注释中的要求,这是mooing的md5sum。 35aa920972944a9cc26899ba50024115 -

2
ASCII艺术方形仿射形
编写可以创建仿射形的最小程序。您可以使用任何会产生与以下规则相同的结果的方法。您不必使用建议方法中的任何想法! 您的程序将有两个输入,第一个输入以074从0到7的三位数组成的格式定义模式。第二个输入将定义大小,3将为8x8,4将为16x16,依此类推(2 ^ n)。您的程序必须为从0(1x1)到至少5(32x32)的所有大小输出正确的结果。如果它为更高的数字生成任何输出,则它必须是正确的,即,它必须在达到一定大小之前生成正确的输出,但是如果出现错误,则不会生成超出该大小的输出。您可能会假定最大大小为15(32768x32768),因为对于ASCII艺术作品(1GB)而言,这已经是疯狂的大小! 8x8模式将如下所示(规则160)。最左边的数字代表Block A,中间的数字代表Block (请不要粗鲁!),B最右边的数字代表Block C。要构建分形,请将其在两个维度上缩小一半,然后对块应用旋转/镜像规则。要缩小图案,请将其均匀分成2x2区域。每个区域中将只有3个可见字符或无。如果有可见的字符,则在较小的块中的适当位置放置一个字符,否则放置一个空格。规则0- 3未镜像,规则4- 7已镜像。规则0和4不旋转,1并且5顺时针旋转90度,2并且6旋转180度,3然后7顺时针旋转270度。按所示顺序将三个块缝在一起,分别A在左上角,B左下角和C右下角。 AAA AA A AA A BBB CC B BBC BBCCC B CCC 按规则编号缩小,旋转和镜像: 0 1 2 3 4 5 6 7 ---- ---- ---- ---- ---- ---- ---- ---- AA BAA CCB C C BCC AAB AA A BB A …

4
将数字分解为数字位数
Repdigits的形式是数a * (10^n - 1)/9与 a in [-9,9]\{0}(换言之111,-3333,66,这是通过重复只有一个数字由数字) 目标:编写一个使用单个正整数N并打印的程序或函数N = s_1 + s_2 + ... + s_k。每行应该有一个数字,并且这些数字需要右对齐。没有两个求和数应具有相同的位数,并且不允许加零。输出应按升序或降序排序(按位数) 例子: in: 24192 out: 24192 = 22222 + 2222 - 222 - 33 + 3 in: 24192 out: -7 -22 +888 +1111 +22222 =24192 in: 113 out: 113= NOT 111+ no empty lines …

1
绘制Google搜索结果图
当您在Google上搜索内容时,它会在页面顶部附近方便地显示一条消息,例如About 53,000,000 results (0.22 seconds)。(数字随搜索内容而变化。) 在此挑战中,您将编写一个程序,当搜索给定搜索词组的所有非空前缀时,绘制一个对数 ASCII图,显示Google提供的结果数。 甲搜索短语被定义为小写字母数字字符的一个或多个字符串,从彼此用一个空格分开。在Regex中,搜索词组是(?:[a-z0-9]+ )*[a-z0-9]+。 所以im ok,r和1a 2全搜索短语,但是I'm OK,R,1a 2,和,都没有。 (由于Google很少考虑大小写或特殊符号,因此存在字符限制。在URL中转义非字母数字字符也很麻烦。) 规格 您的程序必须从stdin或命令行中输入一个搜索短语和一个正浮点数H。(您可以假设它们是有效的,如果您在搜索词中需要引号或其他内容,也可以。) 作为一个工作示例,我们假设搜索短语为,a car并且H = 0.75。 第1步: 收集搜索短语的非空前缀,并将其放在双引号中。引号确保将搜索确切的短语,避免任何“您的意思是……”重定向。 排除所有以a[space]。结尾的前缀。 Prefixes "a" "a c" "a ca" "a car" 第2步: 使用https://www.google.com完全搜索每个术语,并记下返回的结果数。 Search Term Message Results "a" About 6,950,000,000 results (0.27 seconds) 6950000000 "a c" About 861,000,000 results …

3
计数杆;数你的杆
一些背景 计数棒是小棒(3-14厘米长),许多亚洲文化的数学家使用该棒已有2000多年的历史了,它代表任何整数或分数。(尽管在本次挑战中,我们将重点放在无符号整数上)还有一个书面版本,称为标杆数字。 运作方式如下: (如果您在任何时候感到困惑,请查看每个数字的ascii表示形式以及我在底部提供的一些示例) 杆号是一个真实的位置数字系统,数字为1-9,空格为0。行数越多,数字越高。一旦超过5,则在顶部放置一条水平线,以将5加到下面的行数中。一条垂直线是1,两条垂直线2,五条垂直线是5,一条垂直线的顶部有一条水平线是6,四条垂直线的顶部有一条水平线是9(最高位数)。 垂直三位数: ||| ||| ||| ||| ||| 为了使读杆数字更容易,他们为每个交替的数字使用了不同的符号。第二种表示法互换了水平线和垂直线的作用。因此3用三条水平线表示,8用三条水平线表示,顶部有一条垂直线。 水平8位数字: | | __|__ _____ _____ 如前所述,知道使用哪种表示法很容易,这是交替使用的,孙子写道“一个是垂直的,十个是水平的”。所以最右边的数字是垂直的,我们从那里开始交替。 挑战 这些标尺用于表示负数和分数(如关于它们的Wikipedia文章中所述。出于此挑战的目的,我们仅关注正整数。目标很简单: 编写一个函数或完整程序,该函数或完整程序以任何方式将整数值作为输入,并将该整数的标尺数字表示形式打印到STDOUT(如果效果更好,也可以写入文件)。以字节为单位的最短代码获胜。 每个数字将由5x5的ASCII字符表示,并由5个空格的两个列分隔。您将使用的每个数字的确切表示形式如下: space between two digits (two colums): 0 digit, both vertical and horizontal (five columns): 1 digit, vertical: | | | | | 2 digit, vertical: | | …

3
ASCII艺术代码生成器
我有一个生成格式化的Brainfuck代码的程序。我运行我的程序 ./example "S" 和输出是 +[>+ < +++ ] >--. 在Brainfuck中打印S。 您的目标是编写一个程序,该程序接受字符串作为输入,并以另一种语言输出输出该字符串的源代码。 程序输出的源代码必须经过格式化,使其以ASCII艺术形式表示字符串(水平打印,而不是垂直打印)。 源代码不能包含字符串(但是,它可能包含字符串中出现的字母,只是不顺序出现) 除此以外, 有标准漏洞。 最短的代码胜出。 请使用所使用的语言,输出的语言以及总大小(以字节为单位)为提交的标题命名。输入字符串UNCOPYRIGHTABLE时,请包括程序的输出。 谢谢!

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.