Questions tagged «ascii-art»

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

3
从数组中绘制树
给定一个可能嵌套的非空单位数字正整数(不能保证唯一)的数组,请使用箱形绘图字符将ASCII艺术形式的输出输出为树┌ ┴ ┐ ─ │ ┬ ┼。(这些是从“代码页437”复制的,但是您可以使用任何等效的表示形式)。 数组的每个整数都应该是树的叶子。数组中处于同一级别的元素应位于树的同一级别。所有元素都应由足够的空格分隔以区分(由您决定宽度之间的最小间隔)。 例如,给定array [[1, [2]], [3, [4, 5]]],输出以下树 ┌─┴─┐ ┌┴┐ ┌┴─┐ 1 │ 3 ┌┴┐ 2 4 5 对于数组[1, 2, 3],树可能看起来像 ┌─┼─┐ 1 2 3 但是数组[[1, 2, 3]]看起来像 │ ┌─┼─┐ 1 2 3 虽然数组[1, [1, [1, [1]]]]看起来像 ┌─┴┐ 1 ┌┴─┐ 1 ┌┴┐ 1 │ …

11
绘制此菱形图案
以下模式将构成这一挑战的基础。 /\ \/ /\ / \ / \ /\/ \/\ \/\ /\/ \ / \ / \/ /\ \/ 在给定输入宽度和高度的情况下,每个都>=1重复输出上述ASCII艺术图案多次,并在小菱形处接合(并重叠)。 例如,这是带有width = 2和的输入height = 1: /\ /\ \/ \/ /\ /\ / \ / \ / \ / \ /\/ \/\/ \/\ \/\ /\/\ /\/ \ / \ / \ …

3
在赛道上比赛
我正在寻找周围最快的赛车手。告诉我您在如下所示的18x14赛道上最快的圈速。 ______ / \ / \ / ____ \ / / \ \ / / \ \ | | | | | | | | | | | | | | | | \ \ / / \ \____/ / \ / \ / \______/ 您的工作是在所有可能的位置将汽车移到轨道下方。 _ | | |_| …

