Questions tagged «ascii-art»

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

14
用零填充文件
今天的任务是获取一个现有文件,并将零添加到该文件,直到达到一定大小为止。 您必须编写一个程序或函数,该程序或函数采用当前目录中文件的名称f和字节数b。在保留的原始内容的同时f,您必须在末尾写入零(空字节,而不是ascii 0),以便其新大小为b字节。 您可以假设名称中f仅包含字母数字的ascii,您对此具有完全权限,其初始大小不大于b,但可能与一样大b,并且有无限的可用磁盘空间。 您可能不会假设f它是非空的,或者它不已经包含空字节。 执行结束后,不应修改其他现有文件,也不应该存在新文件。 测试用例 f的内容| b | f的结果内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

3
这是我的咬人吗?
昨天,我把三明治放在桌子上了。今天我起床的时候,里面有一口……是我的吗?我不记得了 问题: 代表三明治和我的咬咬图案,并告诉我是否咬咬。 例子: 范例1: 我的咬模式: .. . 三明治: ##### .#### ..### 输出: truthy 范例2: 我的咬模式: .. .. 三明治: ...## ..### .#### 输出: falsy 范例3: 如果至少有1个旋转视为真实,则输出为真实。 我的咬模式: . . . 三明治: ##. #.# .## 输出: 两次可能的旋转(在东北或西南角咬)。 truthy 一些有效的叮咬: .. . ... . . . . . .. . . .. …

2
告诉我,那里有几个正方形?
给定一个由0和组成的非空2D数组1,求4个角均为all的正方形的数量1。正方形不必是“直立的”。所有行都保证具有相同的长度。 允许使用合理的输入/输出方法。 测试用例: 0001000 1000000 0000000 0000100 0100000 这返回1。 10101 00000 10100 00000 10001 这返回2。 1111 1111 1111 1111 这返回20。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

5
崩溃的艺术
挑战 给定一个可打印的ascii字符的矩形网格作为字符串或通过标准输入,编写一个将非空格字符折叠为底部的函数或程序。 规则: 输出具有与输入相同的尺寸和字符。 在非空格字符(row a,column b)不能有空格字符' '的(a-1, b),(a-1,b-1)或者(a-1,b+1),当行从最底层向上编号。结果是所有垂直桩都应向侧面倒塌。 非空格字符可以在大多数(initial height - final height)位置向左或向右移动(见图1)。 您可以假定图片有足够的空间折叠而字符不会掉出屏幕。 图1:分别@#$显示为的字符的最终位置x,y,z。 .............. ...@.......... ..xxx......... .xxxxx...#.... xxxxxxx.yyy.$. 字符折叠的顺序可以自由选择。尾随空格不行,但尾随换行符是可以的。 这是代码高尔夫球,因此最短答案以字节为单位! 例 (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... 一种可能的输出: --(_ /----|/|(o_) /|/~\---~\\/o) ..."Have*you~mooed~today?"...

