Questions tagged «ascii-art»

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

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  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 

18
光束会命中吗?
激光沿正交的四个方向之一发射直光束<>^v。确定它是否会击中O矩形网格上的目标。 这些都将击中(True): ..... ...O. ..... ...^. ..... >O. ... v.... O.... ........... ........... O.........< ........... 这些会错过(错误): ...... ...... .^..O. ...... .....> O..... ...... ...... .O. ... .v. .....<. ..O.... 输入:.大小至少为2x2的矩形网格,正好有一个目标O,一个激光是之一<>^v。这些行可以是字符串列表,二维数组或嵌套的字符列表,也可以是单个新行分隔的字符串,并带有可选的尾随新行。 输出:如果激光束击中目标,则真值保持一致,如果未击中,则真值保持不变。 我将考虑不使用正则表达式(或内置的基于模式的字符串匹配)的提交作为单独的类别。如果(no regex)在语言名称后面加上空格,您的答案将单独出现在排行榜中。 显示代码段 var QUESTION_ID=80196,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/80196/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 e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var …

4
ASCII涂鸦:盒子里的激光
有时候,当我涂鸦时,我会画一个矩形,从一个角开始以对角线开始,然后每当我碰到矩形的一侧时通过“反射”一条线来画出一条线。我继续进行此操作,直到碰到矩形的另一个角为止(并希望矩形的长宽比不是不合理的;)。这就像追踪激光照射到盒子中的路径一样。您将使用ASCII艺术产生这种效果。 例如,考虑一个width 5和height 的盒子3。我们将始终从左上角开始。该#标记框的边界。请注意,宽度和高度是指内部尺寸。 ####### ####### ####### ####### ####### ####### ####### #\ # #\ # #\ \# #\ /\# #\ /\# #\/ /\# #\/\/\# # \ # # \ /# # \ /# # \/ /# # \/ /# #/\/ /# #/\/\/# # \ # # \/ # # \/ …

8
ASCII多边形的面积
您应该编写一个程序或函数,该程序或函数接收代表ascii-art多边形的字符串作为输入并输出,否则将返回多边形的面积。 输入是由字符组成_ / \ L V space并newline定义简单多边形的字符串(这意味着没有多余的段,没有自触和没有自相交)。 单个字符单元格的面积为 2 _将单元格拆分为大小,0然后2 \将单元格拆分为大小,1然后1 /将单元格拆分为大小,1然后1 L将单元格拆分为大小,0然后2 V将单元格拆分为大小,1并且1(的两侧V将始终位于多边形的同一侧,因此在列表中将它们一起处理。) 每个字符都连接您期望的字符单元格的两个角(例如,如果是,则为左上角和右上角V)。 面积为7的示例(1+2+1第二行和1+1+1第三行): _ / \ V\/ 输入值 输入将形成一个矩形,即换行符之间将有相同数量的字符。 多边形的任何一侧都可以有多余的空格。 尾随换行符是可选的。 输出量 一个正整数,即多边形的面积。 例子 输出在其输入的最后一行之后。 _ V 1 /L \/ 3 /VV\ L / L/ 14 ____/\ \ / /\/ / \____/ 32 /V\ / \__ \ …

