Questions tagged «ascii-art»

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

5
生成一个ascii-art不相交的路径
给定2个代表该字段大小的整数输入,x并y输出通过该字段的路径。 输出示例5, 4: # # # ### ### # 整个字段是5 x 4,并且有一个由井号组成的路径穿过该字段。 路径应始终从左上角开始,然后到右下角。每次运行程序时,应将整个路径随机化。每个有效路径都应该是可能的输出。 路径规则为: 由井号组成 每个哈希仅连接到其他2个哈希(即路径不相交或与之并行) 非哈希空格可以用其他任何字符填充,但必须一致(即所有空格,所有句点等)。 例子: 2, 2 ## # 3, 4 ## ## # # 5, 5 ##### # # # # 6, 5 ## ### # # # ## # # # ## # ### # …

4
棋盘格!
介绍 来自维基百科: 平面的细分是指使用一个或多个几何形状(称为图块)的平铺,没有重叠且没有间隙。 下面显示了一个众所周知的细分: 菱形的平铺方式不会导致重叠或间隙,并模拟了立方的互换列。 任务 您的任务是编写一个与上面的图像相同的镶嵌菱形的程序。程序的输入将为镶嵌的尺寸:height x width,其中width是列数,height是行数。 单个立方体1 x 1(菱形的3个图块)的表示方式如下: _____ /\ \ / \ \ / \ _____\ \ / / \ / / \/_____ / 因此,如果输入/尺寸为3 x 2,则应为输出: _____ /\ \ / \ \ / \ _____\ _____ \ / /\ \ \ / / \ …

7
Eyjafjallajökull的喷发?
2010年,冰岛Vulcano(简写为 Eyjafjallajökull火山 喷发,导致我原计划的航班被取消。 万一这种情况再次发生,我真的想提前知道,所以请帮助我建立一个简单的视觉警报系统! 输入值 前往冰岛气象局火山活动警报代码作为输入(字符串): 绿色 -火山处于正常非喷发状态。 黄色 -火山的动荡迹象超过已知的背景水平。 橙色 -火山的骚动加剧,爆发的可能性增加。 红色 -预计即将爆发,可能有大量灰烬排放到大气中。 输出量 图形(ASCII艺术)警报,显示Eyjafjallajökull的状态。 绿色(Eyjafjallajökull正在休息) al la j j jaf öku y l E l ------------------- 黄色(会冒烟!) ~ ~ ~ al la j j jaf öku y l E l ------------------- 橙色(多烟!) ~ ~ ~ ~ ~ ~ …

6
我的世界城堡分形
由PPCG同伴的YouTube视频所致... 您面临的挑战是使用ASCII艺术画出Andesite和Diorite的Minecraft城堡墙。墙的形状是Cantor Set。作为参考,通过重复以下N次来创建Cantor集: 当前步骤的三倍 用空格替换中间的一个 在其下方添加整行 这将为前四个步骤创建以下内容: * * * *** * * * * *** *** ********* * * * * * * * * *** *** *** *** ********* ********* *************************** 但是,您的挑战并不是那么简单。您会看到,在康托集变得非常大之后,反复查看相同的角色变得无聊。因此,我们将通过覆盖一系列交替的星号*和磅符号来更改此状态#。您应该水平每隔三个字符,垂直每行交替。(当然,空格保持不变)例如,第二个示例将变为: * * ### 第三个示例将变为: * * * * ### ### ***###*** 为了完整起见,下面是示例四和示例五: #4 * * * …

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

1
数一下ASCII hamantaschen!
今天是普im节(Purim),一种习俗是散发出带有馅料的三角形饼干hamantaschen(单数:hamantasch)。另一种习惯是大量饮酒。 我不是最完美的面包师。。。我有很多不规则尺寸的hamantaschen可供分发,还有很多朋友可以给他们!如果我给您发送了一张我的饼干的照片,您能告诉我我有多少个大小和馅料吗?但是因为是普im节,而且我太醉了,无法阅读太多代码,所以它必须尽可能地小。 定义 尺寸 hamantasch可以是任何大小。最小的hamantasch是1号,看起来像这样: /\ -- -- \/ 有时,多个hamantaschen可能会重叠。以下形状算作两个hamantaschen(一个尺寸1,一个尺寸2): /\ /\ \ ---- 一些hamantaschen 充满了。这将通过用字符填充内部的所有空白来表示。请注意,尺寸1的hamantaschen不能填充。 我们将根据馅料和大小来命名 hamantaschen。让我们使用格式<filling> <size>,如果没有填充,- <size>可以使用空格代替-,但markdown并不是这样)。 这是一个. 2,一个. 4和一个- 3: /\ /./\ ---- /./ \ \../ /./ \ \/ -------- 这些是@ 3,a . 2和a - 4: /\ / /\ /\ / /@@\ /..\ / /@@@@\ ---- …