1
随机南瓜补丁
前几天,我正走过南瓜地参加生日聚会,注意到南瓜藤蔓上有一个漂亮的图案,有漩涡,毛圈和分支。我们将在这里使用一些ASCII艺术进行模拟。 (()) \ p--q p-----q / \ / \ (()) b--d (()) 葡萄藤构造规则 只有一个主蔓,仅由\ / - p q b d字符组成。 藤蔓仅从左到右穿过屏幕。换句话说,假设您是从最左边藤蔓字符开始的蚂蚁。在前进到主葡萄树上的下一个相邻角色时,必须向右移动一列-绝不能向左移动。 当藤蔓改变方向时,需要一个p q b d字符来模拟一个循环。在p加入藤蔓东北向东行驶,在q东向东南,在b从东南到东部,d从东部到东北。请注意,字母的“循环”连接到水平的藤蔓,字母的“茎”连接到对角线。 藤蔓的起点必须是p或b(您可以选择,不一定是随机的)之一,并且水平开始。藤蔓的末端必须是q或d(您可以选择,不一定是随机的)之一,并且必须水平末端。 请注意,可以将循环放置在与其他循环紧邻的位置(例如,pd是葡萄树的有效子串),但这可能会使以后放置南瓜更加困难。您可能希望总是- / \在循环后立即拥有其中之一(就像我在示例中所做的那样),但这不是必需的。 南瓜规则 南瓜仅由(())(确切的字符串)组成。 南瓜是从主葡萄藤上附着的。这些分支只能附加到p q b d环上,长度恰好一个\或/长度,并附加到南瓜上,因此分支的“末端”位于中间。 它们可以连接在主葡萄树的上方或下方。 分支可以连接到“左侧”。 每个分支只能附加一个南瓜,每个循环只能附加一个分支。 随机性 在水平行驶时,葡萄藤有50%的机会继续水平行驶,有25%的机会向东北转动,有25%的机会向东南转动。 当沿对角线行驶时,葡萄树有90%的机会水平转弯,而有10%的机会继续对角线行驶。 尽管允许更多匝数,但必须有足够的匝数来支持输入的南瓜数量。 藤蔓建成后,可以将南瓜随机放置在尚未被南瓜占据的任何角落。 南瓜不能与葡萄藤或其他南瓜重叠。 挑战 给定输入数字,请按照上述规则输出随机南瓜补丁。使用相同的输入多次执行代码应产生不同的结果。给定输入数字的所有可能的南瓜补丁应具有一定(不一定相等)的非零发生机会。 输入值 一个整数n,以任何方便的格式表示补丁中南瓜的数量。为了简化代码,您可以假设输入为0 < n …

12
生成单路径迷宫
给定一个奇数N(5 <= N <= 51),生成一个边长为N的迷宫,其遵循以下要求: 迷宫必须由字符 | -和组成+。它必须将|角色用作垂直墙,将-角色用作水平墙,并且如果该墙转弯,+则应使用角色。 路径的宽度必须是一个字符。 迷宫必须转动至少四次。 迷宫必须具有外壁,该壁在两个点处断裂:起点和终点。 从头到尾,迷宫必须包含一条不间断的路径。 例如,以下是有效的迷宫:(N = 5) +---+ | | | | | | --+-- 对于N = 7: --+---+ | | | | | | | | | | | | | | | | +---+-- 请记住,这是code-golf,所以字节数最少的代码将获胜。

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

30
到处都是蛇
挑战 挑战很简单:打印一条蛇。 您将获得蛇的长度作为输入。 长度为2的蛇看起来像这样: ==(:)- 长度为7的蛇看起来像这样: =======(:)- 换句话说,一条蛇的长度等于头部前有多少等号。 用法 假设我做了一个C ++实现并将其编译为./getsnake。 我可以这样运行: $ ./getsnake 10 ==========(:)- 澄清说明 不允许出现标准漏洞。 您可以以任何可接受的方式获取输入和输出。 您可以假设所有给定的输入均为正整数。 您可以编写函数而不是常规程序。

