From 31816db0ccd23b398dbfe02d6dcab1a7cc703e90 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 26 Nov 2021 21:56:22 -0800 Subject: [PATCH] . --- chesstv.tlv | 51 ++++++++++++++++++++++++++++++++++----------------- counter.tlv | 18 ++++++++++++------ hanoi.tlv | 36 ++++++++++++++++++++++++------------ life.tlv | 48 ++++++++++++++++++++++++++++++++---------------- 4 files changed, 102 insertions(+), 51 deletions(-) diff --git a/chesstv.tlv b/chesstv.tlv index 18208ad..9776653 100644 --- a/chesstv.tlv +++ b/chesstv.tlv @@ -1,6 +1,7 @@ teliva_program = { { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], window = [==[ window = curses.stdscr() -- animation-based app @@ -8,12 +9,14 @@ window:nodelay(true) lines, cols = window:getmaxyx()]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], current_game = [==[ current_game = {}]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], piece_glyph = [==[ piece_glyph = { -- for legibility, white pieces also use unicode glyphs for black pieces @@ -33,7 +36,8 @@ piece_glyph = { }]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], top_player = [==[ function top_player(current_game) if current_game.players[1].color == "black" then @@ -43,7 +47,8 @@ function top_player(current_game) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], bottom_player = [==[ function bottom_player(current_game) if current_game.players[1].color == "white" then @@ -53,7 +58,8 @@ function bottom_player(current_game) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_player = [==[ function render_player(y, x, player) curses.mvaddstr(y, x, player.user.name) @@ -62,7 +68,8 @@ function render_player(y, x, player) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_square = [==[ function render_square(current_game, rank, file, highlighted_squares) -- decide whether to highlight @@ -85,7 +92,8 @@ function render_square(current_game, rank, file, highlighted_squares) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_fen_rank = [==[ function render_fen_rank(rank, fen_rank, highlighted_squares) local file = 1 @@ -124,7 +132,8 @@ function render_fen_rank(rank, fen_rank, highlighted_squares) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_time = [==[ function render_time(y, x, seconds) if seconds == nil then return end @@ -133,7 +142,8 @@ function render_time(y, x, seconds) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_board = [==[ function render_board(current_game) --? curses.mvaddstr(1, 50, dump(current_game.fen)) @@ -151,7 +161,8 @@ function render_board(current_game) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], parse_lm = [==[ function parse_lm(move) --? curses.mvaddstr(4, 50, move) @@ -164,7 +175,8 @@ function parse_lm(move) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render = [==[ function render(chunk) local o = json.decode(chunk) @@ -187,7 +199,8 @@ function render(chunk) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], init_colors = [==[ function init_colors() -- colors @@ -209,7 +222,8 @@ function init_colors() end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], main = [==[ function main() init_colors() @@ -228,7 +242,8 @@ function main() end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], utf8 = [==[ -- https://stackoverflow.com/questions/7983574/how-to-write-a-unicode-symbol-in-lua function utf8(decimal) @@ -250,7 +265,8 @@ function utf8(decimal) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], split = [==[ function split(s, pat) result = {} @@ -261,7 +277,8 @@ function split(s, pat) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], dump = [==[ -- https://stackoverflow.com/questions/9168058/how-to-dump-a-table-to-console function dump(o) diff --git a/counter.tlv b/counter.tlv index 532e1e1..31fed56 100644 --- a/counter.tlv +++ b/counter.tlv @@ -1,16 +1,19 @@ teliva_program = { { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], window = [==[ window = curses.stdscr()]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], n = [==[ n = 0]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render = [==[ function render(window) window:clear() @@ -24,12 +27,14 @@ function render(window) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], menu = [==[ menu = {Enter="increment"}]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], update = [==[ function update(window) local key = curses.getch() @@ -39,7 +44,8 @@ function update(window) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], main = [==[ function main() for i=1,7 do diff --git a/hanoi.tlv b/hanoi.tlv index 8bb8e7e..06537f6 100644 --- a/hanoi.tlv +++ b/hanoi.tlv @@ -1,6 +1,7 @@ teliva_program = { { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render = [==[ function render(window) window:clear() @@ -14,7 +15,8 @@ function render(window) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], lines = [==[ function lines(window) local lines, cols = window:getmaxyx() @@ -22,19 +24,22 @@ function lines(window) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], pop = [==[ function pop(array) return table.remove(array) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], window = [==[ window = curses.stdscr()]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_tower = [==[ function render_tower(window, line, col, tower_index, tower) window:attron(curses.A_BOLD) @@ -56,12 +61,14 @@ function render_tower(window, line, col, tower_index, tower) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], tower = [==[ tower = {{6, 5, 4, 3, 2}, {}, {}}]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render_disk = [==[ function render_disk(window, line, col, size) col = col-size+1 @@ -74,7 +81,8 @@ function render_disk(window, line, col, size) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], main = [==[ function main() for i=1,7 do @@ -89,7 +97,8 @@ end ]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], len = [==[ function len(array) local result = 0 @@ -100,7 +109,8 @@ function len(array) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], update = [==[ function update(window) window:mvaddstr(lines(window)-2, 5, "tower to remove top disk from? ") @@ -111,7 +121,8 @@ function update(window) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], make_move = [==[ function make_move(from, to) local disk = pop(tower[from]) @@ -119,7 +130,8 @@ function make_move(from, to) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], cols = [==[ function cols(window) local lines, cols = window:getmaxyx() diff --git a/life.tlv b/life.tlv index 46b3644..08307e8 100644 --- a/life.tlv +++ b/life.tlv @@ -1,6 +1,7 @@ teliva_program = { { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], grid = [==[ -- main data structure grid = {} @@ -13,7 +14,8 @@ end ]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], window = [==[ window = curses.stdscr() -- animation-based app @@ -21,7 +23,8 @@ window:nodelay(true) lines, cols = window:getmaxyx()]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], grid_char = [==[ -- grab a 4x2 chunk of grid function grid_char(line, col) @@ -33,7 +36,8 @@ function grid_char(line, col) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], print_grid_char = [==[ function print_grid_char(window, x) result = {} @@ -46,7 +50,8 @@ function print_grid_char(window, x) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], glyph = [==[ -- look up the braille pattern corresponding to a 4x2 chunk of grid -- https://en.wikipedia.org/wiki/Braille_Patterns @@ -72,7 +77,8 @@ glyph = { }]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], utf8 = [==[ -- https://stackoverflow.com/questions/7983574/how-to-write-a-unicode-symbol-in-lua function utf8(decimal) @@ -94,7 +100,8 @@ function utf8(decimal) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], grid_char_to_glyph_index = [==[ -- convert a chunk of grid into a number function grid_char_to_glyph_index(g) @@ -104,7 +111,8 @@ function grid_char_to_glyph_index(g) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], render = [==[ function render(window) window:clear() @@ -118,7 +126,8 @@ end ]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], state = [==[ function state(line, col) if line < 1 or line > table.getn(grid) or col < 1 or col > table.getn(grid[1]) then @@ -128,7 +137,8 @@ function state(line, col) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], num_live_neighbors = [==[ function num_live_neighbors(line, col) return state(line-1, col-1) + state(line-1, col) + state(line-1, col+1) + @@ -137,7 +147,8 @@ function num_live_neighbors(line, col) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], step = [==[ function step() local new_grid = {} @@ -158,7 +169,8 @@ function step() end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], sleep = [==[ function sleep(a) local sec = tonumber(os.clock() + a); @@ -167,7 +179,8 @@ function sleep(a) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], file_exists = [==[ function file_exists(filename) local f = io.open(filename, "r") @@ -180,7 +193,8 @@ function file_exists(filename) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], load_file = [==[ function load_file(window, filename) io.input(filename) @@ -203,7 +217,8 @@ function load_file(window, filename) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], update = [==[ menu = {arrow="pan"} @@ -244,7 +259,8 @@ function update(window, c) end]==], }, { - __teliva_timestamp = [==[original]==], + __teliva_timestamp = [==[ +original]==], main = [==[ function main() for i=1,7 do