mirror of
https://github.com/RussellChamp/advent-of-code-2021.git
synced 2026-10-27 21:52:32 +00:00
day 14 and 15
This commit is contained in:
1 parent
6e22bbe567
commit
4737afa383
12 files changed
+678
-3
No files matched your search
@@ -0,0 +1,15 @@
|
||||
package args
|
||||
|
||||
import "strings"
|
||||
|
||||
func Parse(args []string) map[string]string {
|
||||
argMap := make(map[string]string)
|
||||
for _, arg := range args {
|
||||
pair := strings.Split(arg, "=")
|
||||
if len(pair) == 2 {
|
||||
argMap[pair[0]] = pair[1]
|
||||
}
|
||||
}
|
||||
|
||||
return argMap
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
package color
|
||||
|
||||
import "runtime"
|
||||
|
||||
var Reset = "\033[0m"
|
||||
var Red = "\033[31m"
|
||||
var Green = "\033[32m"
|
||||
var Yellow = "\033[33m"
|
||||
var Blue = "\033[34m"
|
||||
var Purple = "\033[35m"
|
||||
var Cyan = "\033[36m"
|
||||
var LightGray = "\033[37m"
|
||||
var DarkGray = "\033[30m"
|
||||
var White = "\033[97m"
|
||||
|
||||
var BlackBold = "\033[1;30m"
|
||||
var RedBold = "\033[1;31m"
|
||||
var GreenBold = "\033[1;32m"
|
||||
var YellowBold = "\033[1;33m"
|
||||
var BlueBold = "\033[1;34m"
|
||||
var PurpleBold = "\033[1;35m"
|
||||
var CyanBold = "\033[1;36m"
|
||||
var WhiteBold = "\033[1;37m"
|
||||
|
||||
var BlackUnderline = "\033[4;30m"
|
||||
var RedUnderline = "\033[4;31m"
|
||||
var GreenUnderline = "\033[4;32m"
|
||||
var YellowUnderline = "\033[4;33m"
|
||||
var BlueUnderline = "\033[4;34m"
|
||||
var PurpleUnderline = "\033[4;35m"
|
||||
var CyanUnderline = "\033[4;36m"
|
||||
var WhiteUnderline = "\033[4;37m"
|
||||
|
||||
var BlackBackground = "\033[40m"
|
||||
var RedBackground = "\033[41m"
|
||||
var GreenBackground = "\033[42m"
|
||||
var YellowBackground = "\033[43m"
|
||||
var BlueBackground = "\033[44m"
|
||||
var PurpleBackground = "\033[45m"
|
||||
var CyanBackground = "\033[46m"
|
||||
var WhiteBackground = "\033[47m"
|
||||
|
||||
var BlackHigh = "\033[0;90m"
|
||||
var RedHigh = "\033[0;91m"
|
||||
var GreenHigh = "\033[0;92m"
|
||||
var YellowHigh = "\033[0;93m"
|
||||
var BlueHigh = "\033[0;94m"
|
||||
var PurpleHigh = "\033[0;95m"
|
||||
var CyanHigh = "\033[0;96m"
|
||||
var WhiteHigh = "\033[0;97m"
|
||||
|
||||
var BlackBoldHigh = "\033[1;90m"
|
||||
var RedBoldHigh = "\033[1;91m"
|
||||
var GreenBoldHigh = "\033[1;92m"
|
||||
var YellowBoldHigh = "\033[1;93m"
|
||||
var BlueBoldHigh = "\033[1;94m"
|
||||
var PurpleBoldHigh = "\033[1;95m"
|
||||
var CyanBoldHigh = "\033[1;96m"
|
||||
var WhiteBoldHigh = "\033[1;97m"
|
||||
|
||||
var BlackHighBack = "\033[0;100m"
|
||||
var RedHighBack = "\033[0;101m"
|
||||
var GreenHighBack = "\033[0;102m"
|
||||
var YellowHighBack = "\033[0;103m"
|
||||
var BlueHighBack = "\033[0;104m"
|
||||
var PurpleHighBack = "\033[0;105m"
|
||||
var CyanHighBack = "\033[0;106m"
|
||||
var WhiteHighBack = "\033[0;107m"
|
||||
|
||||
func init() {
|
||||
if runtime.GOOS == "windows" {
|
||||
Reset = ""
|
||||
Red = ""
|
||||
Green = ""
|
||||
Yellow = ""
|
||||
Blue = ""
|
||||
Purple = ""
|
||||
Cyan = ""
|
||||
LightGray = ""
|
||||
DarkGray = ""
|
||||
White = ""
|
||||
BlackBold = ""
|
||||
RedBold = ""
|
||||
GreenBold = ""
|
||||
YellowBold = ""
|
||||
BlueBold = ""
|
||||
PurpleBold = ""
|
||||
CyanBold = ""
|
||||
WhiteBold = ""
|
||||
BlackUnderline = ""
|
||||
RedUnderline = ""
|
||||
GreenUnderline = ""
|
||||
YellowUnderline = ""
|
||||
BlueUnderline = ""
|
||||
PurpleUnderline = ""
|
||||
CyanUnderline = ""
|
||||
WhiteUnderline = ""
|
||||
BlackBackground = ""
|
||||
RedBackground = ""
|
||||
GreenBackground = ""
|
||||
YellowBackground = ""
|
||||
BlueBackground = ""
|
||||
PurpleBackground = ""
|
||||
CyanBackground = ""
|
||||
WhiteBackground = ""
|
||||
BlackHigh = ""
|
||||
RedHigh = ""
|
||||
GreenHigh = ""
|
||||
YellowHigh = ""
|
||||
BlueHigh = ""
|
||||
PurpleHigh = ""
|
||||
CyanHigh = ""
|
||||
WhiteHigh = ""
|
||||
BlackBoldHigh = ""
|
||||
RedBoldHigh = ""
|
||||
GreenBoldHigh = ""
|
||||
YellowBoldHigh = ""
|
||||
BlueBoldHigh = ""
|
||||
PurpleBoldHigh = ""
|
||||
CyanBoldHigh = ""
|
||||
WhiteBoldHigh = ""
|
||||
BlackHighBack = ""
|
||||
RedHighBack = ""
|
||||
GreenHighBack = ""
|
||||
YellowHighBack = ""
|
||||
BlueHighBack = ""
|
||||
PurpleHighBack = ""
|
||||
CyanHighBack = ""
|
||||
WhiteHighBack = ""
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,20 @@ const (
|
||||
DIAGNOSTIC = 3
|
||||
)
|
||||
|
||||
const (
|
||||
CONSOLE = 1
|
||||
FILE = 2
|
||||
)
|
||||
|
||||
var LOG_LEVEL = NORMAL
|
||||
var LOG_TIMESTAMP = false
|
||||
var LOG_OUTPUT = CONSOLE
|
||||
|
||||
func SetLogLevel(level int) {
|
||||
if level >= NONE && level <= DIAGNOSTIC {
|
||||
LOG_LEVEL = level
|
||||
}
|
||||
}
|
||||
|
||||
func Print(minLevel int, a ...interface{}) (int, error) {
|
||||
if LOG_LEVEL >= minLevel {
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package numbers
|
||||
|
||||
func Min(i1 int, a ...int) int {
|
||||
min := i1
|
||||
for _, i := range a {
|
||||
if i < min {
|
||||
min = i
|
||||
}
|
||||
}
|
||||
return min
|
||||
}
|
||||
+11
-1
@@ -1,6 +1,8 @@
|
||||
package timer
|
||||
|
||||
import (
|
||||
"AoC2021/utils/color"
|
||||
"AoC2021/utils/log"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
@@ -13,6 +15,14 @@ func Start() {
|
||||
|
||||
func Tick() {
|
||||
now := time.Now()
|
||||
fmt.Printf("[Time taken: %s]\n", now.Sub(lastTime).String())
|
||||
fmt.Printf(color.Yellow+"[Time taken: %s]\n"+color.Reset, now.Sub(lastTime).String())
|
||||
lastTime = now
|
||||
}
|
||||
|
||||
func TickAtLevel(logLevel int) {
|
||||
if log.LOG_LEVEL >= logLevel {
|
||||
now := time.Now()
|
||||
log.Printf(logLevel, color.Yellow+"[Time taken: %s]\n"+color.Reset, now.Sub(lastTime).String())
|
||||
lastTime = now
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user