5
显示ASCII的纸屑分数
纸牌游戏是一个有趣的游戏,因为您需要一个特定的棋盘来为您的游戏打分。写字板看起来像这样: 注意第一列在上升时在左边,然后在下降时在右边,然后在上升时回到左边。 这是纸牌上绘制不良的ASCII艺术作品的样子: * * * ----------- ------- / * \ |*|*|*| /* * *\ |*|*|*| / * * * \ |*|*|*| | * * | |*|*|*| |* * * * * *| |*|*|*| ------- ------- ------- |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| …

1
有多少个正方形?
这种挑战是由经常漫游在Facebook上一样,看起来画面灵感此。除了我们的基本广场看起来像这样: ┌─┬───┬─┐ ├─┼─┬─┼─┤ ├─┼─┴─┼─┤ ├─┼─┬─┼─┤ └─┴─┴─┴─┘ 该正方形由n x m1x1正方形组成,您必须计算该正方形内可以容纳多少个子正方形(1x1、2x2、3x3、4x4、5x5等)。正方形可能会丢失一些网格线(例如上例),也可能像下面的例子中那样完整。这意味着数学分析是没有可能(据我所知)。 输入: n建立正方形的输入的线数(); 由以下字符组成的正方形:─ ┐ ┌ └ ┴ ┘ ┬ ├ ┤ ┼ |跨n输入行。 输出: 可以容纳在输入正方形内的任何大小的正方形数量(我们在这里只需要一个数字,而每个大小都不需要一个数字)。 获奖标准: 最小的答案(字节数)获胜。 测试用例: 在: 5 ┌─┬─┬─┬─┐ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ └─┴─┴─┴─┘ 出: 30 在: 3 ┌─┬─┐ ├─┼─┤ └─┴─┘ 出: 5 在: 5 ┌─┬─┐ ├─┴─┤ ├───┤ ├─┬─┤ └─┴─┘ …

13
种植一棵树mo!
这是我的朋友托马斯。他是一半的树,一半的图释。 | | | :D | | | 他很孤独。让他结识一些朋友吧! 给定一个基于文本的表情符号作为输入(例如ಠ_ಠ,:P,>_>,不😀,🤓或🐦),输出对应的treemote。 Treemote的长度是多少个字符(基本上是字符串的大多数内置长度函数)。因此,ಠ_ಠ具有长度为3。 长度n为treemote的语法如下: |< 2+n spaces>| * ceil(n/2) | <emote> | (note the spaces) |< 2+n spaces>| * ceil(n/2) 因此,任何长度为3的树状节点都将看起来像: | | | | | ಠ_ಠ | | | | | 他的ceil(n/2)两边都有换行符分隔的主干段,每个主干段2 + n内都有空格。 挑战:给定基于文本的表情符号,输出相应的treemote。 其他规则: 这是code-golf,这意味着我要您编写短代码。 不允许出现标准漏洞。 除非您的语言无法处理,否则您必须支持非ASCII字符。 测试用例: ^_^ …

4
帮助重新计算您的代表!
几个月前,我们在meta上进行了讨论,讨论如何提高因问题投票而获得的声誉。这是我们目前的投票信誉系统的基础:1 问题投票U值得5个声望。 回答投票u值得10个声誉。 问题或答案不满意d的人值得-2声望。 对于新系统,已经有许多不同的建议,但是当前最受欢迎的与上面的相同,但是问题投票的比例扩大到+10个代表。这项挑战是要计算出安装该系统后您将获得多少代表。 让我们来看一个例子。如果投票活动为UUUUuuuuUUUUUduuudUU,则在当前系统下,您的收入为121: U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 = …

1
绘制并标记ASCII六角形网格
在上一个挑战中,我主要是手工绘制了第一张图(借助vim的可视块模式)。但是肯定有更好的方法... 给定一个二维输入(宽度和高度),则输出具有这些尺寸的六边形网格(在ASCII艺术中)。 这是在简介中引用的图表(进行少量修改),它应该是输入的输出width=7, height=3: _____ _____ _____ / \ / \ / \ _____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____ / \ / \ / \ / \ / -3,-1 \_____/ -1,-1 \_____/ 1,-1 \_____/ 3,-1 \ \ / \ / \ / \ / \_____/ -2,0 \_____/ 0,0 \_____/ …

12
说明小数
给定十进制形式的<float>, <precision>,您将绘制浮点数小数部分(即小数)的图形表示。例子: 输入:6.75, 4,输出: 6||| 7 ---- 6.75(输入中的第一个数字)是要解释的数字,4(输入中的第二个数字)是管道下方的破折号。 6是7底数6.75,是天花板6.75。管道数是decimal part of first input number * second input number。 输入:10.5, 6,输出: 10||| 11 ------ 输入:20.16, 12,输出 20|| 21 ------------ .16 实际需要1.92根管,但是由于我无法绘制1.92根管,因此我将其最高拉至2。 输入:1.1, 12,输出: 1| 2 ------------ .1 在这种情况下为1.2根管道,因此将其设置为1根管道。 此外,边缘情况。输入:(5, 4即数字为整数),输出: 5 6 ---- 要说明的数字是正浮点数,仅受您的语言能力的限制。 精度数是一个偶数整数,大于2(即,最低要求精度为4)。也可以任意大。 > =将n.5个管道四舍五入到n + 1(即1.5被四舍五入为2,2.5被四舍五入为3)。<n.5个管道四舍五入为n(即1.4 近似为1,2.4近似为2)。 如果您的语言更方便,则可以将输入作为数组,例如[6.75, …

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.