Questions tagged «ascii-art»

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

11
Banach-Tarski悖论
Banach-Tarski悖论指出,给定3维空间中的球,您可以将球分解为有限数量的点子集。然后可以将这些不相交的点集重新组合以产生两个初始球副本。从理论上讲,您将拥有两个相同的球。 重新组装的过程仅包括移动上述点子集并旋转它们,而不改变其空间形状。只需五个不相交的子集即可完成此操作。 根据定义,不相交集没有公共元素。其中A和B是初始球的任意两个点子集,而A和之间的公共元素B是一个空集。在以下等式中显示。 对于下面的不交集,公共成员形成一个空集。 挑战 编写一个程序,该程序可以输入ASCII“ ball”,并输出重复的“ ball”。 输入值 这是输入球示例: ########## ###@%$*.&.%%!### ##!$,%&?,?*?.*@!## ##&**!,$%$@@?@*@&&## #@&$?@!%$*%,.?@?.@&@,# #,..,.$&*?!$$@%%,**&&# ##.!?@*.%?!*&$!%&?## ##!&?$?&.!,?!&!%## ###,@$*&@*,%*### ########## 每个球体均以井号(#)勾勒,并填充以下任意字符:.,?*&$@!%。每个输入将为22x10字符(宽度乘高度)。 创建重复项 首先,根据其在中的索引为球内的每个点赋予一个编号的点.,?*&$@!%。这是上面的示例,曾经编号: ########## ###7964151998### ##86295323431478## ##5448269677374755## #75637896492137317572# #21121654386679924455# ##1837419384568953## ##85363518238589## ###2764574294### ########## 然后,将每个点上移一个(九个变为一): ########## ###8175262119### ##97316434542589## ##6559371788485866## #86748917513248428683# #32232765497781135566# ##2948521495679164## ##96474629349691## ###3875685315### ########## 最后,每个新的点值都将转换回其相应的字符: ########## ###!.@&,$,..%### ##%@?.$*?*&*,&!%## ##$&&%?@.@!!*!&!$$## #!$@*!%.@&.?,*!*,!$!?# …

3
循环与循环与循环
挑战 创建一个函数,当给定ASCII艺术作品的输入(引导可能最终循环的路径)时,该函数将输出循环的长度(如果存在)和“尾部”的长度,而其中的“尾部”将通过以下方式之一进入循环表格如下。 输入值 您的输入必须传递给函数。下面是一个简单输入的示例。 # --> # --> # ^ | | | | v # <-- # 您可以像这样可视化上面的块 “尾巴”是一个项目,而循环是四个长。 一个更困难的: # --> # --> # ^ | | | | v # --> # <-- # # --> # ^ ^ | | | | | | v # …

3
给我建一个金字塔
您需要从多维数据集构建金字塔。多维数据集可以从2个角度查看: _____ _____ /\ \ / /\ / \____\ /____/ \ \ / / \ \ / \/____/ \____\/ 这是从2个可能角度的2尺寸立方体的示例。多维数据集的高度为$size斜杠(或反斜杠),而多维数据集的宽度为2 * $size下划线。顶层宽度应包含一个额外的下划线字符。 输入将以包含数字(立方体大小),斜杠或反斜杠(指示方向/角度)以及另一个数字(金字塔高度)的字符串形式提供。 例子: 输入: 1/1 输出: ___ /\__\ \/__/ 输入: 1\1 输出: ___ /__/\ \__\/ 输入: 2/1 输出: _____ /\ \ / \____\ \ / / \/____/ 输入: 1/2 …

4
ASCII Art射箭箭
编写一个程序或函数,该程序或函数需要一个正整数,并打印或返回根据输入比例缩放的射箭箭头的ASCII艺术插图。 如果输入是1输出 /\ / \ \__/ || || || || || || || || /||\ / || \ / || \ // \\ / \ 如果输入是2输出 /\ / \ / \ / \ \ / \____/ | | | | | | | | | | | | | | …

16
给我编码一个cookie
挑战 根据输入编码一种ASCII cookie。 输入值 饼干种类。这是三个字符串之一:“普通”,“巧克力”或“坚果”。可以是函数参数,stdin(或最接近的等效参数)或文件参数。 输出量 ASCII cookie。见下文。 一定是 ___ / \ | | \___/ 对于普通输入, ___ /. .\ | . | \___/ 最后输入巧克力 ___ /^ \ |^ ^| \___/ 用于坚果输入。 其他资讯 这是我的第一个挑战,这很简单。建设性的反馈意见非常感谢。 使用任何手段来这样做。 尾随空格很好。 这是一场标准高尔夫挑战赛,因此在9天(2015年8月12日,星期三)结束时最短的比赛获胜。 谢谢! 获胜者是Jakube使用Pyth的41个字节。谢谢所有参加的人。我现在要自己承担一些更复杂的挑战。

