Lir*_*una 36 language-agnostic code-golf rosetta-stone
按字符排序的最短代码输出一个蜘蛛网,其环等于用户的输入.
通过重建中心环启动蜘蛛网:
\_|_/
_/ \_
\___/
/ | \
Run Code Online (Sandbox Code Playgroud)
然后添加等于用户输入的数量的环.环是由由"蜘蛛圈"的另一个水平\ / |和_,并包装中心圆.
输入始终保证为单个正整数.
Input
1
Output
\__|__/
/\_|_/\
_/_/ \_\_
\ \___/ /
\/_|_\/
/ | \
Run Code Online (Sandbox Code Playgroud)
Input
4
Output
\_____|_____/
/\____|____/\
/ /\___|___/\ \
/ / /\__|__/\ \ \
/ / / /\_|_/\ \ \ \
_/_/_/_/_/ \_\_\_\_\_
\ \ \ \ \___/ / / / /
\ \ \ \/_|_\/ / / /
\ \ \/__|__\/ / /
\ \/___|___\/ /
\/____|____\/
/ | \
Run Code Online (Sandbox Code Playgroud)
Input:
7
Output:
\________|________/
/\_______|_______/\
/ /\______|______/\ \
/ / /\_____|_____/\ \ \
/ / / /\____|____/\ \ \ \
/ / / / /\___|___/\ \ \ \ \
/ / / / / /\__|__/\ \ \ \ \ \
/ / / / / / /\_|_/\ \ \ \ \ \ \
_/_/_/_/_/_/_/_/ \_\_\_\_\_\_\_\_
\ \ \ \ \ \ \ \___/ / / / / / / /
\ \ \ \ \ \ \/_|_\/ / / / / / /
\ \ \ \ \ \/__|__\/ / / / / /
\ \ \ \ \/___|___\/ / / / /
\ \ \ \/____|____\/ / / /
\ \ \/_____|_____\/ / /
\ \/______|______\/ /
\/_______|_______\/
/ | \
Run Code Online (Sandbox Code Playgroud)
代码计数包括输入/输出(即完整程序).
mob*_*mob 40
195 184 171 167 164
print@o=((map{$z=_ x($x=1+$N-$_);$"x$x." /"x$_."\\$z|$z/".'\ 'x$_.$/}0..($N=<>)),
"_/"x++$N." ".'\_'x$N.$/);
y'/\\'\/',@o||y#_# #,$t++||y#_ # _#,print while$_=pop@o
Run Code Online (Sandbox Code Playgroud)
第一个语句打印出蜘蛛网的上半部分.第二个语句使用音译操作来创建上半部分的反射.
下一个重量接近314个字符(生产代码),但更符合本季的精神.
; "
Tr Ic
K| |t
Re aT
", "H
av e
A: -
)H AL LO W
ee N" ," En
jo y_ Yo ur
_ C&& y"; ##
&I (); $N= 1+
<>; $,= $/;@O =(( map
$" x($ X=$N-$_). ${ f}x$_.$
B.${U}x$X.$P.${U}x$X.$
F.${b}x$_,0..$N-1),${g}x$N.(${S}
x3).${c}x$N);sub I{($F,$B,$U, $P)
=qw (/ \\ _ |);; ${
S}= " ";$f=$S.$F;$g=$ U.
$F ;$b=$B.$S;$c=$B.${U};}@{ P}=
@{ O}; while($_=pop@{P} ){ @{
P} || y:_: :;$spooky++ || 0|
0 || y@_ @ _@;y:/:8:; ; ;
; ;; y:\\:/:;y:8:\\:; @O =
( @O ,$_);}print@O; q{
Do !Discuss:Rel ig
io n,Politi cs
,& &T
heG rea
tP ump
ki n}
Run Code Online (Sandbox Code Playgroud)
帽子提示http://www.ascii-art.de/ascii/s/spider.txt
我手工构建了蜘蛛形代码,但是请参阅CPAN上的Acme :: AsciiArtinator模块,以获得有关自动化(或至少半自动化)任务的帮助.
Joh*_*ooy 18
所有的空白都很重要!如果您意外地在末尾添加换行符,则输出结尾会有一个额外_的行
~):@,{@\:&-:0' ': *& '/':/+*'\\':~'_':
0*.'|':|\/~ +&*n}%
/+@* ~
+@*n ~+@*
@/ +*n@,{):& *@&-:( ~+*/[
](!=&*.|\~/ +(*n}%
Run Code Online (Sandbox Code Playgroud)
Golfscript - 129个字符
~):@,{@\:&-:0' ': *&' /'*'\\':~'_':
0*.'|'\'/'~ +&*n}%'_/'@* '\_'@*n ~+@*
@'/ '*n@,{):& *@&-:( ~+*'/'[
](!=&*.'|'\~'/ '(*n}%
Run Code Online (Sandbox Code Playgroud)
Golfscript - 133个字符
~):@,{@\:&-:0' ': *&' /'*'\\':~'_':
0*.'|'\'/'~ +&*n}%'_/'@*3 *'\_'@*n' \\'@*3
*@'/ '*n@,{):& *@&-:( ~+*'/''_ '1/(!=&*.'|'\~'/ '(*n}%
Run Code Online (Sandbox Code Playgroud)
n=input()+1;b,f,p,u,s='\/|_ '
a=[s*(n-i)+' /'*i+b+u*(n-i)+p+u*(n-i)+f+'\ '*i+s*(n-i)for
i in range(n)]
print"\n".join(a+['_/'*n+s*3+'\_'*n,' \\'*n+u*3+'/ '*n]+[x[::-1]for
x in a[:0:-1]]+[a[0][::-1].replace(u,s)])
Run Code Online (Sandbox Code Playgroud)
请注意,此代码包含源中的起始Web.(最后加倍的反斜杠是一种耻辱.早期的版本没有.)
$_='
\_|_/
_/ \_
\___/
/_|_\\';
for$x(1..<>){
s|(.\S).*([/\\].)|$1$&$2|g;
s|\\(.*)/| \\_$1_/$` /$&\\ |;
s|(\s+)\K/(.*).$| \\$&/$1 /_$2_\\|
}
s|_(?=.*$)| |g;
print
Run Code Online (Sandbox Code Playgroud)
内部的空白$_是重要的(当然),但其余的都没有.如果你有一个小改进的建议,请随意编辑我的代码.例如,Kinopiko已经削减了6个角色!
根据您对命令行开关的计算方式,这可能会更短(如果我可以正确计算,通常的Perl高尔夫规则为154):
#!perl -ap
$_='
\_|_/
_/ \_
\___/
/_|_\\';
s|(.\S).*([/\\].)|$1$&$2|g,
s|\S(.*).| \\_$1_/$` /$&\\ |,
s|(\s+)\K/(.*).$| \\$&/$1 /_$2_\\|while$F[0]--;
s|_(?=.*$)| |g
Run Code Online (Sandbox Code Playgroud)