summaryrefslogtreecommitdiffstats
path: root/2021/02/part2.tl
diff options
context:
space:
mode:
Diffstat (limited to '2021/02/part2.tl')
-rw-r--r--2021/02/part2.tl1016
1 files changed, 1016 insertions, 0 deletions
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)`)