30
反铁磁排序
反铁磁性是什么IBM研究人员使用从跳1个TB的磁盘至100兆兆字节盘以相同的量的原子。 在具有反铁磁性的材料中,通常与电子自旋相关的原子或分子的磁矩以规则的方向排列,相邻的自旋(在不同的子晶格上)指向相反的方向。 您的工作是编写一个程序,以绘制反铁磁原子的顺序,如上图所示。尽管您可能有更多对,但您必须至少能够有四对。 每对必须显示如下,尽管它们必须是实际的箭头: 上下 下来 上下 您的输出可以是ascii art或图形输出。 您只能创建一个函数或整个程序,但必须输入并绘制那么多对。仅带单词的示例: 输入1 上下 下来 上下 输入2 向上向下向下 下来下来 向上向下向下 可接受的箭头: ↑ 和 ↓ ⇅ 和 ⇵ /|\ 和 \|/ 易于阅读,请以X字节的语言格式填写答案。最少的字节数获胜!

6
每日ASCII艺术#3-中国神社
在今天的AAOD中,我们将建造一座高度不同的中国神社。 考虑以下示例中的高度(N)1至6 N = 1: . | . ]#[ . \_______/ . ]###[ . \__]#.-.#[__/ |___| |___| |___|_|___| ####/_\#### |___| /_____\ N = 2: . | . ]#[ . \_______/ . ]###[ . \___________/ . ]#####[ . \___]#.---.#[___/ |__|_| |_|__| |__|_|___|_|__| #####/___\##### |_____| /_______\ N = 3: . | . …

4
建立ASCII斐波那契时钟
有人使用斐波那契数字建立了一个非常漂亮的时钟,它看起来很不错,但是却无法使用。就是我们喜欢的方式!让我们重新创建它。 时钟由与前五个斐波那契数相对应的5个部分组成,从1(即1、1、2、3、5)开始: ccbeeeee ccaeeeee dddeeeee dddeeeee dddeeeee 时钟能够以5分钟为增量显示12小时时间。这是这样的。考虑时间7:20。可以将小时7分解为给定的斐波那契数 7 = 2 + 5 还有5分钟的4个单元。4可以分解为 4 = 2 + 1 + 1 现在,小时显示为红色,分钟显示为绿色,如果小时和分钟都使用数字,则显示为蓝色。如果根本不使用数字,它将保持白色。因此,上面将显示为: BBGRRRRR BBGRRRRR WWWRRRRR WWWRRRRR WWWRRRRR 但是,等等,还有更多。上述分解并不是唯一的可能性。一个人也可以写7 = 3 + 2 + 1 + 1和4 = 3 + 1,这将给 GGRWWWWW GGBWWWWW GGBWWWWW GGRWWWWW BBBWWWWW or BBBWWWWW BBBWWWWW BBBWWWWW BBBWWWWW …

