Questions tagged «ascii-art»

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

7
机器人发现小猫
挑战 按字符数计算的最短代码,可以帮助Robot以尽可能少的步骤找到小猫。 高尔夫球手,这是一个危机时刻-小猫失踪了,找到它是机器人的工作!机器人需要以最短的路径到达小猫。但是,Robot的方式存在很多障碍,他需要您为他编写解决方案。 机器人曾经有个程序可以帮他做,但是那个程序丢失了,机器人也没有备份:(。 Robot的运行时间不是最好的,Robot必须从源代码中读取最少的字符,花费的时间最少,这意味着可以更快地找到Kitten! 机器人的记忆包含他当前所在位置的地图,其中顶部代表北,底部代表南,右代表东,左代表西。机器人总是处在一个未知尺寸的矩形房间中,周围环绕着墙壁,这#在他的雷达图中表示。机器人可以进入的区域以空格表示。 机器人的雷达还会扫描房间中的许多障碍物,并以各种ASCII字母标记它们。机器人不能走过这些障碍。雷达会将Kitten标记为特殊的ASCII字符K,而Robot的位置标记为R。 机器人的导航系统是这样工作的:他可以理解二重方向和应该移动的运动单位数-例如,N 3意思是“向北移动3个运动单位”。制作机器人的雷达图,使运动单位为一个ASCII字符。机器人只能沿4个方向行驶,不能对角线行驶。 勇敢的小猫保护者,您的任务是一次读取机器人的雷达图,并输出最少的方向,最小的移动单位行进距离。确保机器人至少有一条通往小猫的路径。 为确保Robot不会浪费时间执行有故障的程序,该程序不会帮助Robot找到Kitten,我鼓励您,勇敢的Kitten Saver,使用Robot过去的程序的此输出,以确保没有时间浪费在寻找Kitten上! 测试用例 Input: ###################### # d 3 Kj # # # # R # # q # ###################### Output: E 13 N 2 Input: ###################### # d r 3 Kj # # p p # # T X # …

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

24
我的世界镜像
这是加尔文。只需尝试获得20个代表,以便该用户可以在PPCG Minecraft服务器聊天室聊天。 编写一个使用正整数的程序或函数。 如果整数是偶数(2、4、6,...),请打印或返回此确切的ASCII艺术字串: __ __ __ __ ___ /\ /\ | |\ | | / | | /\ | | / \/ \ | | \ | |-- | |--\ /__\ |-- | / \ | | \| |__ \__ | \ / \ | | 如果整数是奇数(1、3、5,...),则打印或返回此确切的ASCII美工字符串: __ __ …

30
生成曼德尔布罗特分形[关闭]
您的任务是绘制ascii中设置的mandelbrot。它看起来应该像 复数c在于Mandelbrot集,当序列z(n+1) = z(n)^2 + c,z(0) = 0仍然有限。为了这个挑战,您可以考虑cif的有界序列|z(32)| < 2。 使用您喜欢的语言中的ascii字符并使用尽可能少的字符,在(-2-i)到(1 + i)的复平面上绘制mandelbrot集,最低分辨率为40x30。

30
说明最小公倍数
给定两个正整数,A和B,示出了它们的最小公倍数通过输出破折号(两行-与长度)LCM(A,B)中的第一行和与垂直条第二线每个Bth的破折号替换每个Ath的破折号后(|)。 这样,每行的结尾将是两位的唯一|行。 例如,如果A = 6且B = 4,则LCM(6,4)= 12,因此: two lines of 12 dashes: ------------ ------------ replace every 6th dash in the first line with a vertical bar: -----|-----| ------------ replace every 4th dash in the second line with a vertical bar: -----|-----| ---|---|---| 因此,最终输出将是 -----|-----| ---|---|---| 输入数字的顺序应与行的顺序相对应。 以字节为单位的最短代码获胜。 测试用例 A …

16
目光转移我是
视而不见的ASCII家伙喜欢转移ASCII的字符Ii: >_> <_< >_< <_> 给定一串杂乱无章的家伙,这些家伙相互隔开或分开,将的Ii一侧左右移动,向左移墙,向右移天空: Ii 最短的变速杆赢得了大奖。 说什么? 编写一个程序或函数,该程序或函数接收这四个ASCII表情符号的任意列表的字符串,以空格或换行符分隔(带有可选的尾随换行符): >_> <_< >_< <_> 例如,输入可能是 >_> >_> <_> 要么 >_> >_> <_> (您支持的方法取决于您。) 每个表情符号都会对I和i字符执行不同的操作,总是以如下方式开始: Ii >_>转移I通过一个在右边,如果可能的话,并且然后将i通过一个权。 <_<I如果可能的话,向左移动一位,然后,如果可能的话,向左移动i一位。 >_<I如果可能,向右移动一,然后,如果可能,则向左移动i一。 <_>转移I到由一个,左如果可能的话,并且然后将i被一个到右侧。 I如果它在直线的左边缘,则不能向左移动(如其初始位置);如果i它直接在其右侧,则不能向右移动(如其初始位置)。 i如果I直接位于左侧,则不能向左移动(如最初一样),但始终可以向右移动。 请注意,使用这些规则,I将始终保留在的左侧i,并I尝试在i所有图释之前进行平移。 您的程序或函数需要Ii按照给定的顺序应用所有移位后,使用空格( )或句点(.)表示空白,然后打印或返回最后一行的字符串。输出中可选地允许尾随空格或句点以及一个尾随换行符。不要混用空格和句点。 例如,输入 >_> >_> <_> 有输出 I...i 因为这种变化像 start |Ii >_> |I.i >_> |.I.i <_> |I...i 以字节为单位的最短代码获胜。决胜局是最高投票的答案。 …

13
Magrathea 2.0-建筑山脉
随着全球经济的严重崩溃,对定制行星的需求也急剧下降。Magratheans还必须照顾来自更多客户的稳定收入。因此,他们为预算有限但无法负担完整星球的人们发明了自己的山脉链(或短途破坏山)。 山上根据客户的计划(数字和点又名字符串)是构建和使用ASCII艺术交付(包括,/,\,^和v)。 任务 编写一个完整的程序,该程序将来自STDIN的输入(单个字符串)或作为参数输入到STDOUT。这个难题是一个代码高尔夫,所以请尝试打高尔夫球。 输入项 一串点和数字为山脉提供基础。每个字符串的长度与支撑山脉所需的时间完全相同,并且每个峰用一个数字而不是一个点来表示,表明峰的高度。 输出量 山脉版本的ascii版本。 输入中的每个数字^都恰好在数字指示的高度处代表一个峰()(即9是最高高度)。 输出中不得有其他峰值(即在输入中有点的地方)。 山为三角形,即使用/和\字符创建坡度。 使用字符塑造两座山重叠的通行证v。 没有多余的换行符或空行。 带有尾随空格的填充线是可选的。 您可以假设提供的输入是有效的,即始终存在根据规则的解决方案(例如,输入13..不会导致有效的配置,因此可能会被忽略)。此外,在每侧上都有正好一样多的点,这样就不能割掉山脉了。 例子 第一行显示输入,所有其他行构成所需的输出。(实际上,在我的控制台中,山脉看上去比这里要好得多。) 1 ^ 11 ^^ 1.2. ^ ^/ \ .2.3.. ^ ^/ \ / \ .2..3.. ^ ^ / \ / v \ ...4...3...3.. ^ / \ ^ ^ / \/ \ / \ …

9
以xkcd表示法读取日期
在关于ISO 8601标准日期格式的 xkcd中, Randall用一种颇为奇怪的替代表示法偷偷摸摸: 大数字是以当前顺序显示在当前日期中的所有数字,小数字是该数字出现的基于1的索引。因此,以上示例表示2013-02-27。 让我们为这种日期定义一个ASCII表示形式。第一行包含索引1到4。第二行包含“大”数字。第三行包含索引5到8。如果在一个插槽中有多个索引,则它们从最小到最大依次列出。如果m单个插槽中最多有索引(即,在同一数字上,并且在同一行中),则每一列应为m+1字符宽度且左对齐: 2 3 1 4 0 1 2 3 7 5 67 8 另请参见伴随挑战,以获得相反的转化。 挑战 给定xkcd格式的日期,请输出相应的ISO 8601日期(YYYY-MM-DD)。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 您可以假设输入的是介于0000和之间的任何有效日期9999。 输入中将没有任何前导空格,但是您可以假定这些行用空格填充到一个矩形,该矩形最多包含一个尾随空格。 适用标准代码高尔夫球规则。 测试用例 2 3 1 4 0 1 2 3 7 5 67 8 2013-02-27 2 3 1 4 0 1 2 4 5 5 …

13
耶!藏宝图!
介绍 “是的!我们有个小伙子自称是“程序员”,在地图上隐藏了我们的藏宝!但是“写得很机智”这个奇怪的数字“ n个字母!”“ E5,N2,E3”……甚至还能做什么? “疯狂!!甚至没能画出合适的藏宝图,没用的克汀丁。给我们修理吧!我们会赠予您一部分宝藏!” 挑战说明 一群海盗在阅读藏宝图时遇到了麻烦。您可以编写一个程序将其转换为更多盗版形式吗? 作为输入,您将收到原始的藏宝图。这是一个用逗号分隔的字符串的列表,每个字符串包括一个字母部分(告诉海盗他们需要走的方向)和一个数字部分(告诉海盗在这个方向上要走多少步)。例如,以下藏宝图: E2,N4,E5,S2,W1,S3 意思是“向东走两步,向北走四步,向东走五步,向南走两步,向西走一步,然后向南走三步。” 作为输出,就会输出地图图形形式,用文字>,^,v,和<为指针。这是上述输入的输出: >>>>>v ^ v ^ v< ^ v >>^ X 请注意,我们已将南面的最后一步替换为X。这是因为最后一步是宝藏在哪里,众所周知,海盗的宝藏地图上必须有一个X,否则他们将不知道如何阅读。 顺便说一下,地图永远不会交叉,因此您不必担心重叠问题。另外,允许在输出末尾添加尾随新行。 样本输入和输出 S5,W2 v v v v v X< N1,E1,S1,E1,N1,E1,S2 >v>v ^>^X N1 X N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2 >>>>>>v ^>>>>vv ^^>>vvv ^^^Xvvv ^^^^<vv ^^^<<<v ^^<<<<< E21,S2 >>>>>>>>>>>>>>>>>>>>>v X N12,E11,S12,W2,N4 >>>>>>>>>>>v ^ v …

1
Ruby on Rails(或Trackety Track)
您是铁路工程师Ruby。您的任务是在任何给定的山谷中追踪,以使其到达每个站点(M)。铺设的轨道数量并不重要,但必须以一条连续的路径铺设,该路径从山谷的入口/出口点(>)开始和结束,并且在任何一点都不会交叉。还有其他一些限制:mountains(^)是不可逾越的,因此您必须绕过它们,~必须使用bridge(X)穿越rivers (),并且山谷(#)的边缘也是不可实现的。 赛道规则 如果轨道放置不正确,将会出轨,没人会想要,所以这是轨道放置的规则。 轨道有四种:- | / \。 以下是每个人如何与其他人结合的方法: 允许的组合来自-(在每个示例的中心): ##### ##### ##### ##### ##### ##### ##### # # # # #\ # # # # /# #\ /# # # #---# # --# # --# #-- # #-- # # - # # - # # # #/ # …

30
打印乐高积木
这一挑战是一种简单的科学技术挑战。给定两个输入来描述乐高积木的高度和宽度,您已经打印了它的ASCII美术表示形式。 这是乐高积木的外观: (4, 2) ___________ | o o o o | | o o o o | ----------- (8, 2) ___________________ | o o o o o o o o | | o o o o o o o o | ------------------- (4, 4) ___________ | o o o o …

25
高尔夫十项全能的第一个代码[关闭]
任务 所有竞争对手都试图解决以下10个任务列表: 数学 从输入中读取正整数n并返回前n个非负整数的立方和。 对于输入1,应该返回0。 当且仅当n是梅森素数时,才从输入读取正整数n并返回真实值。 从输入读取n个整数的非空列表,并返回它们的中值。 如果n为偶数,则使用两个中间值中的较小者。 例如,的中位数[1 4 3 2]为2。 从输入中读取整数(正,负或0)或以10为底或一进制的字符串表示形式,并以negabinary返回其数字,且不带前导零(输入0除外)。 可以用任何方便的方式(数字,数组,字符串等)格式化输出。 串 返回pneumonoultramicroscopicsilicovolcanoconiosis。 检查当前日期,并Happy New Year!根据公历返回合适的日期。 伪随机地从Unicode块CJK Unified Ideographs Extension-A(U + 3400 – U + 4DB5)中选择64个唯一分配的代码点,然后返回相应字符的字符串。 所有可能的字符串应具有相同的被选择概率。 当且仅当第一个字符串的字符形成第二个字符串的子序列时,才从输入中读取两个可打印的ASCII字符串,并返回真实值。 例如,abc,axbxc应该返回truthy和bac,axbxc应该返回falsy。 数组操作 从输入中读取一个多维的矩形整数数组和一个整数n,并返回修改后的数组,其中所有整数均乘以n。 艺术 从输入中读取一个非负整数n,并返回n个火车货车的链,如下所示。 n = 3的示例输出: ______ ______ ______ | | | | | | ()--() ~ …

30
打印一张笑脸
要求 为了挑战,让我们定义一个单位: 单位定义为组成绘制面孔的网格的任何点(屏幕的像素,ASCII艺术的字符等)。 脸部的最低要求是: 笑脸的形状类​​似于任何半径的圆(不一定是完美的)。两只眼睛中的每只眼睛必须至少有1个单位,而嘴巴必须至少有2个单位。眼睛和嘴巴都应该在面部形状内。可以根据需要调整嘴巴的方向(快乐,悲伤,冷漠等)。 这是输出示例: 0 0 0 . . . 0 . . 0 . o o . 0 --- 0 . \_/ . 0 0 0 . . . 目标 当然,主要目标是想出尽可能短的代码,但是艺术也很重要。 优胜者 至少在接下来的5天内,根据用户的投票量选出获胜者。

16
堆栈溢出
(受此问题启发) 目的 您的任务是编写一个程序或函数以将ASCII版本的Stack Overflow徽标打印到STDOUT \|/ (-) (-) (-) (-) 您的程序应采用两个输入,此处称为H和N。堆栈“容器”的高度(括号)由H确定。堆栈中的项数由N确定。如果N> H,则堆栈将“溢出”。 输入输出 H将确定容器的高度 例如: H = 1: ( ) H = 2: ( ) ( ) H = 3: ( ) ( ) ( ) H将始终至少为1 N将确定堆栈中有多少个项目。以下示例均为H = 2: N = 0 ( ) ( ) N = 1 ( …

30
让我们画一些Atari ST炸弹!
介绍 在雅达利ST是从80年代中期到90年代初的时代,搭载了摩托罗拉68000微处理器一个相当流行的个人电脑。在这台机器上,未捕获的CPU异常的操作系统的默认行为是在屏幕上显示一行炸弹,如下图所示: 来源:https ://commons.wikimedia.org/wiki/File : Row_of_bombs.png 注意:取决于操作系统版本,炸弹图形可能会略有不同。但是,让我们以此作为参考。 炸弹的数量取决于异常向量,最常见的是: ($ 008)巴士错误:2枚炸弹 ($ 00c)地址错误:3枚炸弹 ($ 010)非法指令:4枚炸弹 目标 您的目标是编写一个程序或函数,以打印或输出此类Atari ST炸弹的ASCII艺术作品。 输入项 表示要显示的炸弹数量的整数。您的代码必须支持最常见的值:2、3和4。支持越来越少的炸弹是可以的,但既不是必需的,也不受奖励。 输出量 原始炸弹由16x16像素的图块组成,此处以ASCII和二进制形式表示: ....##.......... 0000110000000000 .#.#..#......... 0101001000000000 .......#........ 0000000100000000 #..#....#....... 1001000010000000 ..#...#####..... 0010001111100000 ......#####..... 0000001111100000 ....#########... 0000111111111000 ...###########.. 0001111111111100 ...###########.. 0001111111111100 ..#############. 0011111111111110 ..########.####. 0011111111011110 ...#######.###.. 0001111111011100 ...######.####.. 0001111110111100 ....#########... 0000111111111000 .....#######.... …

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.