在这种大写字母的像素化字体中,所有字符均为5个单位宽和5个高。
███ ████ ███ ████ █████ █████ ████ █ █ █████ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ ██
█████ ████ █ █ █ ████ ████ █ ██ █████ █ █ ███ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ████ ███ ████ █████ █ ████ █ █ █████ ███ █ █ █████ █ █
█ █ ███ ████ ███ ████ ████ █████ █ █ █ █ █ █ █ █ █ █ █████
██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ ████ █ █ ████ ███ █ █ █ █ █ █ █ █ █ █ █
█ ██ █ █ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ███ █ ████ █ █ ████ █ ███ █ █ █ █ █ █ █████
可以看出,字母之间和行之间也有1个单位的空间。因此,每个字母最多可占用6×6个单位的空间。
假设而不是使用完整的块字符(█
),直接形成字母的形状,我们希望使用在相同的字体其他字母。这涉及将文本的尺寸增加6倍,以便由大写字母组成的字母可以用作较大文本中的大写字母替换。
如果那没有道理,希望这个例子会。这是A使用像素化字体由B组成的:
████ ████ ████
█ █ █ █ █ █
████ ████ ████
█ █ █ █ █ █
████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
B由完整的块组成,而A由B组成。请注意,B在水平和垂直方向之间仍然有一个单位。
我们可以通过使用单词而不是字母来扩展这个想法。这是由“火”制成的“水”:
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █
█████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████
请注意,“ FIRE”如何在每一行上重复出现,并且始终保持顺序,无论字母之间有多少间距。由于“ WATER”字母的形状是很早的,所以最右边的三个“ FIRE”实例被早期切除。
通过使用由单词构成的这些单词,使由单词构成的单词构成的单词,或者甚至由单词构成的单词构成的单词构成的单词,可以进一步扩展该思想。理论上没有限制。
另一个示例会将这篇文章的字符数限制在30k以内,但是通过运行这个漂亮的Stack Snippet,您可以看到“单词由单词组成的单词”的含义。只需将参数保留为默认值,然后按“ Go!”。您应该看到由单词“ CAT”和单词“ MOUSE”组成的单词“ DOG”。
在文本框中键入任何用空格分隔的仅包含大写字母的单词列表,将产生由第二个单词组成的第一个单词,第二个单词由第三个单词组成,第四个单词由...组成,等等。
警告:输入超过4个或什至3个单词将产生大量文本,并且花费很长时间。它可能会使您的浏览器/计算机/汽车崩溃。
挑战
这项挑战的目标是反映出堆栈片段在最少字符数下的功能。
您必须编写一个程序,该程序使用空格分隔的仅包含大写字母的单词字符串,并使用上面给出的像素化字体输出第一个单词“由...构成”,第二个“由...构成”,依此类推。
程序中不需要支持“纯ASCII”复选框和代码片段的字体大小功能。从单词列表到单词组成的单词的转换镜像是重点,也是唯一的要求。
细节
输入应来自stdin,命令行,或者您可以编写一个带有字符串的函数。
您可能会假设输入始终有效,即由大写字母组成的一串字词,由一个空格完全分隔,没有前导或尾随空格。
输出应转到标准输出(或类似的替代品)或具有您选择的名称的文件。
输出应完全由空格,全角和换行符组成。
- 的空/满空格字符应或者是空间和全块(
,
█
分别地),或周期和X(.
,X
分别地)。
- 的空/满空格字符应或者是空间和全块(
输出不应包含仅包含空格字符的任何前导列,尽管允许在任何行上尾随空格字符的任意组合。
因此,这是允许的:
X...X.XXXXX.. X...X.X X.X.X.XXXX.... X.X.X.X.. .X.X..XXXXX..
但这不是:
.X...X.XXXXX.. .X...X.X .X.X.X.XXXX.... .X.X.X.X.. ..X.X..XXXXX..
不应有仅包含空格字符的开头或结尾行。可选地允许单条尾随换行符。
这是字体的更加字符串友好的版本:
.XXX.
X...X
XXXXX
X...X
X...X
XXXX.
X...X
XXXX.
X...X
XXXX.
.XXX.
X...X
X....
X...X
.XXX.
XXXX.
X...X
X...X
X...X
XXXX.
XXXXX
X....
XXXX.
X....
XXXXX
XXXXX
X....
XXXX.
X....
X....
.XXXX
X....
X..XX
X...X
.XXXX
X...X
X...X
XXXXX
X...X
X...X
XXXXX
..X..
..X..
..X..
XXXXX
....X
....X
....X
X...X
.XXX.
X...X
X..X.
XXX..
X..X.
X...X
X....
X....
X....
X....
XXXXX
X...X
XX.XX
X.X.X
X...X
X...X
X...X
XX..X
X.X.X
X..XX
X...X
.XXX.
X...X
X...X
X...X
.XXX.
XXXX.
X...X
XXXX.
X....
X....
.XXX.
X...X
X...X
X..XX
.XXXX
XXXX.
X...X
XXXX.
X..X.
X...X
.XXXX
X....
.XXX.
....X
XXXX.
XXXXX
..X..
..X..
..X..
..X..
X...X
X...X
X...X
X...X
.XXX.
X...X
X...X
.X.X.
.X.X.
..X..
X...X
X...X
X.X.X
X.X.X
.X.X.
X...X
.X.X.
..X..
.X.X.
X...X
X...X
.X.X.
..X..
..X..
..X..
XXXXX
...X.
..X..
.X...
XXXXX
计分
这是代码高尔夫球,因此以字节为单位的最短提交会获胜。完整块(█
)的任何实例都可以计为1个字节,而不是3个字节,因此使用提交X
没有优势。
$('#question pre, .answer pre').css('line-height',1)
javascript:
URL栏并将其粘贴),以使此处的ASCII文字更容易阅读$('#question pre').css('line-height',1)
。结果:i.stack.imgur.com/XmB8C.png