package main import ( "fmt" "io" "net/http" "os" "strings" ) func main() { banner := "shadow" ascii, err := http.Get("https://git.01.kood.tech/root/public/raw/branch/master/subjects/ascii-art/" + banner + ".txt") asciiBody, err := io.ReadAll(ascii.Body) if err != nil { return } args := os.Args[1] loopCount := 0 var newlinePos []int var hasNewLine bool asciiSplit := strings.Split(string(asciiBody), "\n") for i := 0; i < 8; i++ { for j := 0; j < len(args); j++ { hasNewLine = false if args[j] == '\\' && args[j+1] == 'n' { newlinePos = append(newlinePos, j) hasNewLine = true fmt.Println() break } fmt.Printf(string(asciiSplit[(int(args[j])-32)*8+(int(args[j])-32)+i+1])) if j == len(args)-1 { fmt.Println() } } if i == 7 { if hasNewLine == true { i = -1 hasNewLine = false args = args[newlinePos[loopCount*8]+2:] loopCount++ } } } }