14
解析包裹
感谢您在“ 标记我的邮件”挑战中的帮助,PPCG-Post已成功地在所有包裹上盖印了生成的条形码! 现在,该解码它们了。 在此挑战中,给定从“ 标记我的邮件”挑战生成的条形码,您的程序将对其解码并返回编码的整数。 但是要当心!条码可能上下颠倒... 4状态条形码 如果您错过了编码挑战,则需要了解我们正在谈论的条形码类型。4状态条形码是一行带有四个可能状态的条,每个状态代表以4为底的整数: | | Bar: | | | | | | Digit: 0 1 2 3 条形码以ASCII呈现,将占用三行文本,使用竖线(|)字符代表条形的一部分,并使用空格()代表空白部分。每个小节之间只有一个空格。条形码示例如下所示: | | | | | | | | | | | | | | | | | | | | | | | | | | | …

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
圆形键盘螺旋
这是QWERTY键盘。 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 我们可以从G开始在此键盘上“螺旋出”。螺旋将从G开始,转到H,然后到Y,然后到T,然后是F,然后是V,然后是B,然后是N,然后是J,然后是U时,则R,然后d,然后C,...等你的挑战是,给定一个数1≤ ñ ≤26,输出第一ñ在此螺旋字符。(如果您感到困惑,请参阅文章末尾的图片。) 抓住?您的程序的分数与螺旋内发现的字符的索引成正比! 计分 对于代码中的每个字母(不区分大小写),将螺旋中该字符的索引添加到分数中(从1开始)。 对于不在螺旋中的每个字符,将其分数加10。 最低分获胜。 例如,该程序print("Hello, World!")的分数为300。 为了您的方便,我写了一个自动程序分级器。 显示代码段 var SPIRAL = "GHYTFVBNJURDCMKIESXLOWAZPQ"; function grade(program) { var score = 0; …

30
创建百分号
给定的整数Ñ ≥1,输出2D表示†宽度的百分比符号的Ñ。结构如下: 创建一个由零填充的n × n矩阵(或列表列表)。 在左上角和右下角插入一个。 将它们放在从左下角到右上角的对角线上。 对于输入n = 4,此构造如下所示: 1. 4x4 matrix of 0s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2. 1s in TL and BR corners 1 0 0 0 0 0 0 0 0 0 0 0 …


25
对数刻度用于退出
每个人都知道对数刻度适合戒烟者。因此,您必须编写一个程序或函数,该程序或函数以给定底数的对数刻度使条形图无效。 条形图输入被视为一个单独的字符串,是一个条形列表,对数刻度条形图的每个条形都由您选择的可打印(或空白)定界符分隔(因此0x09-0x0A + 0x20-0x7E),由您选择的可打印的非空白(so 0x21-0x7E)填充字符组成。 程序或函数输出一个单个字符串,该字符串是一个小节列表,其中每个小节由输入所分隔的相同定界符分隔,并由组成输入的相同填充符组成。 例 我们选择定界符“ \ n”(一个换行符)和填充符“#”。传递给我们的程序或函数的输入是: base = 2 和string = #### ## ###### ### 该代码将发现这些条的长度为[4,2,6,3]。它将以base 2为基础计算每个长度的反对数,以获取[2^4,2^2,2^6,2^3]= [16,4,64,8]。然后,以线性比例尺格式输出长度: ################ #### ################################################################ ######## 输入输出 您的程序或函数可以以任何合理的格式输入和输出。 输入基数保证为大于1的整数。您可以假定基数小于256。保证字符串输入与regex完全匹配(f+s)+f+,其中f和s分别用填充符和分隔符替换。 字符串输出必须完全匹配regex (f+s)+f+,其中f和s分别用相同的填充符和分隔符替换。输出可以选择包含尾随换行符。 输出和输入也可以是字符串列表,而不是用子字符串定界,尽管必须能够理解哪个条是哪个。 测试用例 (假设填充#符为,分隔符为\n) base - input string - output string ----- 2 - #### ## ###### ### - ################ …

11
我的航站楼正在下雨!
挑战说明 您必须显示终端机中降雨的模拟。 在下面给出的示例中,它随机添加100个雨滴(使用您的语言提供的默认随机函数)坐标,等待0.2秒,然后再次重绘,直到给定时间到期。任何字符都可以用来表示雨滴。 参量 重绘之间的等待时间(以秒为单位)。 下雨的时间到了。这只是代表迭代次数的整数。[因此,下雨可见的净时间是该整数乘以等待时间] 雨结束时显示的信息。(必须居中) 屏幕上显示的雨滴数。 规则 应该使用一个字节来表示雨滴,它可以是任何东西,甚至包括猫和狗。 它不必响应终端大小,这意味着您不必处理各种终端大小的错误。您可以自行指定终端的宽度和高度。 适用打高尔夫球的标准规则。 代码样本和输出 这是使用ncurses用python 2.7编写的非高尔夫版本。 import curses import random import time myscreen = curses.initscr() curses.curs_set(0) # no cursor please HEIGHT, WIDTH = myscreen.getmaxyx() RAIN = '/' # this is what my rain drop looks like TIME = 10 def make_it_rain(window, …

19
ASCII艺术“飞行模拟器”
编辑 在我的错字之后,似乎在原始帖子中出现了一些混乱,该帖子使用小写字母o定义平面,然后使用大写字母定义。不幸的是,此错误并未在沙箱中被发现。由于很多成员都写了答案,而且错别字是我的错,所以在飞机的定义中允许使用大写或小写的o。我为此添加了一条新规则。 背景 我喜欢ascii艺术动画,因为我倾向于称它们为动画,所以这里是另一个动画。我认为这实施起来并不难,因此有望得到一些简短而有趣的答案。 给所有社区成员 如果您的答案有所改善,请修改为 旧字节数新字节数 这样我们就可以看到您的进度。谢谢! 挑战 这是一个ascii飞机 --O-- 这是一条ascii跑道 ____| |____ 飞机从跑道上方的5条新线开始。为了防止公制和英制之间发生冲突,并使之成为真正的国际挑战,我不会提及米或英尺。例: --O-- ____| |____ 飞机必须正好降落在跑道中间,如下所示: ____|--O--|____ 输入项 平面的初始水平位置由整数输入定义,该整数输入用于参考左翼的尖端,即介于0到10之间(含0和10)。 输出量 必须显示飞机飞行的每个阶段。以下示例(输入= 10): --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ ____|--O--|____ 为了简单起见,我们忽略了透视定律。靠近跑道时,跑道保持不变。 规则 更新平面的中间可以是大写或小写的o,但是在整个代码中选择的哪个必须一致。如果您的语言不支持上述字符,请随意使用其他ascii字符。 平面每帧下降1行。 飞机每次下降一行,只能向左或向右移动1个空间。它不必在下降的每一行上移动。只要它在跑道上完成,它就取决于您向右或向左移动。你是飞行员! 无需错误处理。您可以假设输入将始终是一个有效的整数,范围从0到10(含0和10)。 输出必须仅包含上面显示的字符(如果您的语言不支持它们,请参见编辑的第一条规则),并且必须具有相同的大小,即必须以6行高,15个字符宽开头。如上例所示,高度可以随着进度的增加而减小。 程序或函数很好,但必须产生如上所述的输出。 前导/尾随空格/换行符对我来说很好。 …

13
高尔夫高尔夫
高尔夫挑战赛 给定以下ASCII“绿色”。 | | | |> | | | | | O | | | | | | | | | | | | | 让我们代表|一堵墙 让我们|代表旗杆的一半 让我们>代表杆子上的国旗 让我们O代表孔 让我们o代表球 “绿色”的尺寸为10x10。两堵墙之间有十个间隔|。 在果岭的顶部和底部之间还有十个空间,是否为空。 挑战 输入x和y值或生成两个随机数以将高尔夫球“击中”到果岭上。 如果生成的x,y没有碰到孔或旗杆/旗标输出“再试一次!”。 如果生成的x,y碰到孔输出“孔合一!”。 如果生成的x,y击中了极点输出“幸运射击!” 如果生成的x,y到达标志输出“ Close One!”(关闭一个!), 投篮后,用,在果岭上输出球的位置,并o替换击中的任何字符。还要输出上面的相应说法。 例子: //Hole in one example, the O was replaced …


15
画一个梯子并滑动
您的任务是创建一个程序或函数,该程序或函数将n1到25(含)之间的自然数()作为输入,并打印带有n梯级数的滑梯和梯子的等轴测图。 梯子和滑轨规格 梯子始终位于左侧,幻灯片始终位于右侧。我们正在从梯子一侧查看它,因此幻灯片的一部分在前三层被遮盖了。梯级由四个破折号(----)表示,梯子的侧面由斜线(/和\)表示。下图是表示具有五个梯级的幻灯片所需的空间模式的示意图。 Slide Blank space count /----/\ 1234/----/\ /----/ \ 123/----/12\ /----/ \ 12/----/1234\ /----/ \ \ 1/----/1\1234\ /----/ \ \ /----/123\1234\ 例子 >>1 /----/\ >>3 /----/\ /----/ \ /----/ \ >>4 /----/\ /----/ \ /----/ \ /----/ \ \ >>10 /----/\ /----/ \ /----/ \ /----/ \ \ …

7
不断放大的锯齿形
编写一个程序或函数,该程序或函数使用正整数N并仅使用所需的行输出此放大的Z字形模式的前N个数字: 26 25 27 . 10 24 28 . 9 11 23 29 . 2 8 12 22 30 44 1 3 7 13 21 31 43 4 6 14 20 32 42 5 15 19 33 41 16 18 34 40 17 35 39 36 38 37 所以,如果N是1输出 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.