Write language name in 3D ASCII: Difference between revisions

Added Kotlin
(→‎{{header|Erlang}}: add 3D ASCII)
(Added Kotlin)
Line 1,695:
</pre>
 
=={{header|Kotlin}}==
{{trans|Java}}
<lang scala>// version 1.0.6
 
class Ascii3D(s: String) {
val z = charArrayOf(' ',' ','_','/')
 
val f = arrayOf(
longArrayOf(87381,87381,87381,87381,87381,87381,87381),
longArrayOf(349525,375733,742837,742837,375733,349525,349525),
longArrayOf(742741,768853,742837,742837,768853,349525,349525),
longArrayOf(349525,375733,742741,742741,375733,349525,349525),
longArrayOf(349621,375733,742837,742837,375733,349525,349525),
longArrayOf(349525,375637,768949,742741,375733,349525,349525),
longArrayOf(351157,374101,768949,374101,374101,349525,349525),
longArrayOf(349525,375733,742837,742837,375733,349621,351157),
longArrayOf(742741,768853,742837,742837,742837,349525,349525),
longArrayOf(181,85,181,181,181,85,85),
longArrayOf(1461,1365,1461,1461,1461,1461,2901),
longArrayOf(742741,744277,767317,744277,742837,349525,349525),
longArrayOf(181,181,181,181,181,85,85),
longArrayOf(1431655765,3149249365L,3042661813L,3042661813L,3042661813L,1431655765,1431655765),
longArrayOf(349525,768853,742837,742837,742837,349525,349525),
longArrayOf(349525,375637,742837,742837,375637,349525,349525),
longArrayOf(349525,768853,742837,742837,768853,742741,742741),
longArrayOf(349525,375733,742837,742837,375733,349621,349621),
longArrayOf(349525,744373,767317,742741,742741,349525,349525),
longArrayOf(349525,375733,767317,351157,768853,349525,349525),
longArrayOf(374101,768949,374101,374101,351157,349525,349525),
longArrayOf(349525,742837,742837,742837,375733,349525,349525),
longArrayOf(5592405,11883957,11883957,5987157,5616981,5592405,5592405),
longArrayOf(366503875925L,778827027893L,778827027893L,392374737749L,368114513237L,366503875925L,366503875925L),
longArrayOf(349525,742837,375637,742837,742837,349525,349525),
longArrayOf(349525,742837,742837,742837,375733,349621,375637),
longArrayOf(349525,768949,351061,374101,768949,349525,349525),
longArrayOf(375637,742837,768949,742837,742837,349525,349525),
longArrayOf(768853,742837,768853,742837,768853,349525,349525),
longArrayOf(375733,742741,742741,742741,375733,349525,349525),
longArrayOf(192213,185709,185709,185709,192213,87381,87381),
longArrayOf(1817525,1791317,1817429,1791317,1817525,1398101,1398101),
longArrayOf(768949,742741,768853,742741,742741,349525,349525),
longArrayOf(375733,742741,744373,742837,375733,349525,349525),
longArrayOf(742837,742837,768949,742837,742837,349525,349525),
longArrayOf(48053,23381,23381,23381,48053,21845,21845),
longArrayOf(349621,349621,349621,742837,375637,349525,349525),
longArrayOf(742837,744277,767317,744277,742837,349525,349525),
longArrayOf(742741,742741,742741,742741,768949,349525,349525),
longArrayOf(11883957,12278709,11908533,11883957,11883957,5592405,5592405),
longArrayOf(11883957,12277173,11908533,11885493,11883957,5592405,5592405),
longArrayOf(375637,742837,742837,742837,375637,349525,349525),
longArrayOf(768853,742837,768853,742741,742741,349525,349525),
longArrayOf(6010197,11885397,11909973,11885397,6010293,5592405,5592405),
longArrayOf(768853,742837,768853,742837,742837,349525,349525),
longArrayOf(375733,742741,375637,349621,768853,349525,349525),
longArrayOf(12303285,5616981,5616981,5616981,5616981,5592405,5592405),
longArrayOf(742837,742837,742837,742837,375637,349525,349525),
longArrayOf(11883957,11883957,11883957,5987157,5616981,5592405,5592405),
longArrayOf(3042268597L,3042268597L,3042661813L,1532713813,1437971797,1431655765,1431655765),
longArrayOf(11883957,5987157,5616981,5987157,11883957,5592405,5592405),
longArrayOf(11883957,5987157,5616981,5616981,5616981,5592405,5592405),
longArrayOf(12303285,5593941,5616981,5985621,12303285,5592405,5592405)
)
 
init {
val o = Array<StringBuilder>(7) { StringBuilder() }
for (i in 0 until s.length) {
var c = s[i].toInt()
if (c in 65..90) c -= 39
else if (c in 97..122) c -= 97
else c = -1
val d = f[++c]
for (j in 0 until 7) {
val b = StringBuilder()
var v = d[j]
while (v > 0) {
b.append(z[(v and 3).toInt()])
v = v shr 2
}
o[j].append(b.reverse().toString())
}
}
for(i in 0 until 7) {
for(j in 0 until 7 - i) print(' ')
println(o[i])
}
}
}
 
fun main(args: Array<String>) {
Ascii3D("KOTLIN")
Ascii3D("with thanks")
Ascii3D("to the author")
Ascii3D("of the")
Ascii3D("Java entry")
}</lang>
 
{{out}}
<pre>
_/ _/ _/_/ _/_/_/_/_/ _/ _/_/_/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/_/ _/
_/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/_/
_/ _/ _/_/ _/ _/_/_/_/ _/_/_/ _/ _/
 
 
_/ _/ _/ _/ _/ _/
_/ _/ _/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/
_/ _/ _/ _/_/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/ _/ _/_/_/
 
 
_/ _/ _/ _/ _/
_/_/_/_/ _/_/ _/_/_/_/ _/_/_/ _/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/_/ _/_/ _/ _/_/
_/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/_/ _/_/ _/_/ _/ _/ _/_/_/ _/_/_/ _/_/_/ _/_/ _/ _/ _/_/ _/
 
 
_/_/ _/ _/
_/_/ _/ _/_/_/_/ _/_/_/ _/_/
_/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/
_/ _/ _/ _/ _/ _/ _/
_/_/ _/ _/_/ _/ _/ _/_/_/
 
 
_/ _/
_/ _/_/_/ _/ _/ _/_/_/ _/_/ _/_/_/ _/_/_/_/ _/ _/_/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/_/ _/_/_/ _/ _/_/_/ _/_/_/ _/ _/ _/_/ _/ _/_/_/
_/
_/_/
</pre>
 
=={{header|Lasso}}==
9,488

edits