diff options
Diffstat (limited to '2021/02')
-rw-r--r-- | 2021/02/input | 1000 | ||||
-rw-r--r-- | 2021/02/part1.tl | 1010 | ||||
-rw-r--r-- | 2021/02/part2.tl | 1016 |
3 files changed, 3026 insertions, 0 deletions
diff --git a/2021/02/input b/2021/02/input new file mode 100644 index 0000000..d5c08db --- /dev/null +++ b/2021/02/input @@ -0,0 +1,1000 @@ +forward 9 +forward 9 +forward 3 +down 2 +forward 8 +down 8 +forward 1 +down 6 +down 9 +down 9 +forward 1 +up 5 +up 4 +up 8 +down 6 +down 7 +forward 4 +forward 6 +forward 2 +forward 2 +forward 4 +down 2 +down 6 +forward 6 +forward 9 +up 4 +up 6 +down 2 +forward 7 +up 7 +down 8 +down 4 +down 6 +forward 1 +down 2 +up 1 +forward 8 +down 9 +forward 6 +up 9 +down 8 +forward 5 +forward 8 +down 8 +up 3 +up 9 +down 2 +down 2 +forward 5 +up 7 +forward 5 +down 6 +forward 4 +down 2 +up 2 +up 7 +up 1 +down 4 +down 8 +forward 6 +down 2 +forward 7 +down 1 +forward 7 +forward 1 +up 1 +down 4 +down 3 +down 4 +down 4 +up 8 +down 1 +up 7 +forward 8 +down 5 +up 1 +down 4 +down 3 +forward 4 +up 7 +forward 1 +down 4 +down 2 +down 4 +up 8 +up 6 +down 1 +up 3 +down 5 +forward 4 +down 3 +forward 9 +down 9 +forward 2 +down 4 +up 3 +down 4 +forward 1 +forward 7 +forward 9 +forward 7 +forward 3 +forward 6 +down 4 +forward 7 +down 5 +down 1 +forward 7 +up 1 +down 8 +down 7 +down 7 +down 7 +down 3 +forward 4 +forward 6 +forward 6 +forward 1 +down 7 +down 6 +down 8 +up 5 +down 7 +up 6 +forward 9 +down 7 +down 1 +down 9 +forward 8 +up 5 +down 6 +forward 3 +up 2 +down 1 +forward 2 +down 3 +up 6 +forward 8 +forward 1 +forward 3 +down 9 +forward 1 +down 3 +up 7 +forward 8 +up 8 +down 7 +down 2 +forward 3 +up 7 +forward 6 +down 7 +down 6 +up 5 +forward 9 +down 7 +up 5 +forward 6 +up 5 +up 6 +forward 6 +down 8 +down 1 +forward 7 +forward 6 +down 5 +down 6 +forward 9 +down 6 +up 5 +forward 9 +forward 4 +down 1 +forward 5 +down 4 +forward 5 +forward 1 +down 1 +forward 4 +down 5 +forward 4 +up 8 +down 1 +forward 6 +down 5 +forward 8 +forward 8 +forward 5 +down 7 +down 4 +forward 4 +up 1 +up 8 +down 6 +up 5 +forward 6 +forward 5 +forward 9 +down 3 +down 5 +forward 3 +down 6 +forward 6 +up 7 +up 6 +down 6 +down 1 +forward 8 +forward 9 +up 5 +forward 8 +forward 9 +forward 9 +down 2 +down 8 +forward 8 +down 2 +up 8 +down 2 +down 2 +up 1 +down 5 +down 6 +down 1 +down 8 +down 9 +forward 3 +forward 2 +down 6 +up 8 +forward 9 +forward 7 +forward 1 +down 8 +up 8 +forward 8 +down 5 +down 3 +up 3 +forward 6 +forward 5 +down 4 +forward 4 +down 4 +forward 5 +forward 9 +forward 2 +forward 9 +down 1 +down 3 +down 6 +forward 6 +down 7 +forward 3 +forward 4 +forward 1 +down 6 +forward 1 +forward 4 +forward 2 +forward 2 +forward 1 +forward 2 +down 1 +up 2 +forward 1 +down 3 +forward 8 +down 3 +down 9 +forward 5 +down 3 +down 3 +forward 2 +forward 9 +down 9 +forward 4 +down 2 +forward 5 +up 8 +down 4 +forward 5 +down 1 +forward 9 +down 1 +forward 7 +forward 2 +down 2 +down 6 +up 3 +forward 7 +up 4 +forward 7 +forward 6 +down 8 +forward 2 +down 3 +forward 9 +forward 4 +forward 8 +down 6 +forward 8 +down 9 +down 2 +down 3 +forward 1 +down 5 +down 3 +forward 2 +forward 7 +down 4 +down 3 +forward 9 +down 2 +forward 2 +forward 1 +up 6 +up 4 +down 5 +forward 5 +up 8 +down 7 +forward 6 +down 5 +forward 3 +forward 3 +forward 7 +up 9 +up 6 +down 5 +up 7 +forward 2 +forward 5 +down 9 +down 6 +forward 7 +down 9 +up 2 +up 5 +forward 1 +forward 8 +forward 9 +up 8 +forward 9 +forward 5 +up 9 +down 4 +down 7 +forward 2 +forward 1 +down 4 +up 8 +down 5 +down 7 +down 9 +down 3 +down 9 +up 8 +up 7 +up 8 +down 8 +down 2 +down 6 +down 6 +up 5 +up 9 +forward 1 +down 8 +up 4 +up 3 +forward 7 +up 7 +down 3 +up 1 +forward 3 +down 7 +forward 8 +forward 2 +down 6 +down 2 +up 7 +up 5 +forward 7 +forward 1 +forward 6 +up 6 +forward 5 +down 2 +up 4 +forward 2 +down 9 +forward 6 +forward 3 +forward 3 +forward 4 +forward 2 +down 6 +forward 9 +forward 7 +down 4 +up 1 +forward 4 +down 6 +down 6 +up 1 +up 1 +forward 3 +down 5 +up 5 +down 3 +down 6 +up 8 +down 2 +up 6 +up 1 +forward 8 +up 6 +down 8 +forward 9 +forward 4 +forward 9 +down 7 +down 9 +down 6 +down 1 +forward 9 +forward 9 +down 6 +down 5 +up 6 +down 9 +up 4 +up 5 +forward 8 +down 4 +down 5 +forward 8 +forward 7 +down 2 +forward 2 +forward 6 +forward 7 +down 1 +down 7 +down 1 +down 6 +forward 2 +up 2 +down 4 +down 8 +forward 1 +down 1 +down 3 +down 3 +up 9 +down 9 +forward 3 +up 4 +forward 1 +down 9 +down 8 +down 9 +forward 5 +forward 4 +up 3 +down 8 +forward 2 +down 3 +up 5 +forward 4 +down 7 +down 8 +down 9 +forward 8 +down 8 +forward 4 +down 6 +down 3 +forward 5 +down 3 +down 9 +down 4 +up 8 +forward 4 +up 6 +down 3 +forward 6 +down 9 +down 7 +forward 7 +forward 3 +forward 2 +forward 4 +down 4 +down 5 +up 9 +down 2 +down 6 +down 9 +forward 7 +forward 3 +up 3 +forward 3 +down 4 +down 7 +forward 2 +down 2 +forward 3 +down 8 +down 7 +down 7 +forward 2 +forward 2 +up 6 +forward 8 +forward 9 +up 3 +forward 8 +forward 5 +forward 7 +up 3 +forward 3 +forward 6 +down 5 +down 5 +down 4 +forward 1 +forward 8 +forward 4 +forward 3 +down 1 +forward 8 +down 4 +up 5 +forward 4 +down 2 +forward 7 +down 2 +forward 9 +down 1 +forward 6 +forward 8 +forward 6 +forward 7 +forward 1 +forward 6 +down 5 +up 3 +forward 7 +down 6 +forward 2 +down 2 +forward 8 +forward 9 +up 7 +forward 1 +forward 1 +up 1 +forward 1 +down 2 +forward 6 +down 9 +up 1 +up 2 +forward 6 +forward 1 +forward 7 +down 1 +up 8 +forward 7 +up 6 +up 4 +down 1 +forward 2 +down 4 +down 1 +down 7 +down 4 +up 3 +forward 8 +forward 3 +forward 5 +down 7 +down 8 +forward 5 +forward 2 +down 5 +down 2 +forward 2 +up 9 +down 3 +down 5 +up 7 +down 4 +down 2 +down 7 +forward 6 +down 2 +forward 1 +up 4 +forward 2 +forward 2 +down 5 +down 1 +down 1 +forward 7 +forward 6 +down 7 +down 5 +up 1 +up 3 +forward 3 +forward 9 +forward 4 +down 1 +down 5 +forward 3 +forward 7 +down 8 +forward 8 +forward 2 +forward 7 +up 7 +down 7 +down 4 +down 2 +up 6 +up 1 +forward 8 +up 8 +up 6 +down 8 +forward 1 +down 5 +forward 3 +down 3 +down 3 +forward 1 +up 3 +up 3 +forward 8 +forward 8 +down 8 +forward 6 +forward 2 +down 7 +forward 8 +down 7 +up 5 +forward 7 +down 1 +forward 9 +up 6 +down 2 +up 2 +up 5 +forward 6 +forward 9 +forward 3 +down 8 +forward 8 +down 2 +up 5 +down 9 +forward 5 +down 6 +down 3 +down 9 +up 8 +up 3 +down 2 +forward 7 +forward 4 +forward 4 +forward 8 +up 6 +up 4 +forward 9 +down 6 +down 8 +up 3 +up 5 +forward 8 +forward 7 +forward 4 +down 8 +forward 1 +forward 5 +down 9 +forward 8 +up 6 +down 6 +down 8 +down 2 +forward 4 +forward 9 +forward 2 +forward 7 +down 3 +forward 3 +up 6 +down 4 +forward 2 +up 4 +down 4 +forward 4 +forward 3 +forward 1 +up 6 +forward 1 +down 1 +forward 7 +up 4 +forward 3 +down 4 +up 6 +up 2 +up 8 +down 1 +down 6 +down 6 +down 1 +down 7 +forward 8 +down 9 +forward 5 +up 2 +up 7 +up 5 +down 6 +up 1 +up 6 +forward 4 +down 7 +forward 5 +forward 1 +down 6 +forward 2 +down 2 +forward 9 +down 9 +up 6 +forward 1 +up 7 +down 7 +forward 1 +down 6 +up 1 +forward 2 +forward 1 +down 4 +forward 9 +forward 7 +forward 5 +down 1 +forward 2 +down 2 +down 2 +down 5 +forward 1 +up 8 +forward 9 +down 7 +forward 9 +down 2 +up 5 +down 9 +down 8 +down 5 +forward 8 +forward 4 +down 4 +down 6 +forward 1 +down 5 +up 6 +down 3 +down 3 +forward 9 +down 9 +forward 6 +down 5 +up 6 +down 5 +up 7 +forward 9 +down 2 +down 4 +down 8 +forward 4 +up 7 +forward 9 +forward 7 +up 5 +down 7 +down 5 +down 1 +forward 5 +forward 4 +down 2 +up 3 +forward 1 +up 4 +up 9 +down 4 +forward 3 +down 4 +down 9 +forward 4 +up 2 +up 3 +forward 7 +up 6 +down 8 +down 8 +forward 6 +forward 2 +forward 3 +forward 9 +forward 7 +down 6 +down 7 +down 4 +down 2 +forward 8 +down 6 +forward 6 +forward 6 +forward 9 +down 8 +down 1 +up 5 +down 1 +forward 9 +down 1 +up 8 +forward 8 +down 3 +forward 1 +down 9 +forward 6 +forward 4 +forward 8 +down 2 +up 8 +down 2 +up 8 +down 9 +down 4 +up 7 +forward 7 +forward 5 +down 5 +down 4 +up 8 +forward 1 +down 7 +forward 1 +up 9 +forward 9 +forward 7 +forward 9 +down 9 +forward 4 +down 7 +forward 6 +forward 6 +up 3 +forward 2 +down 5 +up 8 +down 1 +up 8 +down 4 +down 1 +up 6 +forward 4 +forward 3 +forward 6 +down 3 +forward 4 +forward 4 +forward 4 +down 8 +forward 3 +up 8 +up 8 +down 8 +forward 6 +forward 8 +up 5 +forward 6 +down 8 +down 7 +up 4 +forward 6 +forward 9 +down 9 +forward 4 +up 2 +forward 1 +up 3 +down 9 +down 8 +forward 8 +forward 8 +forward 7 +down 6 +down 1 +up 6 +up 6 +forward 9 +forward 7 +forward 7 +down 3 +down 6 +down 9 +down 4 +forward 7 +forward 3 +forward 3 +down 7 +up 5 +down 3 +forward 6 +forward 3 +forward 5 +up 3 +down 7 +forward 2 +up 7 +forward 9 +down 3 +down 9 +forward 8 +forward 5 +up 7 +up 2 +up 8 +forward 6 +down 8 +forward 2 +forward 4 +up 2 +forward 2 +forward 8 +forward 4 +down 8 +forward 5 +down 4 +down 7 +forward 3 +down 3 +up 1 +down 9 +forward 9 +down 2 +down 1 +forward 1 +down 6 +down 3 +forward 5 +down 3 +down 8 +up 7 +down 1 +up 9 +down 4 +forward 9 +down 4 +forward 3 +forward 6 +down 3 +forward 3 +down 2 +down 7 +down 1 +up 4 +down 9 +down 1 +down 3 +down 4 +down 8 +down 7 +forward 4 +down 4 +down 9 +forward 2 +forward 7 +forward 2 +down 6 +up 8 +forward 6 +down 2 +forward 6 +up 8 +forward 6 +down 9 +forward 2 +forward 6 diff --git a/2021/02/part1.tl b/2021/02/part1.tl new file mode 100644 index 0000000..983506a --- /dev/null +++ b/2021/02/part1.tl @@ -0,0 +1,1010 @@ +(defvar x 0) +(defvar y 0) +(defvar aim 0) + +(defun forward (n) (inc x n)) +(defun down (n) (inc y n)) +(defun up (n) (dec y n)) + +(forward 9) +(forward 9) +(forward 3) +(down 2) +(forward 8) +(down 8) +(forward 1) +(down 6) +(down 9) +(down 9) +(forward 1) +(up 5) +(up 4) +(up 8) +(down 6) +(down 7) +(forward 4) +(forward 6) +(forward 2) +(forward 2) +(forward 4) +(down 2) +(down 6) +(forward 6) +(forward 9) +(up 4) +(up 6) +(down 2) +(forward 7) +(up 7) +(down 8) +(down 4) +(down 6) +(forward 1) +(down 2) +(up 1) +(forward 8) +(down 9) +(forward 6) +(up 9) +(down 8) +(forward 5) +(forward 8) +(down 8) +(up 3) +(up 9) +(down 2) +(down 2) +(forward 5) +(up 7) +(forward 5) +(down 6) +(forward 4) +(down 2) +(up 2) +(up 7) +(up 1) +(down 4) +(down 8) +(forward 6) +(down 2) +(forward 7) +(down 1) +(forward 7) +(forward 1) +(up 1) +(down 4) +(down 3) +(down 4) +(down 4) +(up 8) +(down 1) +(up 7) +(forward 8) +(down 5) +(up 1) +(down 4) +(down 3) +(forward 4) +(up 7) +(forward 1) +(down 4) +(down 2) +(down 4) +(up 8) +(up 6) +(down 1) +(up 3) +(down 5) +(forward 4) +(down 3) +(forward 9) +(down 9) +(forward 2) +(down 4) +(up 3) +(down 4) +(forward 1) +(forward 7) +(forward 9) +(forward 7) +(forward 3) +(forward 6) +(down 4) +(forward 7) +(down 5) +(down 1) +(forward 7) +(up 1) +(down 8) +(down 7) +(down 7) +(down 7) +(down 3) +(forward 4) +(forward 6) +(forward 6) +(forward 1) +(down 7) +(down 6) +(down 8) +(up 5) +(down 7) +(up 6) +(forward 9) +(down 7) +(down 1) +(down 9) +(forward 8) +(up 5) +(down 6) +(forward 3) +(up 2) +(down 1) +(forward 2) +(down 3) +(up 6) +(forward 8) +(forward 1) +(forward 3) +(down 9) +(forward 1) +(down 3) +(up 7) +(forward 8) +(up 8) +(down 7) +(down 2) +(forward 3) +(up 7) +(forward 6) +(down 7) +(down 6) +(up 5) +(forward 9) +(down 7) +(up 5) +(forward 6) +(up 5) +(up 6) +(forward 6) +(down 8) +(down 1) +(forward 7) +(forward 6) +(down 5) +(down 6) +(forward 9) +(down 6) +(up 5) +(forward 9) +(forward 4) +(down 1) +(forward 5) +(down 4) +(forward 5) +(forward 1) +(down 1) +(forward 4) +(down 5) +(forward 4) +(up 8) +(down 1) +(forward 6) +(down 5) +(forward 8) +(forward 8) +(forward 5) +(down 7) +(down 4) +(forward 4) +(up 1) +(up 8) +(down 6) +(up 5) +(forward 6) +(forward 5) +(forward 9) +(down 3) +(down 5) +(forward 3) +(down 6) +(forward 6) +(up 7) +(up 6) +(down 6) +(down 1) +(forward 8) +(forward 9) +(up 5) +(forward 8) +(forward 9) +(forward 9) +(down 2) +(down 8) +(forward 8) +(down 2) +(up 8) +(down 2) +(down 2) +(up 1) +(down 5) +(down 6) +(down 1) +(down 8) +(down 9) +(forward 3) +(forward 2) +(down 6) +(up 8) +(forward 9) +(forward 7) +(forward 1) +(down 8) +(up 8) +(forward 8) +(down 5) +(down 3) +(up 3) +(forward 6) +(forward 5) +(down 4) +(forward 4) +(down 4) +(forward 5) +(forward 9) +(forward 2) +(forward 9) +(down 1) +(down 3) +(down 6) +(forward 6) +(down 7) +(forward 3) +(forward 4) +(forward 1) +(down 6) +(forward 1) +(forward 4) +(forward 2) +(forward 2) +(forward 1) +(forward 2) +(down 1) +(up 2) +(forward 1) +(down 3) +(forward 8) +(down 3) +(down 9) +(forward 5) +(down 3) +(down 3) +(forward 2) +(forward 9) +(down 9) +(forward 4) +(down 2) +(forward 5) +(up 8) +(down 4) +(forward 5) +(down 1) +(forward 9) +(down 1) +(forward 7) +(forward 2) +(down 2) +(down 6) +(up 3) +(forward 7) +(up 4) +(forward 7) +(forward 6) +(down 8) +(forward 2) +(down 3) +(forward 9) +(forward 4) +(forward 8) +(down 6) +(forward 8) +(down 9) +(down 2) +(down 3) +(forward 1) +(down 5) +(down 3) +(forward 2) +(forward 7) +(down 4) +(down 3) +(forward 9) +(down 2) +(forward 2) +(forward 1) +(up 6) +(up 4) +(down 5) +(forward 5) +(up 8) +(down 7) +(forward 6) +(down 5) +(forward 3) +(forward 3) +(forward 7) +(up 9) +(up 6) +(down 5) +(up 7) +(forward 2) +(forward 5) +(down 9) +(down 6) +(forward 7) +(down 9) +(up 2) +(up 5) +(forward 1) +(forward 8) +(forward 9) +(up 8) +(forward 9) +(forward 5) +(up 9) +(down 4) +(down 7) +(forward 2) +(forward 1) +(down 4) +(up 8) +(down 5) +(down 7) +(down 9) +(down 3) +(down 9) +(up 8) +(up 7) +(up 8) +(down 8) +(down 2) +(down 6) +(down 6) +(up 5) +(up 9) +(forward 1) +(down 8) +(up 4) +(up 3) +(forward 7) +(up 7) +(down 3) +(up 1) +(forward 3) +(down 7) +(forward 8) +(forward 2) +(down 6) +(down 2) +(up 7) +(up 5) +(forward 7) +(forward 1) +(forward 6) +(up 6) +(forward 5) +(down 2) +(up 4) +(forward 2) +(down 9) +(forward 6) +(forward 3) +(forward 3) +(forward 4) +(forward 2) +(down 6) +(forward 9) +(forward 7) +(down 4) +(up 1) +(forward 4) +(down 6) +(down 6) +(up 1) +(up 1) +(forward 3) +(down 5) +(up 5) +(down 3) +(down 6) +(up 8) +(down 2) +(up 6) +(up 1) +(forward 8) +(up 6) +(down 8) +(forward 9) +(forward 4) +(forward 9) +(down 7) +(down 9) +(down 6) +(down 1) +(forward 9) +(forward 9) +(down 6) +(down 5) +(up 6) +(down 9) +(up 4) +(up 5) +(forward 8) +(down 4) +(down 5) +(forward 8) +(forward 7) +(down 2) +(forward 2) +(forward 6) +(forward 7) +(down 1) +(down 7) +(down 1) +(down 6) +(forward 2) +(up 2) +(down 4) +(down 8) +(forward 1) +(down 1) +(down 3) +(down 3) +(up 9) +(down 9) +(forward 3) +(up 4) +(forward 1) +(down 9) +(down 8) +(down 9) +(forward 5) +(forward 4) +(up 3) +(down 8) +(forward 2) +(down 3) +(up 5) +(forward 4) +(down 7) +(down 8) +(down 9) +(forward 8) +(down 8) +(forward 4) +(down 6) +(down 3) +(forward 5) +(down 3) +(down 9) +(down 4) +(up 8) +(forward 4) +(up 6) +(down 3) +(forward 6) +(down 9) +(down 7) +(forward 7) +(forward 3) +(forward 2) +(forward 4) +(down 4) +(down 5) +(up 9) +(down 2) +(down 6) +(down 9) +(forward 7) +(forward 3) +(up 3) +(forward 3) +(down 4) +(down 7) +(forward 2) +(down 2) +(forward 3) +(down 8) +(down 7) +(down 7) +(forward 2) +(forward 2) +(up 6) +(forward 8) +(forward 9) +(up 3) +(forward 8) +(forward 5) +(forward 7) +(up 3) +(forward 3) +(forward 6) +(down 5) +(down 5) +(down 4) +(forward 1) +(forward 8) +(forward 4) +(forward 3) +(down 1) +(forward 8) +(down 4) +(up 5) +(forward 4) +(down 2) +(forward 7) +(down 2) +(forward 9) +(down 1) +(forward 6) +(forward 8) +(forward 6) +(forward 7) +(forward 1) +(forward 6) +(down 5) +(up 3) +(forward 7) +(down 6) +(forward 2) +(down 2) +(forward 8) +(forward 9) +(up 7) +(forward 1) +(forward 1) +(up 1) +(forward 1) +(down 2) +(forward 6) +(down 9) +(up 1) +(up 2) +(forward 6) +(forward 1) +(forward 7) +(down 1) +(up 8) +(forward 7) +(up 6) +(up 4) +(down 1) +(forward 2) +(down 4) +(down 1) +(down 7) +(down 4) +(up 3) +(forward 8) +(forward 3) +(forward 5) +(down 7) +(down 8) +(forward 5) +(forward 2) +(down 5) +(down 2) +(forward 2) +(up 9) +(down 3) +(down 5) +(up 7) +(down 4) +(down 2) +(down 7) +(forward 6) +(down 2) +(forward 1) +(up 4) +(forward 2) +(forward 2) +(down 5) +(down 1) +(down 1) +(forward 7) +(forward 6) +(down 7) +(down 5) +(up 1) +(up 3) +(forward 3) +(forward 9) +(forward 4) +(down 1) +(down 5) +(forward 3) +(forward 7) +(down 8) +(forward 8) +(forward 2) +(forward 7) +(up 7) +(down 7) +(down 4) +(down 2) +(up 6) +(up 1) +(forward 8) +(up 8) +(up 6) +(down 8) +(forward 1) +(down 5) +(forward 3) +(down 3) +(down 3) +(forward 1) +(up 3) +(up 3) +(forward 8) +(forward 8) +(down 8) +(forward 6) +(forward 2) +(down 7) +(forward 8) +(down 7) +(up 5) +(forward 7) +(down 1) +(forward 9) +(up 6) +(down 2) +(up 2) +(up 5) +(forward 6) +(forward 9) +(forward 3) +(down 8) +(forward 8) +(down 2) +(up 5) +(down 9) +(forward 5) +(down 6) +(down 3) +(down 9) +(up 8) +(up 3) +(down 2) +(forward 7) +(forward 4) +(forward 4) +(forward 8) +(up 6) +(up 4) +(forward 9) +(down 6) +(down 8) +(up 3) +(up 5) +(forward 8) +(forward 7) +(forward 4) +(down 8) +(forward 1) +(forward 5) +(down 9) +(forward 8) +(up 6) +(down 6) +(down 8) +(down 2) +(forward 4) +(forward 9) +(forward 2) +(forward 7) +(down 3) +(forward 3) +(up 6) +(down 4) +(forward 2) +(up 4) +(down 4) +(forward 4) +(forward 3) +(forward 1) +(up 6) +(forward 1) +(down 1) +(forward 7) +(up 4) +(forward 3) +(down 4) +(up 6) +(up 2) +(up 8) +(down 1) +(down 6) +(down 6) +(down 1) +(down 7) +(forward 8) +(down 9) +(forward 5) +(up 2) +(up 7) +(up 5) +(down 6) +(up 1) +(up 6) +(forward 4) +(down 7) +(forward 5) +(forward 1) +(down 6) +(forward 2) +(down 2) +(forward 9) +(down 9) +(up 6) +(forward 1) +(up 7) +(down 7) +(forward 1) +(down 6) +(up 1) +(forward 2) +(forward 1) +(down 4) +(forward 9) +(forward 7) +(forward 5) +(down 1) +(forward 2) +(down 2) +(down 2) +(down 5) +(forward 1) +(up 8) +(forward 9) +(down 7) +(forward 9) +(down 2) +(up 5) +(down 9) +(down 8) +(down 5) +(forward 8) +(forward 4) +(down 4) +(down 6) +(forward 1) +(down 5) +(up 6) +(down 3) +(down 3) +(forward 9) +(down 9) +(forward 6) +(down 5) +(up 6) +(down 5) +(up 7) +(forward 9) +(down 2) +(down 4) +(down 8) +(forward 4) +(up 7) +(forward 9) +(forward 7) +(up 5) +(down 7) +(down 5) +(down 1) +(forward 5) +(forward 4) +(down 2) +(up 3) +(forward 1) +(up 4) +(up 9) +(down 4) +(forward 3) +(down 4) +(down 9) +(forward 4) +(up 2) +(up 3) +(forward 7) +(up 6) +(down 8) +(down 8) +(forward 6) +(forward 2) +(forward 3) +(forward 9) +(forward 7) +(down 6) +(down 7) +(down 4) +(down 2) +(forward 8) +(down 6) +(forward 6) +(forward 6) +(forward 9) +(down 8) +(down 1) +(up 5) +(down 1) +(forward 9) +(down 1) +(up 8) +(forward 8) +(down 3) +(forward 1) +(down 9) +(forward 6) +(forward 4) +(forward 8) +(down 2) +(up 8) +(down 2) +(up 8) +(down 9) +(down 4) +(up 7) +(forward 7) +(forward 5) +(down 5) +(down 4) +(up 8) +(forward 1) +(down 7) +(forward 1) +(up 9) +(forward 9) +(forward 7) +(forward 9) +(down 9) +(forward 4) +(down 7) +(forward 6) +(forward 6) +(up 3) +(forward 2) +(down 5) +(up 8) +(down 1) +(up 8) +(down 4) +(down 1) +(up 6) +(forward 4) +(forward 3) +(forward 6) +(down 3) +(forward 4) +(forward 4) +(forward 4) +(down 8) +(forward 3) +(up 8) +(up 8) +(down 8) +(forward 6) +(forward 8) +(up 5) +(forward 6) +(down 8) +(down 7) +(up 4) +(forward 6) +(forward 9) +(down 9) +(forward 4) +(up 2) +(forward 1) +(up 3) +(down 9) +(down 8) +(forward 8) +(forward 8) +(forward 7) +(down 6) +(down 1) +(up 6) +(up 6) +(forward 9) +(forward 7) +(forward 7) +(down 3) +(down 6) +(down 9) +(down 4) +(forward 7) +(forward 3) +(forward 3) +(down 7) +(up 5) +(down 3) +(forward 6) +(forward 3) +(forward 5) +(up 3) +(down 7) +(forward 2) +(up 7) +(forward 9) +(down 3) +(down 9) +(forward 8) +(forward 5) +(up 7) +(up 2) +(up 8) +(forward 6) +(down 8) +(forward 2) +(forward 4) +(up 2) +(forward 2) +(forward 8) +(forward 4) +(down 8) +(forward 5) +(down 4) +(down 7) +(forward 3) +(down 3) +(up 1) +(down 9) +(forward 9) +(down 2) +(down 1) +(forward 1) +(down 6) +(down 3) +(forward 5) +(down 3) +(down 8) +(up 7) +(down 1) +(up 9) +(down 4) +(forward 9) +(down 4) +(forward 3) +(forward 6) +(down 3) +(forward 3) +(down 2) +(down 7) +(down 1) +(up 4) +(down 9) +(down 1) +(down 3) +(down 4) +(down 8) +(down 7) +(forward 4) +(down 4) +(down 9) +(forward 2) +(forward 7) +(forward 2) +(down 6) +(up 8) +(forward 6) +(down 2) +(forward 6) +(up 8) +(forward 6) +(down 9) +(forward 2) +(forward 6) + +(put-line `x = @x, y = @y, aim = @aim, (* x y) = @(* x y)`) diff --git a/2021/02/part2.tl b/2021/02/part2.tl new file mode 100644 index 0000000..8bd775f --- /dev/null +++ b/2021/02/part2.tl @@ -0,0 +1,1016 @@ +(defvar x 0) +(defvar y 0) +(defvar aim 0) + +(defun forward (n) + (inc x n) + (inc y (* n aim))) + +(defun down (n) + (inc aim n)) + +(defun up (n) + (dec aim n)) + +(forward 9) +(forward 9) +(forward 3) +(down 2) +(forward 8) +(down 8) +(forward 1) +(down 6) +(down 9) +(down 9) +(forward 1) +(up 5) +(up 4) +(up 8) +(down 6) +(down 7) +(forward 4) +(forward 6) +(forward 2) +(forward 2) +(forward 4) +(down 2) +(down 6) +(forward 6) +(forward 9) +(up 4) +(up 6) +(down 2) +(forward 7) +(up 7) +(down 8) +(down 4) +(down 6) +(forward 1) +(down 2) +(up 1) +(forward 8) +(down 9) +(forward 6) +(up 9) +(down 8) +(forward 5) +(forward 8) +(down 8) +(up 3) +(up 9) +(down 2) +(down 2) +(forward 5) +(up 7) +(forward 5) +(down 6) +(forward 4) +(down 2) +(up 2) +(up 7) +(up 1) +(down 4) +(down 8) +(forward 6) +(down 2) +(forward 7) +(down 1) +(forward 7) +(forward 1) +(up 1) +(down 4) +(down 3) +(down 4) +(down 4) +(up 8) +(down 1) +(up 7) +(forward 8) +(down 5) +(up 1) +(down 4) +(down 3) +(forward 4) +(up 7) +(forward 1) +(down 4) +(down 2) +(down 4) +(up 8) +(up 6) +(down 1) +(up 3) +(down 5) +(forward 4) +(down 3) +(forward 9) +(down 9) +(forward 2) +(down 4) +(up 3) +(down 4) +(forward 1) +(forward 7) +(forward 9) +(forward 7) +(forward 3) +(forward 6) +(down 4) +(forward 7) +(down 5) +(down 1) +(forward 7) +(up 1) +(down 8) +(down 7) +(down 7) +(down 7) +(down 3) +(forward 4) +(forward 6) +(forward 6) +(forward 1) +(down 7) +(down 6) +(down 8) +(up 5) +(down 7) +(up 6) +(forward 9) +(down 7) +(down 1) +(down 9) +(forward 8) +(up 5) +(down 6) +(forward 3) +(up 2) +(down 1) +(forward 2) +(down 3) +(up 6) +(forward 8) +(forward 1) +(forward 3) +(down 9) +(forward 1) +(down 3) +(up 7) +(forward 8) +(up 8) +(down 7) +(down 2) +(forward 3) +(up 7) +(forward 6) +(down 7) +(down 6) +(up 5) +(forward 9) +(down 7) +(up 5) +(forward 6) +(up 5) +(up 6) +(forward 6) +(down 8) +(down 1) +(forward 7) +(forward 6) +(down 5) +(down 6) +(forward 9) +(down 6) +(up 5) +(forward 9) +(forward 4) +(down 1) +(forward 5) +(down 4) +(forward 5) +(forward 1) +(down 1) +(forward 4) +(down 5) +(forward 4) +(up 8) +(down 1) +(forward 6) +(down 5) +(forward 8) +(forward 8) +(forward 5) +(down 7) +(down 4) +(forward 4) +(up 1) +(up 8) +(down 6) +(up 5) +(forward 6) +(forward 5) +(forward 9) +(down 3) +(down 5) +(forward 3) +(down 6) +(forward 6) +(up 7) +(up 6) +(down 6) +(down 1) +(forward 8) +(forward 9) +(up 5) +(forward 8) +(forward 9) +(forward 9) +(down 2) +(down 8) +(forward 8) +(down 2) +(up 8) +(down 2) +(down 2) +(up 1) +(down 5) +(down 6) +(down 1) +(down 8) +(down 9) +(forward 3) +(forward 2) +(down 6) +(up 8) +(forward 9) +(forward 7) +(forward 1) +(down 8) +(up 8) +(forward 8) +(down 5) +(down 3) +(up 3) +(forward 6) +(forward 5) +(down 4) +(forward 4) +(down 4) +(forward 5) +(forward 9) +(forward 2) +(forward 9) +(down 1) +(down 3) +(down 6) +(forward 6) +(down 7) +(forward 3) +(forward 4) +(forward 1) +(down 6) +(forward 1) +(forward 4) +(forward 2) +(forward 2) +(forward 1) +(forward 2) +(down 1) +(up 2) +(forward 1) +(down 3) +(forward 8) +(down 3) +(down 9) +(forward 5) +(down 3) +(down 3) +(forward 2) +(forward 9) +(down 9) +(forward 4) +(down 2) +(forward 5) +(up 8) +(down 4) +(forward 5) +(down 1) +(forward 9) +(down 1) +(forward 7) +(forward 2) +(down 2) +(down 6) +(up 3) +(forward 7) +(up 4) +(forward 7) +(forward 6) +(down 8) +(forward 2) +(down 3) +(forward 9) +(forward 4) +(forward 8) +(down 6) +(forward 8) +(down 9) +(down 2) +(down 3) +(forward 1) +(down 5) +(down 3) +(forward 2) +(forward 7) +(down 4) +(down 3) +(forward 9) +(down 2) +(forward 2) +(forward 1) +(up 6) +(up 4) +(down 5) +(forward 5) +(up 8) +(down 7) +(forward 6) +(down 5) +(forward 3) +(forward 3) +(forward 7) +(up 9) +(up 6) +(down 5) +(up 7) +(forward 2) +(forward 5) +(down 9) +(down 6) +(forward 7) +(down 9) +(up 2) +(up 5) +(forward 1) +(forward 8) +(forward 9) +(up 8) +(forward 9) +(forward 5) +(up 9) +(down 4) +(down 7) +(forward 2) +(forward 1) +(down 4) +(up 8) +(down 5) +(down 7) +(down 9) +(down 3) +(down 9) +(up 8) +(up 7) +(up 8) +(down 8) +(down 2) +(down 6) +(down 6) +(up 5) +(up 9) +(forward 1) +(down 8) +(up 4) +(up 3) +(forward 7) +(up 7) +(down 3) +(up 1) +(forward 3) +(down 7) +(forward 8) +(forward 2) +(down 6) +(down 2) +(up 7) +(up 5) +(forward 7) +(forward 1) +(forward 6) +(up 6) +(forward 5) +(down 2) +(up 4) +(forward 2) +(down 9) +(forward 6) +(forward 3) +(forward 3) +(forward 4) +(forward 2) +(down 6) +(forward 9) +(forward 7) +(down 4) +(up 1) +(forward 4) +(down 6) +(down 6) +(up 1) +(up 1) +(forward 3) +(down 5) +(up 5) +(down 3) +(down 6) +(up 8) +(down 2) +(up 6) +(up 1) +(forward 8) +(up 6) +(down 8) +(forward 9) +(forward 4) +(forward 9) +(down 7) +(down 9) +(down 6) +(down 1) +(forward 9) +(forward 9) +(down 6) +(down 5) +(up 6) +(down 9) +(up 4) +(up 5) +(forward 8) +(down 4) +(down 5) +(forward 8) +(forward 7) +(down 2) +(forward 2) +(forward 6) +(forward 7) +(down 1) +(down 7) +(down 1) +(down 6) +(forward 2) +(up 2) +(down 4) +(down 8) +(forward 1) +(down 1) +(down 3) +(down 3) +(up 9) +(down 9) +(forward 3) +(up 4) +(forward 1) +(down 9) +(down 8) +(down 9) +(forward 5) +(forward 4) +(up 3) +(down 8) +(forward 2) +(down 3) +(up 5) +(forward 4) +(down 7) +(down 8) +(down 9) +(forward 8) +(down 8) +(forward 4) +(down 6) +(down 3) +(forward 5) +(down 3) +(down 9) +(down 4) +(up 8) +(forward 4) +(up 6) +(down 3) +(forward 6) +(down 9) +(down 7) +(forward 7) +(forward 3) +(forward 2) +(forward 4) +(down 4) +(down 5) +(up 9) +(down 2) +(down 6) +(down 9) +(forward 7) +(forward 3) +(up 3) +(forward 3) +(down 4) +(down 7) +(forward 2) +(down 2) +(forward 3) +(down 8) +(down 7) +(down 7) +(forward 2) +(forward 2) +(up 6) +(forward 8) +(forward 9) +(up 3) +(forward 8) +(forward 5) +(forward 7) +(up 3) +(forward 3) +(forward 6) +(down 5) +(down 5) +(down 4) +(forward 1) +(forward 8) +(forward 4) +(forward 3) +(down 1) +(forward 8) +(down 4) +(up 5) +(forward 4) +(down 2) +(forward 7) +(down 2) +(forward 9) +(down 1) +(forward 6) +(forward 8) +(forward 6) +(forward 7) +(forward 1) +(forward 6) +(down 5) +(up 3) +(forward 7) +(down 6) +(forward 2) +(down 2) +(forward 8) +(forward 9) +(up 7) +(forward 1) +(forward 1) +(up 1) +(forward 1) +(down 2) +(forward 6) +(down 9) +(up 1) +(up 2) +(forward 6) +(forward 1) +(forward 7) +(down 1) +(up 8) +(forward 7) +(up 6) +(up 4) +(down 1) +(forward 2) +(down 4) +(down 1) +(down 7) +(down 4) +(up 3) +(forward 8) +(forward 3) +(forward 5) +(down 7) +(down 8) +(forward 5) +(forward 2) +(down 5) +(down 2) +(forward 2) +(up 9) +(down 3) +(down 5) +(up 7) +(down 4) +(down 2) +(down 7) +(forward 6) +(down 2) +(forward 1) +(up 4) +(forward 2) +(forward 2) +(down 5) +(down 1) +(down 1) +(forward 7) +(forward 6) +(down 7) +(down 5) +(up 1) +(up 3) +(forward 3) +(forward 9) +(forward 4) +(down 1) +(down 5) +(forward 3) +(forward 7) +(down 8) +(forward 8) +(forward 2) +(forward 7) +(up 7) +(down 7) +(down 4) +(down 2) +(up 6) +(up 1) +(forward 8) +(up 8) +(up 6) +(down 8) +(forward 1) +(down 5) +(forward 3) +(down 3) +(down 3) +(forward 1) +(up 3) +(up 3) +(forward 8) +(forward 8) +(down 8) +(forward 6) +(forward 2) +(down 7) +(forward 8) +(down 7) +(up 5) +(forward 7) +(down 1) +(forward 9) +(up 6) +(down 2) +(up 2) +(up 5) +(forward 6) +(forward 9) +(forward 3) +(down 8) +(forward 8) +(down 2) +(up 5) +(down 9) +(forward 5) +(down 6) +(down 3) +(down 9) +(up 8) +(up 3) +(down 2) +(forward 7) +(forward 4) +(forward 4) +(forward 8) +(up 6) +(up 4) +(forward 9) +(down 6) +(down 8) +(up 3) +(up 5) +(forward 8) +(forward 7) +(forward 4) +(down 8) +(forward 1) +(forward 5) +(down 9) +(forward 8) +(up 6) +(down 6) +(down 8) +(down 2) +(forward 4) +(forward 9) +(forward 2) +(forward 7) +(down 3) +(forward 3) +(up 6) +(down 4) +(forward 2) +(up 4) +(down 4) +(forward 4) +(forward 3) +(forward 1) +(up 6) +(forward 1) +(down 1) +(forward 7) +(up 4) +(forward 3) +(down 4) +(up 6) +(up 2) +(up 8) +(down 1) +(down 6) +(down 6) +(down 1) +(down 7) +(forward 8) +(down 9) +(forward 5) +(up 2) +(up 7) +(up 5) +(down 6) +(up 1) +(up 6) +(forward 4) +(down 7) +(forward 5) +(forward 1) +(down 6) +(forward 2) +(down 2) +(forward 9) +(down 9) +(up 6) +(forward 1) +(up 7) +(down 7) +(forward 1) +(down 6) +(up 1) +(forward 2) +(forward 1) +(down 4) +(forward 9) +(forward 7) +(forward 5) +(down 1) +(forward 2) +(down 2) +(down 2) +(down 5) +(forward 1) +(up 8) +(forward 9) +(down 7) +(forward 9) +(down 2) +(up 5) +(down 9) +(down 8) +(down 5) +(forward 8) +(forward 4) +(down 4) +(down 6) +(forward 1) +(down 5) +(up 6) +(down 3) +(down 3) +(forward 9) +(down 9) +(forward 6) +(down 5) +(up 6) +(down 5) +(up 7) +(forward 9) +(down 2) +(down 4) +(down 8) +(forward 4) +(up 7) +(forward 9) +(forward 7) +(up 5) +(down 7) +(down 5) +(down 1) +(forward 5) +(forward 4) +(down 2) +(up 3) +(forward 1) +(up 4) +(up 9) +(down 4) +(forward 3) +(down 4) +(down 9) +(forward 4) +(up 2) +(up 3) +(forward 7) +(up 6) +(down 8) +(down 8) +(forward 6) +(forward 2) +(forward 3) +(forward 9) +(forward 7) +(down 6) +(down 7) +(down 4) +(down 2) +(forward 8) +(down 6) +(forward 6) +(forward 6) +(forward 9) +(down 8) +(down 1) +(up 5) +(down 1) +(forward 9) +(down 1) +(up 8) +(forward 8) +(down 3) +(forward 1) +(down 9) +(forward 6) +(forward 4) +(forward 8) +(down 2) +(up 8) +(down 2) +(up 8) +(down 9) +(down 4) +(up 7) +(forward 7) +(forward 5) +(down 5) +(down 4) +(up 8) +(forward 1) +(down 7) +(forward 1) +(up 9) +(forward 9) +(forward 7) +(forward 9) +(down 9) +(forward 4) +(down 7) +(forward 6) +(forward 6) +(up 3) +(forward 2) +(down 5) +(up 8) +(down 1) +(up 8) +(down 4) +(down 1) +(up 6) +(forward 4) +(forward 3) +(forward 6) +(down 3) +(forward 4) +(forward 4) +(forward 4) +(down 8) +(forward 3) +(up 8) +(up 8) +(down 8) +(forward 6) +(forward 8) +(up 5) +(forward 6) +(down 8) +(down 7) +(up 4) +(forward 6) +(forward 9) +(down 9) +(forward 4) +(up 2) +(forward 1) +(up 3) +(down 9) +(down 8) +(forward 8) +(forward 8) +(forward 7) +(down 6) +(down 1) +(up 6) +(up 6) +(forward 9) +(forward 7) +(forward 7) +(down 3) +(down 6) +(down 9) +(down 4) +(forward 7) +(forward 3) +(forward 3) +(down 7) +(up 5) +(down 3) +(forward 6) +(forward 3) +(forward 5) +(up 3) +(down 7) +(forward 2) +(up 7) +(forward 9) +(down 3) +(down 9) +(forward 8) +(forward 5) +(up 7) +(up 2) +(up 8) +(forward 6) +(down 8) +(forward 2) +(forward 4) +(up 2) +(forward 2) +(forward 8) +(forward 4) +(down 8) +(forward 5) +(down 4) +(down 7) +(forward 3) +(down 3) +(up 1) +(down 9) +(forward 9) +(down 2) +(down 1) +(forward 1) +(down 6) +(down 3) +(forward 5) +(down 3) +(down 8) +(up 7) +(down 1) +(up 9) +(down 4) +(forward 9) +(down 4) +(forward 3) +(forward 6) +(down 3) +(forward 3) +(down 2) +(down 7) +(down 1) +(up 4) +(down 9) +(down 1) +(down 3) +(down 4) +(down 8) +(down 7) +(forward 4) +(down 4) +(down 9) +(forward 2) +(forward 7) +(forward 2) +(down 6) +(up 8) +(forward 6) +(down 2) +(forward 6) +(up 8) +(forward 6) +(down 9) +(forward 2) +(forward 6) + +(put-line `x = @x, y = @y, aim = @aim, (* x y) = @(* x y)`) |