From 7bf94f765bd11c32086766dd522778a2017f0a3f Mon Sep 17 00:00:00 2001 From: kauri Date: Mon, 20 Sep 2021 15:47:15 +0300 Subject: [PATCH] Letters/numbers ok - #01 --- ascii-art/ascii-art-reverse/inputfile.txt | 99 +++ ascii-art/ascii-art-reverse/main.go | 72 ++ ascii-art/ascii-art-reverse/shadow.txt | 855 ++++++++++++++++++++++ 3 files changed, 1026 insertions(+) create mode 100644 ascii-art/ascii-art-reverse/inputfile.txt create mode 100644 ascii-art/ascii-art-reverse/main.go create mode 100644 ascii-art/ascii-art-reverse/shadow.txt diff --git a/ascii-art/ascii-art-reverse/inputfile.txt b/ascii-art/ascii-art-reverse/inputfile.txt new file mode 100644 index 0000000..81fded6 --- /dev/null +++ b/ascii-art/ascii-art-reverse/inputfile.txt @@ -0,0 +1,99 @@ + + _| _| +_| _| + + + + + + + + +_|_|_| +_| _| +_|_|_| +_| +_| + + + +_| +_| +_| +_| +_| +_| +_| +_| + + + _|_| + _| +_|_|_|_| + _| + _| + + + + + +_| _| _| +_| _| _| + _| _| _| _| + _| _| + + + + +_| + _| + _| + _| + _| + + + + + +_|_|_|_| + _| + _| +_|_|_|_| + + + + +_|_|_|_| +_| +_|_|_| +_| +_|_|_|_| + + + + +_|_| _| +_|_| _| + _| + _| _|_| +_| _|_| + + + + +_| _| +_| _| +_|_|_|_| + _| + _| + + + + + _| + _| + _| + _| +_| + + diff --git a/ascii-art/ascii-art-reverse/main.go b/ascii-art/ascii-art-reverse/main.go new file mode 100644 index 0000000..ad4d4c3 --- /dev/null +++ b/ascii-art/ascii-art-reverse/main.go @@ -0,0 +1,72 @@ +package main + +import ( + "fmt" + "io/ioutil" + "os" + "strings" +) + +// so far letters and numbers work, symbols and punctuation are not ok +// input file has data vertically, I assume it must be switches to horisontal...? +// example command: go run . --reverse=inputfile.txt + +func main() { + args_slice := os.Args[1:] + reference_file := "shadow.txt" + var file_name string + + for i, name := range args_slice { + if strings.Contains(name, "--reverse=") { // looking for flag + file_name = name[10:] + break + } + if len(args_slice)-1 == i { + fmt.Println("EX: go run . something standard --reverse=") + } + } + + input, err1 := ioutil.ReadFile(file_name) // reading graphic input file + text_slices := strings.Split(string(input), "\n") + + if err1 != nil { + fmt.Println("file does not exist") + os.Exit(1) + } + + reference, err2 := ioutil.ReadFile(reference_file) // reading example file standard-shadow-thinkerboy + reference_slices := strings.Split(string(reference), "\n") + + if err2 != nil { + fmt.Println("reference not found") + os.Exit(2) + } + + indexes := make([]int, 0) // contains indexes to reverse-calculate ascii values + + for x := 0; x < len(text_slices)-9; x += 9 { + for i := 0; i < len(reference_slices)-9; i += 9 { + for y := 0; y < 9; y++ { + if text_slices[x+y] == reference_slices[i+y] && y != 8 { + continue + } else if y == 8 && text_slices[y] == reference_slices[i+y] { + indexes = append(indexes, i) + break + } else { + break + } + } + } + } + + // fmt.Println(len(indexes)) + // fmt.Println(indexes) + + var str_output string + + for id := range indexes { + str_output += string(byte(indexes[id]/9 + 32)) + } + + fmt.Println(str_output) +} diff --git a/ascii-art/ascii-art-reverse/shadow.txt b/ascii-art/ascii-art-reverse/shadow.txt new file mode 100644 index 0000000..d7cdb43 --- /dev/null +++ b/ascii-art/ascii-art-reverse/shadow.txt @@ -0,0 +1,855 @@ + + + + + + + + + + + +_| +_| +_| + +_| + + + +_| _| +_| _| + + + + + + + + + _| _| +_|_|_|_|_| + _| _| +_|_|_|_|_| + _| _| + + + + + _| +_|_|_| +_|_| + _|_| +_|_|_| + _| + + + +_|_| _| +_|_| _| + _| + _| _|_| +_| _|_| + + + + + _| +_| _| + _|_| _| +_| _| + _|_| _| + + + + _| +_| + + + + + + + + _| +_| +_| +_| +_| +_| + _| + + +_| + _| + _| + _| + _| + _| +_| + + + +_| _| _| + _|_|_| +_|_|_|_|_| + _|_|_| +_| _| _| + + + + + _| + _| +_|_|_|_|_| + _| + _| + + + + + + + + + _| +_| + + + + + +_|_|_|_|_| + + + + + + + + + + +_| + + + + + _| + _| + _| + _| +_| + + + + + _| +_| _| +_| _| +_| _| + _| + + + + + _| +_|_| + _| + _| + _| + + + + + _|_| +_| _| + _| + _| +_|_|_|_| + + + + +_|_|_| + _| + _|_| + _| +_|_|_| + + + + +_| _| +_| _| +_|_|_|_| + _| + _| + + + + +_|_|_|_| +_| +_|_|_| + _| +_|_|_| + + + + + _|_|_| +_| +_|_|_| +_| _| + _|_| + + + + +_|_|_|_|_| + _| + _| + _| + _| + + + + + _|_| +_| _| + _|_| +_| _| + _|_| + + + + + _|_| +_| _| + _|_|_| + _| +_|_|_| + + + + + +_| + + +_| + + + + + + _| + + + _| +_| + + + + _| + _| +_| + _| + _| + + + + + +_|_|_|_|_| + +_|_|_|_|_| + + + + + +_| + _| + _| + _| +_| + + + + +_|_| + _| +_|_| + +_| + + + + + _|_|_|_|_| + _| _| +_| _|_|_| _| +_| _| _| _| +_| _|_|_|_| + _| + _|_|_|_|_|_| + + + _|_| +_| _| +_|_|_|_| +_| _| +_| _| + + + + +_|_|_| +_| _| +_|_|_| +_| _| +_|_|_| + + + + + _|_|_| +_| +_| +_| + _|_|_| + + + + +_|_|_| +_| _| +_| _| +_| _| +_|_|_| + + + + +_|_|_|_| +_| +_|_|_| +_| +_|_|_|_| + + + + +_|_|_|_| +_| +_|_|_| +_| +_| + + + + + _|_|_| +_| +_| _|_| +_| _| + _|_|_| + + + + +_| _| +_| _| +_|_|_|_| +_| _| +_| _| + + + + +_|_|_| + _| + _| + _| +_|_|_| + + + + + _| + _| + _| +_| _| + _|_| + + + + +_| _| +_| _| +_|_| +_| _| +_| _| + + + + +_| +_| +_| +_| +_|_|_|_| + + + + +_| _| +_|_| _|_| +_| _| _| +_| _| +_| _| + + + + +_| _| +_|_| _| +_| _| _| +_| _|_| +_| _| + + + + + _|_| +_| _| +_| _| +_| _| + _|_| + + + + +_|_|_| +_| _| +_|_|_| +_| +_| + + + + + _|_| +_| _| +_| _|_| +_| _| + _|_| _| + + + + +_|_|_| +_| _| +_|_|_| +_| _| +_| _| + + + + + _|_|_| +_| + _|_| + _| +_|_|_| + + + + +_|_|_|_|_| + _| + _| + _| + _| + + + + +_| _| +_| _| +_| _| +_| _| + _|_| + + + + +_| _| +_| _| +_| _| + _| _| + _| + + + + +_| _| +_| _| +_| _| _| + _| _| _| + _| _| + + + + +_| _| + _| _| + _| + _| _| +_| _| + + + + +_| _| + _| _| + _| + _| + _| + + + + +_|_|_|_|_| + _| + _| + _| +_|_|_|_|_| + + + +_|_| +_| +_| +_| +_| +_| +_|_| + + + +_| + _| + _| + _| + _| + + + +_|_| + _| + _| + _| + _| + _| +_|_| + + + _| +_| _| + + + + + + + + + + + + + + +_|_|_|_|_| + +_| + _| + + + + + + + + + + _|_|_| +_| _| +_| _| + _|_|_| + + + + +_| +_|_|_| +_| _| +_| _| +_|_|_| + + + + + + _|_|_| +_| +_| + _|_|_| + + + + + _| + _|_|_| +_| _| +_| _| + _|_|_| + + + + + + _|_| +_|_|_|_| +_| + _|_|_| + + + + + _|_| + _| +_|_|_|_| + _| + _| + + + + + + _|_|_| +_| _| +_| _| + _|_|_| + _| + _|_| + + +_| +_|_|_| +_| _| +_| _| +_| _| + + + + +_| + +_| +_| +_| + + + + + _| + + _| + _| + _| + _| +_| + + +_| +_| _| +_|_| +_| _| +_| _| + + + + +_| +_| +_| +_| +_| + + + + + +_|_|_| _|_| +_| _| _| +_| _| _| +_| _| _| + + + + + +_|_|_| +_| _| +_| _| +_| _| + + + + + + _|_| +_| _| +_| _| + _|_| + + + + + +_|_|_| +_| _| +_| _| +_|_|_| +_| +_| + + + + _|_|_| +_| _| +_| _| + _|_|_| + _| + _| + + + +_| _|_| +_|_| +_| +_| + + + + + + _|_|_| +_|_| + _|_| +_|_|_| + + + + + _| +_|_|_|_| + _| + _| + _|_| + + + + + +_| _| +_| _| +_| _| + _|_|_| + + + + + +_| _| +_| _| + _| _| + _| + + + + + +_| _| _| +_| _| _| + _| _| _| _| + _| _| + + + + + +_| _| + _|_| +_| _| +_| _| + + + + + +_| _| +_| _| +_| _| + _|_|_| + _| + _|_| + + + +_|_|_|_| + _| + _| +_|_|_|_| + + + + _| + _| + _| +_| + _| + _| + _| + + +_| +_| +_| +_| +_| +_| +_| +_| + +_| + _| + _| + _| + _| + _| +_| + + + _| _| +_| _| + + + + + +