game of life 4

行列の要素の値が 1 だったらその位置に色を塗る。

行列は nspire の乱数函数で用意した。

f:id:ti-nspire:20151105074507j:plain:w690 f:id:ti-nspire:20151105074612j:plain:w500

local sideLen = 10
local mat = var.recall("mat")
function on.paint(gc)
   for r = 1, #mat do 
      for c = 1, #mat[1] do
         if mat[r][c] == 1 then
            gc:fillRect((c - 1) * sideLen, (r - 1) * sideLen, sideLen, sideLen)
         end
      end
   end
end

lua は配列のインデックスを 1 から始めるのが慣習になっているが、nspire のリスト、行列との連携を考えるとかえって混乱がない。