about summary refs log tree commit diff stats
path: root/503manhattan-line.mu
diff options
context:
space:
mode:
Diffstat (limited to '503manhattan-line.mu')
-rw-r--r--503manhattan-line.mu28
1 files changed, 28 insertions, 0 deletions
diff --git a/503manhattan-line.mu b/503manhattan-line.mu
new file mode 100644
index 00000000..5c51473d
--- /dev/null
+++ b/503manhattan-line.mu
@@ -0,0 +1,28 @@
+fn draw-box-on-real-screen x1: int, y1: int, x2: int, y2: int, color: int {
+  draw-horizontal-line-on-real-screen x1, x2, y1, color
+  draw-vertical-line-on-real-screen x1, y1, y2, color
+  draw-horizontal-line-on-real-screen x1, x2, y2, color
+  draw-vertical-line-on-real-screen x2, y1, y2, color
+}
+
+fn draw-horizontal-line-on-real-screen x1: int, x2: int, y: int, color: int {
+  var x/eax: int <- copy x1
+  {
+    compare x, x2
+    break-if->=
+    pixel-on-real-screen x, y, color
+    x <- increment
+    loop
+  }
+}
+
+fn draw-vertical-line-on-real-screen x: int, y1: int, y2: int, color: int {
+  var y/eax: int <- copy y1
+  {
+    compare y, y2
+    break-if->=
+    pixel-on-real-screen x, y, color
+    y <- increment
+    loop
+  }
+}