30
简单ASCII甘特图
这很简单:打印ASCII 甘特图。 给定任务的范围(开始时间-结束时间元组),请以-字符形式为每个任务持续时间-每个任务在新行中打印甘特时间轴。 例 说我的任务范围是28->35, 34->40, 39->44,甘特图将如下所示: ------- ------ ----- 技术指标 您可以编写完整的程序,命名函数或匿名函数。 您的程序/函数应通过STDIN 或作为参数接受任务。 每个任务应表示为start->endwhere start和endare Integers的字符串。任务由空格或逗号分隔。或者,您可以将其作为整数元组或2个整数的数组/集合来获取。(例如,在JavaScript中,您可以按以下方式获取它[start,end]-允许这样做)。 任何非负数的任务(参数)都应受支持。 为了清楚起见,不允许使用任务收集的单个参数。您可以解析单个字符串参数,也可以支持零个或多个任务参数。其中task是一个元组或大小为2的集合。 您可以假设将仅给出有效输入。这意味着每个任务的持续时间都是正的。 返回值无关紧要,您的代码必须在STD​​OUT上打印时间轴。 输出:每个任务,start空格后接(end-start)破折号和a \n。 不用说,输出线应该与输入(任务)顺序相对应地排序。 \n如果可以的话,可以在之前加上空格。 测试用例 Input: (empty) Output: (empty) Input: 0->7,5->6,3->6 Output: ------- - --- Input: 5->20,5->20,2->10,15->19 Output: --------------- --------------- -------- ---- 获奖 这是代码高尔夫球,因此最小的代码长度(以字节为单位)获胜。 传统上,决胜局是较早的职位。 “标准漏洞不再有趣”。 ----- 编辑 你们中的许多人都知道,允许有一个单一的任务集合参数,并且由于它与原始varargs要求之间没有太大区别, …

13
画一个随机的ASCII Art被子
对于此挑战,ASCII艺术棉被将是一块24个字符宽,18行高的文本块,其中包含=-<>/\水平和垂直对称的类似棉被样式的字符。 被子示例: ======================== ------------------------ //\\//\\\//\/\\///\\//\\ <<><<>>>>><<>><<<<<>><>> /\\/\\\\/\/\/\/\////\//\ ------------------------ /\/////\\///\\\//\\\\\/\ \///\/\/\\\\////\/\/\\\/ \///\/\/\\\\////\/\/\\\/ /\\\/\/\////\\\\/\/\///\ /\\\/\/\////\\\\/\/\///\ \/\\\\\//\\\///\\/////\/ ------------------------ \//\////\/\/\/\/\\\\/\\/ <<><<>>>>><<>><<<<<>><>> \\//\\///\\/\//\\\//\\// ------------------------ ======================== 所有被子都具有相同的形式: 他们总是24乘18。 顶线(第1行)和底线(第18行)=一直贯穿。 第2、6、13和17 -行一直贯穿。 线4和15是相同的随机水平对称的模式<和>。 所有其他线条(3、5、7、8、9、10、11、12、14、16)充满/且\完全随机,从而使整个被子保持水平和垂直对称。 请注意,将被子完全垂直或水平对折时,字符的形状完全匹配。不要将此与字符本身匹配起来混淆。例如线3和线16是不相同的,它们是垂直镜像。 挑战 编写程序或函数,以打印或返回随机的ASCII艺术被子。 由于许多硬编码的行和对称性,唯一真正的随机性来自第3、4、5、7、8、9行的前12个字符: 在第4行的前12个字符应能是任何字符的长度12的字符串<和>。 第3、5、7、8、9行的前12个字符应该可以是任意长度的12个字符串,/并且\(彼此独立)。 然后将这些随机的字符串进行相应镜像以制成整个被子。 以字节为单位的最短答案将获胜。Tiebreaker是较早的帖子。 您可以使用伪随机数生成器。(不,你不需要证明所有的12字符的字符串<>或/\可以与你的语言的PRNG产生。) 输出可以选择包含尾随换行符,但是除了被子必需外,不包含尾随空格或其他字符。