3
ASCII L系统渲染器
背景 一个L-系统(或系统Lindenmayer)是平行重写系统,除其他外,可以很容易地用于模型分形。这个问题涉及确定性,上下文无关的L系统。它们由符号字母,初始公理字符串和将每个字母符号映射到新字符串的一组重写规则组成。规则并行应用于公理,生成一个新字符串。然后重复此过程。 例如,具有公理“ A”和规则A = ABA; B = BBB的系统生成字符串“ ABA”,“ ABABBBABA”,“ ABABBBABABBBBBBBBBBBBBABABBBABA”等字符串的序列。为简洁起见,我们没有明确提及定义L系统时的字母。此外,假定没有显式重写规则的任何符号都是不变的(即,符号A的默认规则为A = A)。 L系统可以使用乌龟图形的形式进行可视化。按照惯例,乌龟开始朝右。然后,通过重复其符号来绘制字符串:F表示“向前拉一个单位”,G表示“向前拉一个单位”,+表示“向左旋转一个角度单位”,而-表示“向右旋转一个角度单位”。单元”。字符串中的所有其他符号将被忽略。出于这个问题的目的,假定角度单位始终为90°。 任务 给定任何L系统的规范和多次迭代后,您的程序应使用箱形绘图字符输出结果字符串的ASCII渲染(如上所述)。 参数以空格分隔的字符串形式传递,该字符串包括公理,重写规则(作为等式的列表)和重写迭代次数。例如,输入“ FF = FGF; G = GGG 2”生成字符串“ FGFGGGFGF”,因此以适当的间距绘制四行。 L系统使用的符号可以是除空格和分号之外的任何ASCII字符。每个符号最多指定一个显式规则(默认重写规则是如上所述的身份映射)。 您可以假定输出将始终包含至少一个F。 输出应使用以下UNICODE框形图字符表示可视化效果:─(U + 2500),│(U + 2502),┌(U + 250C),┐(U + 2510),└(U + 2514) ,┘(U + 2518),├(U + 251C),┤(U + 2524),┬(U + 252C),┴(U + 2534),┼(U …

8
画出山脉
受斐波那契多米诺骨牌拼贴的启发,此问题与生成代表另一种著名组合序列的ASCII艺术有关。 阿正步骤山图是山脉的图,使用完全相同Ñ “/”和Ñ “\”字符,使得字符绘制一连续曲线,该曲线永不下降到低于其初始的“高度”。例如, /\/\ /\/ \ 和 /\ /\/ \/\ 都是四步山图,但是 /\ /\/\ \/ 不是。 输入值 程序应从stdin 接受整数n或作为函数的参数。 输出量 将所有n步山图打印到stdout。图可以以任何顺序排列,但应以某种空白分隔。您可以决定是否将水平,垂直等输出不同的图。 就像在多米诺砖化问题中一样,您可以使用所需的任何空白。这包括在打印输出之前或之后的多余换行符。 例 对于n = 3的一些示例有效输出: 有效输出A: /\ /\ /\ / \ /\/\ /\/\/\ / \/\ /\/ \ / \ / \ 有效输出B: /\ /\/ \ /\/\ / \ /\/\/\ …

13
显示一个提示(以不同为基准)
Tallying是一个简单的计数系统,可在基础5中使用。全世界使用了各种不同的计数系统,但是在大多数英语国家中使用的计数系统可能是最简单的-通过标记垂直线来计数单位,然后每个第5个标记在前面的四个集合中放置一条水平线。这会将计数标记分为5组(并使它们更容易快速计数)。 您将要编写一个程序,该程序显示到一个给定值的计数标记。但是,仅以5为基数就很无聊!因此,您的程序还应该能够显示不同基准的计数。 输入值 输入将是一个或两个用逗号分隔的非负整数值(例如9或8,4)。第一个数字是理货应显示的值。第二个值是计数的基础。如果未提供第二个值,请使用5为底。 输出量 输出将是输入的值,表示为ASCII艺术标记。这是一些示例,您可以根据这些示例测试程序-输出应与它们完全匹配! 输入:12或12,5 | | | | | | | | | | -+-+-+-+- -+-+-+-+- | | | | | | | | | | | | 输入: 7,3 | | | | | -+-+- -+-+- | | | | | | 输入: 4,2 | | …

2
Ascii艺术饼图
您的目标是输出ASCII艺术饼图。这是代码高尔夫,所以最短的程序(计算源代码的字节,而不是字符)获胜。 不允许使用任何外部软件或API。仅每种语言的母语。 圆的起始角度和方向(顺时针/逆时针)并不重要。输出可能看起来是椭圆形的,因为字符的高度始终大于其宽度。 “背景”(饼图的左侧或右侧的字符)必须为空格。 作为输入,您有三个变量(请发布代码以对其进行初始化。这些变量的初始化不计入分数): k:字符数组。每个字符都是饼图上必须使用的字符 v:浮点数数组。这是每个字符的百分比。的长度v等于的长度k。它的元素总和始终为1.0 r :整数&gt; 1.这是饼图的半径。 奖励:如果您可以输出不完整的饼(如果),则减去分数的20%。(∑| v |我= 1v一世)&lt; 1(∑一世=1个|v|v一世)&lt;1个(\sum_{i=1}^{|v|} v_i)<1

10
情人节贺卡生成器
创建一个程序,给定名称作为输入,该程序将生成具有该名称的情人节贺卡,其源代码也具有情人节主题。问候可以是ASCII艺术作品或生成的图片。 附加条件: 源代码必须看起来像情人节主题的内容(例如心形,诗歌或其他任何东西。要富有创造力) 所有代码和相关资产都需要适合您的答案。 您可以使用网络连接,但只能下载此页面(如果此问题需要多个页面,您也可以下载它们)。您可以根据需要使用StackApps API。 “必须看起来像情人节主题的东西”规则也适用于您尝试在此页面上使用的任何内容(如果使用网络连接)。 不允许其他外部文件。 您可以使用您语言的标准库,但不允许使用外部软件包。 其他限制: 没有。这是一次人气竞赛。 得分: 每个可见的投票(=赞成减去反对)得10分 每对您的答案发表评论两次,您将获得1分 得分最高的答案将在情人节(2014年2月14日)接受 **此竞赛现已结束,感谢您的参与!**如果您愿意,您仍然可以添加答案

13
建立一个模拟时钟
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 编写一个程序,使用ASCII图形将当前系统时间显示为模拟时钟。时钟必须至少显示小时和分钟指针,并且必须具有至少5分钟的足够分辨率。 显示屏可能很小也很丑,但是显示的时间应该很容易辨认。 该程序必须连续运行并更新其状态。如果您的系统可以清除屏幕,请使用它,否则当状态更改时足以重绘时钟。 如果时钟的分辨率至少为1分钟,您将获得-20%的字符数奖励。

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 &lt;=分子&lt;= 10 72 - 1 1 &lt;=分母&lt;= 9999999 …

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.