How to resolve the algorithm Write language name in 3D ASCII step by step in the Tcl programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Write language name in 3D ASCII step by step in the Tcl programming language

Table of Contents

Problem Statement

Write/display a language's name in 3D ASCII.

(We can leave the definition of "3D ASCII" fuzzy, so long as the result is interesting or amusing, not a cheap hack to satisfy the task.)

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Write language name in 3D ASCII step by step in the Tcl programming language

Source code in the tcl programming language

package require Tcl 8.5

proc mergeLine {upper lower} {
    foreach u [split $upper ""] l [split $lower ""] {
	lappend result [expr {$l in {" " ""} ? $u : $l}]
    }
    return [join $result ""]
}
proc printLines lines {
    set n [llength $lines]
    foreach line $lines {
	set indent [string repeat " " $n]
	lappend upper $indent[string map {"/ " "/\\"} [
		string map {" " "   " "*" "///"} "$line "]]
	lappend lower $indent[string map {"\\ " "\\/"} [
		string map {" " "   " "*" "\\\\\\"} "$line "]]
	incr n -1
    }
    # Now do some line merging to strengthen the visual effect
    set p [string repeat " " [string length [lindex $upper 0]]]
    foreach u $upper l $lower {
	puts [mergeLine $p $u]
	set p $l
    }
    puts $p
}

set lines {
    {*****   *}
    {  *     *}
    {  * *** *}
    {  * *   *}
    {  * *   *}
    {  * *** *}
}
printLines $lines


  

You may also check:How to resolve the algorithm Pseudo-random numbers/Middle-square method step by step in the EDSAC order code programming language
You may also check:How to resolve the algorithm Execute HQ9+ step by step in the 8080 Assembly programming language
You may also check:How to resolve the algorithm Increment a numerical string step by step in the Quackery programming language
You may also check:How to resolve the algorithm Sequence: nth number with exactly n divisors step by step in the J programming language
You may also check:How to resolve the algorithm Integer comparison step by step in the Julia programming language