summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--2022/day14.awk21
1 files changed, 21 insertions, 0 deletions
diff --git a/2022/day14.awk b/2022/day14.awk
index 45bc5fe..7cf90ad 100644
--- a/2022/day14.awk
+++ b/2022/day14.awk
@@ -41,4 +41,25 @@ END {
 		}
 	}
 	print sand;
+	for (xy in m) {
+		if (m[xy] == "o") delete m[xy];
+	}
+	sand = 0;
+	while (!m[500,0]) {
+		if (!m[x,y+1] && y+1 != ymax+2) {
+			y++;
+		} else if (!m[x-1,y+1] && y+1 != ymax+2) {
+			x--;
+			y++;
+		} else if (!m[x+1,y+1] && y+1 != ymax+2) {
+			x++;
+			y++;
+		} else {
+			m[x,y] = "o";
+			sand++;
+			x = 500;
+			y = 0;
+		}
+	}
+	print sand;
 }