13
模制ASCII艺术
系统会为您提供一个不包含换行符的可打印ASCII字符串,以及一个包含空格()和哈希(#)的多行“ mold” 。 您必须在字符串中一个接一个地输入字符,并使用字符串中的字符按从左到右,从上到下的顺序替换哈希。如果字符串太短而无法填充模具,则停止输出;如果字符串太长,则截断字符串以准确填充模具。 示例字符串/模具(字符串太长,被截断): Loremipsumdolorsitamet,consecteturadipiscingelit.Namsuscipitmagnanoneratgravidacondimentum.Vestibulumnecnisllorem.Fuscemolestieviverranibh,eueleifendnislplaceratnon.Namblanditturpislacus,vitaemolestielacusimperdietquis.Nullapulvinar,exquissollicitudinfacilisis,eratnullavolutpatlectus,etluctusenimvelitegetex.Inhachabitasseplateadictumst.Donecinterdumnullalacinia,sodalesloremin,eleifendturpis.Pellentesqueanisimi.Aeneannonlobortisdiam,quisaliquetquam.Aeneanaugueipsum,imperdietsedaliquetnon,volutpategetsapien.Nullampharetranullaquispretiumornare.Aliquamfermentumvestibulummassavitaevehicula. ########################################################### ##### ############## ###### ###### ###################### ##### ## ###### # ##### ###### ######## ###### ###### # # #### #### ##### ###### ####### ###### ##### ###### ### ### ##### ###### ####### ####### ##### ###### ##### ### ########### ###### ####### ### ###### ###### ###### ### ########## …

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

4
一个简单的DNA模拟器
您的代码将永远生成DNA的非常简单的ASCII表示形式。它会以您想要的任何格式将两个数字作为输入:作为列表,作为函数的参数,在stdin等上。 I介于0.0到1.0(含)之间的浮点间隔(以秒为单位) 缩放级别Z,从1到64(含)的整数 您的代码将每秒钟将一行输出到stdout或等价的行,从而I产生一个无限的输出,看起来像这样(缩放级别4): A T-----a G-------c G-----c g t-----A a-------T c-----G T A-----t C-------g ... 具体地,我们的DNA的表示是一对由连字符连接的正弦波,一个由字符a,c,g,和t,其他字符的A,C,G,和T。如果x是我们当前正在打印的行的0索引编号,则小写波中字符的从0开始的位置由给出(sin(πx / Z) + 1) * Z,而大写波中的字符从0开始的位置由给出(-sin(πx / Z) + 1) * Z,两者都四舍五入(但没有下限)整数。更多细节: 如果两个波浪重叠,则需要从大写波浪开始,交替选择哪个波浪在前面。(从小写波开始,我们会得到一个不存在的双螺旋!) 忽略大小写,A总是与T配对,C总是与G配对,就像在真实的DNA中一样。线对本身应随机选择,并在四种可能性上均匀分布。在代码的连续运行中,对的选择是相同还是不同并不重要。只要输出没有明显的模式并且周期至少在十亿之内,随机选择的统计质量就不成问题了(像RANDU这样有缺陷的PRNG 很好。) 您必须没有尾随空格,或者必须在该缩放级别将每一行都填充到波浪的最大位置(在上面的示例中为九个字符)。出于数学原因,缩放级别1可能有一个可选的附加尾随空格。 由于DNA很小,因此您的代码将需要尽可能短。 更多示例: 缩放等级8: T C-----g A-----------t C-------------g G---------------c T-------------a T-----------a T-----a c g-----C t-----------A g-------------C a---------------T ... …

6
调整椅子
挑战 您刚买了一把新椅子!问题是,您不知道如何控制它,因此您需要编写一个程序来为您做。 您只能在未调整的椅子上坐很长时间。因此,您的代码将需要尽可能短。 例子 5,3,2,2,1 O | | | _ | | |_|_ | | O 3,5,2,3,5 O | _ | | |__|__ | | __|__ OOOOO 2,13,1,1,13 O | _ |______|______ ______|______ OOOOOOOOOOOOO 我是唯一认为这架飞机看起来像飞机的人吗? 椅子零件 椅子具有各种组件: O | | <- Backrest | _ <- Armrest | | |__|__ <- …

3
我生日的主题:如火如荼
我需要点蜡烛。实际上,我需要点燃任意数量的蜡烛。但是只有好的。 目的给定一个文本块(包含已点燃,有效和无效的蜡烛)和一个数字N作为输入,编写一个程序或函数,使其点亮的数量等于N,减去已点燃的蜡烛的数量。如果N大于有效蜡烛数,则程序应打印缺少的有效蜡烛数。如果没有蜡烛,输出应为:(。 这是一些有效的蜡烛: . | . . | | . \ | | | / (以结束的.,仅包含|或平衡的,不一定与\和相邻/,可以是任意长度。) 这是一些无效的蜡烛: . . . . \ | | | | | | \ . | ! (不平衡\,没有烛台,断开连接|,没有字符,没有被种植在地面上。) 点燃的蜡烛将用.以下任意字符(您选择的)替换有效蜡烛上的: @ ^ & " ~ 您必须至少使用一个,并且您-10%的程序中使用的每个字符都会获得奖励,以使每个字符都可以出现在点燃的蜡烛上。如果您使用🔥表情符号,则会获得一个-15字节奖励,如果使用了,它将在百分比奖励之前应用。字节数已减少! 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。 IO范例 input: 8, . . | . ! . …

1
变形箱
我定义了四种框样式: +-----+ ooooooo ^^^^^ ******* | 1 | o 2 o < 3 > * 4 * | | o o < > * * +-----+ ooooooo vvvvv ******* 编写一个给定整数和字符串的程序或函数,它将在字符串内找到上述框之一,并将其​​样式更改为用户要求的框样式。例如: 1 This is a test document. It ********* has no *purpose* other than dem*onstrat*ion. ********* 成为: This is a test …

4
X标志点
X标志点 您的目标是在大写X周围添加十字形: 输入/输出示例 输入: mdhyyyyyyyhhhddmmm mdyyssoo oooosyyyhhhdmm hsso oossoooooyyhhdhhdmmm yoooooo oo ssysssyhhdyyyhmmmm myso oso o oyo hhhdhhyhyhhm mm m mhsyhhys oss yyyhhhsosyhhmmmmdmmm mhyhhhy y ssyhoho o shhdmmmmdmmmm hhyyyh s oo syysyyhhdysso oyhdhhhmmmmm dhysyys sdysoXoyyyyhhso syshm mmm hhyhyo o osss y shhyyhd mmmmmm yyhyyyss o oyyyydmmdmmmmmmmmm mm ysyhyhhho s osy sdm …

11
64位ASCII编织
输入值 两个整数: 一个介于0到2 ^ 64-1之间的非负整数W,用于指定组织。 在1到255之间的正整数S,指定边长。 这些可以按照适合您的顺序进行。 输出量 请求的编织的S by S ASCII表示形式(S换行符分隔S字符的字符串,带有可选的尾随换行符)。编织由编织编号W定义,如下所示: 将W转换为二进制并拆分为8个字节。第一个(最高有效)字节定义了从左(最高有效位)到右的第一行。下一个字节定义了下一行,依次类推8行。编织编号定义了一个8 x 8的正方形,该正方形应从左上方开始平铺在所需区域上。也就是说,其左上角应对应于要覆盖区域的左上角。 每个0都应显示为a |,每个1都应显示为a- 例子 输入: 0 8 输出: |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| 输入: 3703872701923249305 8 输出: ||--||-- |--||--| --||--|| -||--||- ||--||-- |--||--| --||--|| -||--||- 输入: 3732582711467756595 10 输出: ||--||--|| --||--||-- --||--||-- ||--||--|| …

9
绘制越来越多的盒子
任务 在此挑战中,您的任务是绘制几叠高度递增的盒子的ASCII艺术作品。输入的堆栈数为正,是一个正整数。第一个堆栈包含一个size的框2x2。第二个堆栈包含2个size的框3x3。通常,第kth个堆栈包含ksize的盒子(k+1)x(k+1)。 每个框的边框都是使用字符绘制的-|+,它们的内部由空格组成。相邻的框共享其边界,并且+即使它们是另一个框的边界的一部分,也应始终使用绘制角。 例子 输出为1: ++ ++ 输出为2: +-+ | | +-+ ++ | ++-+ 输出为3: +--+ | | | | +--+ | | +-+ | | +--+ +-+ | ++ | | ++-+--+ 输出为5: +----+ | | | | | | | | +----+ | | | | | …

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.