diff --git a/2020/day5.ahk b/2020/day5.ahk new file mode 100644 index 0000000..a450056 --- /dev/null +++ b/2020/day5.ahk @@ -0,0 +1,174 @@ +#SingleInstance, Force +loc := A_ScriptDir "\data5.txt" +file := FileOpen(loc, "r") +data := [] + +dialog(str){ + MsgBox, 1,, %str% + IfMsgBox, Cancel + Run, day5.ahk +} + +while !(file.AtEOF){ + line := file.ReadLine() + line := RegExReplace(line, "F|L", "0") + line := RegExReplace(line, "B|R", "1") + data.Push(line) +} + +dialog(data[data.MinIndex()]) +data := {} +file.pos := 0 + +while !(file.AtEOF){ + line := file.ReadLine() + RegExMatch(line, "(.......)(...)", res) + Switch res1 + { + Case "FFFFFFF": row := 0 + Case "FFFFFFB": row := 1 + Case "FFFFFBF": row := 2 + Case "FFFFFBB": row := 3 + Case "FFFFBFF": row := 4 + Case "FFFFBFB": row := 5 + Case "FFFFBBF": row := 6 + Case "FFFFBBB": row := 7 + Case "FFFBFFF": row := 8 + Case "FFFBFFB": row := 9 + Case "FFFBFBF": row := 10 + Case "FFFBFBB": row := 11 + Case "FFFBBFF": row := 12 + Case "FFFBBFB": row := 13 + Case "FFFBBBF": row := 14 + Case "FFFBBBB": row := 15 + Case "FFBFFFF": row := 16 + Case "FFBFFFB": row := 17 + Case "FFBFFBF": row := 18 + Case "FFBFFBB": row := 19 + Case "FFBFBFF": row := 20 + Case "FFBFBFB": row := 21 + Case "FFBFBBF": row := 22 + Case "FFBFBBB": row := 23 + Case "FFBBFFF": row := 24 + Case "FFBBFFB": row := 25 + Case "FFBBFBF": row := 26 + Case "FFBBFBB": row := 27 + Case "FFBBBFF": row := 28 + Case "FFBBBFB": row := 29 + Case "FFBBBBF": row := 30 + Case "FFBBBBB": row := 31 + Case "FBFFFFF": row := 32 + Case "FBFFFFB": row := 33 + Case "FBFFFBF": row := 34 + Case "FBFFFBB": row := 35 + Case "FBFFBFF": row := 36 + Case "FBFFBFB": row := 37 + Case "FBFFBBF": row := 38 + Case "FBFFBBB": row := 39 + Case "FBFBFFF": row := 40 + Case "FBFBFFB": row := 41 + Case "FBFBFBF": row := 42 + Case "FBFBFBB": row := 43 + Case "FBFBBFF": row := 44 + Case "FBFBBFB": row := 45 + Case "FBFBBBF": row := 46 + Case "FBFBBBB": row := 47 + Case "FBBFFFF": row := 48 + Case "FBBFFFB": row := 49 + Case "FBBFFBF": row := 50 + Case "FBBFFBB": row := 51 + Case "FBBFBFF": row := 52 + Case "FBBFBFB": row := 53 + Case "FBBFBBF": row := 54 + Case "FBBFBBB": row := 55 + Case "FBBBFFF": row := 56 + Case "FBBBFFB": row := 57 + Case "FBBBFBF": row := 58 + Case "FBBBFBB": row := 59 + Case "FBBBBFF": row := 60 + Case "FBBBBFB": row := 61 + Case "FBBBBBF": row := 62 + Case "FBBBBBB": row := 63 + Case "BFFFFFF": row := 64 + Case "BFFFFFB": row := 65 + Case "BFFFFBF": row := 66 + Case "BFFFFBB": row := 67 + Case "BFFFBFF": row := 68 + Case "BFFFBFB": row := 69 + Case "BFFFBBF": row := 70 + Case "BFFFBBB": row := 71 + Case "BFFBFFF": row := 72 + Case "BFFBFFB": row := 73 + Case "BFFBFBF": row := 74 + Case "BFFBFBB": row := 75 + Case "BFFBBFF": row := 76 + Case "BFFBBFB": row := 77 + Case "BFFBBBF": row := 78 + Case "BFFBBBB": row := 79 + Case "BFBFFFF": row := 80 + Case "BFBFFFB": row := 81 + Case "BFBFFBF": row := 82 + Case "BFBFFBB": row := 83 + Case "BFBFBFF": row := 84 + Case "BFBFBFB": row := 85 + Case "BFBFBBF": row := 86 + Case "BFBFBBB": row := 87 + Case "BFBBFFF": row := 88 + Case "BFBBFFB": row := 89 + Case "BFBBFBF": row := 90 + Case "BFBBFBB": row := 91 + Case "BFBBBFF": row := 92 + Case "BFBBBFB": row := 93 + Case "BFBBBBF": row := 94 + Case "BFBBBBB": row := 95 + Case "BBFFFFF": row := 96 + Case "BBFFFFB": row := 97 + Case "BBFFFBF": row := 98 + Case "BBFFFBB": row := 99 + Case "BBFFBFF": row := 100 + Case "BBFFBFB": row := 101 + Case "BBFFBBF": row := 102 + Case "BBFFBBB": row := 103 + Case "BBFBFFF": row := 104 + Case "BBFBFFB": row := 105 + Case "BBFBFBF": row := 106 + Case "BBFBFBB": row := 107 + Case "BBFBBFF": row := 108 + Case "BBFBBFB": row := 109 + Case "BBFBBBF": row := 110 + Case "BBFBBBB": row := 111 + Case "BBBFFFF": row := 112 + Case "BBBFFFB": row := 113 + Case "BBBFFBF": row := 114 + Case "BBBFFBB": row := 115 + Case "BBBFBFF": row := 116 + Case "BBBFBFB": row := 117 + Case "BBBFBBF": row := 118 + Case "BBBFBBB": row := 119 + Case "BBBBFFF": row := 120 + Case "BBBBFFB": row := 121 + Case "BBBBFBF": row := 122 + Case "BBBBFBB": row := 123 + Case "BBBBBFF": row := 124 + Case "BBBBBFB": row := 125 + Case "BBBBBBF": row := 126 + Case "BBBBBBB": row := 127 + } + Switch res2 + { + Case "LLL": col := 0 + Case "LLR": col := 1 + Case "LRL": col := 2 + Case "LRR": col := 3 + Case "RLL": col := 4 + Case "RLR": col := 5 + Case "RRL": col := 6 + Case "RRR": col := 7 + } + sID := row * 8 + sID += col + + data.push(sID) +} + +dialog("Or " data[data.MinIndex()]) \ No newline at end of file