about summary refs log tree commit diff stats
path: root/hanoi.lua
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-11-05 19:38:43 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-11-05 19:43:40 -0700
commitee3f6e8a22d95836df438f4fc6419120b0a0ae20 (patch)
tree9d17a4edf7cd240ad3f8363b29cc48e8c72c4efc /hanoi.lua
parent6c9e26e07caa24e6f306cbf948255fc95c5ee7e4 (diff)
downloadteliva-ee3f6e8a22d95836df438f4fc6419120b0a0ae20.tar.gz
colors: init_pair/color_pair
Diffstat (limited to 'hanoi.lua')
-rw-r--r--hanoi.lua17
1 files changed, 13 insertions, 4 deletions
diff --git a/hanoi.lua b/hanoi.lua
index 7174bc5..0ced2c7 100644
--- a/hanoi.lua
+++ b/hanoi.lua
@@ -1,7 +1,7 @@
 local curses = require "curses"
 
 
-tower = {{5, 4, 3, 2, 1}, {}, {}}
+tower = {{6, 5, 4, 3, 2}, {}, {}}
 
 
 local function len(array)
@@ -31,7 +31,9 @@ end
 local function render_disk(window, line, col, size)
   col = col-size+1
   for i=1,size do
-    window:mvaddstr(line, col, "--")
+    window:attron(curses.color_pair(1))
+    window:mvaddstr(line, col, "  ")
+    window:attroff(curses.color_pair(1))
     col = col+2
   end
 end
@@ -40,13 +42,17 @@ local function render_tower(window, line, col, tower_index, tower)
   window:attron(curses.A_BOLD)
   window:mvaddch(line+2, col, string.char(96+tower_index))
   window:attroff(curses.A_BOLD)
-  window:mvaddstr(line+1, col-3, "========")
+  window:attron(curses.color_pair(2))
+  window:mvaddstr(line+1, col-6, "              ")
+  window:attroff(curses.color_pair(2))
   for i, n in ipairs(tower) do
     render_disk(window, line, col, n)
     line = line - 1
   end
   for i=1,5-len(tower) do
-    window:mvaddstr(line, col, "||")
+    window:attron(curses.color_pair(2))
+    window:mvaddstr(line, col, "  ")
+    window:attroff(curses.color_pair(2))
     line = line - 1
   end
 end
@@ -83,6 +89,9 @@ end
 
 local function main()
   local window = curses.initscr()
+  curses.start_color()
+  curses.init_pair(1, 0, 2)
+  curses.init_pair(2, 0, 8)
 
   while true do
     render(window)