Write language name in 3D ASCII: Difference between revisions

Content added Content deleted
m (→‎{{header|Sidef}}: improved the logo)
m (→‎{{header|Sidef}}: removed the second logo)
Line 2,213: Line 2,213:
EOT
EOT


func banner3D_1(text, shift=-1) {
func banner3D(text, shift=-1) {
var txt = text.lines.map{|line| line.gsub('*','__/').gsub(' ',' ')};
var txt = text.lines.map{|line| line.gsub('*','__/').gsub(' ',' ')};
var offset = txt.len.of {|i| " " * (shift.abs * i)};
var offset = txt.len.of {|i| " " * (shift.abs * i)};
Line 2,220: Line 2,220:
};
};


say banner3D_1(text);
say banner3D(text);</lang>

func banner3D_2(text, shift=-1) {
var txt = text.lines.map{|line| line.chomp + ' '};
var offset = txt.len.of {|i| " " * shift.abs * (i-1)};
shift < 0 && offset.reverse!;

var out = [];
txt.each_with_index { |i, line|
line.gsub!(' ',' ');
var line2 = (offset[i] + line.gsub('*','///').gsub('/ ','/\\'));
out.append(line2, line2.tr('/\\','\\/'));
};
out.join("\n");
};

say banner3D_2(text);</lang>
<pre>
<pre>
Line 2,249: Line 2,233:
__/__/__/ __/ __/__/__/__/ __/__/__/ __/
__/__/__/ __/ __/__/__/__/ __/__/__/ __/
/////////\
\\\\\\\\\/
///\ ///\ ///\ //////\
\\\/ \\\/ \\\/ \\\\\\/
///\ ///\ ///\
\\\/ \\\/ \\\/
///\ ///\ ///\ /////////\ //////\
\\\/ \\\/ \\\/ \\\\\\\\\/ \\\\\\/
/////////\ ///\ ////////////\ ///\ ///\ ///\
\\\\\\\\\/ \\\/ \\\\\\\\\\\\/ \\\/ \\\/ \\\/
///\ ///\ ///\ ///\ ///////////////\ ///\
\\\/ \\\/ \\\/ \\\/ \\\\\\\\\\\\\\\/ \\\/
///\ ///\ ///\ ///\ ///\ ///\
\\\/ \\\/ \\\/ \\\/ \\\/ \\\/
///\ ///\ ///\ ///\ ///\ ///\
\\\/ \\\/ \\\/ \\\/ \\\/ \\\/
/////////\ ///\ ////////////\ /////////\ ///\
\\\\\\\\\/ \\\/ \\\\\\\\\\\\/ \\\\\\\\\/ \\\/

</pre>
</pre>