5
一线水族馆
我的岳父母在院子里有一个装满锦鲤的鱼塘。直到我注意到代码中的以下摘录,它才真正引起我的注意。 ',') & '_' ...我的鱼脸从屏幕上回望我... 这给了我一个好主意... 我想要的,我的亲爱的高尔夫球手,是创建一个单行ASCII水族馆,并遵循以下规则: 从水箱一侧到水箱另一侧的水族馆的大小应不小于60个字符且不大于80个字符。储罐的侧面需要使用管道/条(|)字符指示。 鱼必须能够在水箱两侧之间从左向右“游动”。随着它们的转动,从一个方向到另一个方向的过渡需要正视图。 鱼必须如下所示: }}< }} ',') 鱼游正确 (',' {{ >{{ 鱼向左​​游 }}('_'){{ 鱼面朝前 当鱼转向时(机会发生30%),它必须从一个方向开始,面向前方,然后面向另一方向...确保鱼有足够的转向空间,即在转向之前需要六个空间。坦克的边缘最小... 除非鱼在吹泡泡或改变方向,否则它将继续朝其面对的方向前进,如果它进入水箱侧面的六个空间之内,它将改变方向。 鱼(向左或向右)有时可能会(10%的机会)停下来连续吹泡泡(.oO*),因此要求鱼旁边有一个可用空间以使气泡存在,因此,鱼可以只在两侧游泳,节省一个空间。气泡必须消失,鱼才能继续前进。 鱼的行为的一系列示例行,用-字符表示空格,因为此处的代码显示功能有些严格...我希望当您对此进行编码时,这些破折号会被空格代替... 此处的每一行都可以视为延时中的一帧。 |-}}< }} ',')----------| |--}}< }} ',')---------| |---}}< }} ',')--------| |----}}< }} ',')-------| |-----}}< }} ',')------| |-----}}< }} ',').-----| |-----}}< }} ',')o-----| |-----}}< }} ',')O-----| |-----}}< …

30
角色交叉
我原本希望在PCG中发布更复杂的内容,这是我的第一个难题,但是一个特别的,嗯... Stack Overflow上的作业问题启发了我发布此内容。他们想要: 对于包含奇数个字母的任何给定单词,打印以下模式: P M R A O R G O R R A P M C ++ 请注意,字母是您需要打印的图案中骑士分开的部分。因此,每隔一列为空。-(感谢xnor指出这一点。) 规则 禁止使用C ++。正如我可能将这个问题联系到那里。 您可以使用stdout或任何快速输出字符串的方法(例如,alert()在JavaScript中)。 与往常一样,最短的代码获胜。

22
高尔夫ASCII艺术
让我们尝试打高尔夫球代表高尔夫球手的这门ascii艺术作品: '\。。|> 18 >> \。'。| O >>。'o | \。| / \。| //。” | jgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ 资料来源:JGS- http : //www.retrojunkie.com/asciiart/sports/golf.htm 规则: 不允许输入 不允许外部资源 输出必须完全是此文本,并以等宽字体(OS控制台,JS控制台,HTML <pre>标记等)显示,包括前导和尾随换行符。 允许使用双引号或双引号(当您输出字符串时,JS控制台会添加双引号,可以) 最好的答案是在任何一种语言中使用较少字符的答案。 玩得开心!

7
你好!我是代码高尔夫的警长!
几个月前使用Twitter的任何人都有可能了解'Howdy!我是X“模因的警长。在那里,用表情符号绘制了一个简单的警长图像,并根据主题进行了更改。因此,我认为现在是Code Golf警长的时候了。在这里,他是: ### ##### ### ### ### # ##### # # # # # # # # # # ### # # # # # # # # 特别地,该像素具有一个字符宽度为一个字符高度的“像素”。要生成他,参数将为1和1。 如果他要比他高个子该怎么办? ###### ########## ###### ###### ###### ## ########## ## ## ## ## ## ## ## ## ## ## ###### ## ## …

15
ABAA / ABBB:生成此递归2D模式
当我遇到以下有趣的递归模式时,我正在搞无限电阻网络(长话不说): |-|| |--- 该图案的每个实例的宽度是其高度的两倍。要从图案的一个层次转到下一个层次,请将该矩形分成两个子块(每个子块为NxN正方形): AB = |-|| |--- so A = |- |- and B = || -- 然后根据以下模式复制和重新排列这些半部分: ABAA ABBB giving |-|||-|- |---|-|- |-|||||| |------- 挑战 编写一个程序/函数,给定一个数字N,输出N该递归设计的第th次迭代。这是高尔夫。 I / O格式相对宽松:您可以返回单个字符串,字符串列表,二维字符数组等。允许使用任意尾随空格。您也可以使用0或1索引。 例子 模式的前几次迭代如下: N = 0 |- N = 1 |-|| |--- N = 2 |-|||-|- |---|-|- |-|||||| |------- N …

13
ASCII艺术的平方根
您正在为真正讨厌TeX,LaTeX等的数学家做实习生。是如此之多,以至于他决定放弃所有排版,让您以ASCII格式进行所有格式化。过了一会儿,您对此感到厌倦,并决定从平方根开始开始自动化它的一部分。 这是制作平方根的方法: ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / ### / ### _____ put a diagonal …

14
用火杀死它
免责声明:这个问题中讲的故事完全是虚构的,仅出于介绍目的而发明。 我是一个邪恶的农民,为了提高我所在地区的小麦价格,我决定烧掉我周围所有农民的田地。我真的很想看到田野起火(这样我就可以用邪恶的笑容和欢乐地揉搓我的手),但是我也不想被观察到,所以我需要您模拟田野为我焚化。 你的任务: 编写一个程序或函数,将某个字段作为输入,并返回其燃烧的阶段,直到整个字段变成灰烬为止。着火的特定区域用代表火焰强度的整数表示。火从“ 1”开始,然后继续前进到“ 2”,然后是“ 3”,依此类推。一旦大火达到“ 4”,它将着火的任何直接(非对角线)相邻区域都着火。一旦达到“ 8”,它将在下一次迭代中耗尽,并变成灰烬,以“ A”表示。当尚未被火触及的区域时,以“ 0”表示。例如,如果该字段如下所示: 100 000 您的程序应输出以下内容: 100 000 200 000 300 000 410 100 520 200 630 300 741 410 852 520 A63 630 A74 741 A85 852 AA6 A63 AA7 A74 AA8 A85 AAA AA6 AAA AA7 AAA AA8 AAA AAA …

30
对角数!
我们有很多数字的水平轴,但是老实说,我觉得它们很无聊。今天的任务是在输入的两个不同的非负整数之间建立对角轴的一部分。 如何建立对角线轴? 让我们以输入为例0, 5。我们的轴应如下所示: 0 1个 2 3 4 5 但是,对于具有更多数字的数字,我们的轴也应该看起来不错!例如0, 14,如果输入为,则新轴应为: 0 1个 2 3 4 5 6 7 8 9 10 11 12 13 14 这个想法是,轴上下一个数字的第一位必须始终准确地放在前一个数字的最后一位之后。为了更好地理解这个想法,下面是另一个示例997, 1004: 997 998 999 1000 1001 1002 1003 1004 规则 您可以假定输入是升序还是降序(可以在5,3和之间进行选择3,5)。 您还可以假定两个整数之间的差小于100。 您可能有一个换行符开头或一致的空格(在每行上)。尾随空格/换行符也很好。 默认漏洞是禁止的。 您可以采用任何标准均值进行输入并提供输出。 这是代码高尔夫球,因此每种语言中以字节为单位的最短代码胜出! 其他测试用例 1, 10: 1个 2 3 …

30
torrent UI的ASCII艺术
问题 从Torrent程序重新创建UI 在没有输入的情况下,输出以下内容: +----------+----------+----------+ |a.exe |##########|seeding | +----------+----------+----------+ |b.exe 10% |# |leeching | +----------+----------+----------+ |c.exe |##########|seeding | +----------+----------+----------+ |d.exe 20% |## |leeching | +----------+----------+----------+ |e.exe |##########|seeding | +----------+----------+----------+ |f.exe 30% |### |leeching | +----------+----------+----------+ |g.exe |##########|seeding | +----------+----------+----------+ |h.exe 40% |#### |leeching | +----------+----------+----------+ |i.exe |##########|seeding | +----------+----------+----------+ |j.exe 50% …

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.