Run-length encoding: Difference between revisions

Content added Content deleted
Line 2,875: Line 2,875:




local fn decode2D( string as CFStringRef )
local fn decode2D( string as CFStringRef ) // For Conway's Game of Life objects
Boolean a(500, 500) // Or larger to hold bigger objects
Boolean a(500, 500) // Or larger to hold bigger life forms
CFStringRef ch
CFStringRef ch
Short i, j, rl, f // Decoded char
Short i, j, rl, f // Decoded char
Line 2,891: Line 2,891:
select ch // Decode character as:
select ch // Decode character as:
case @"$" : f = -1 // - new line
case @"$" : f = -1 // - new line
case @"b" : f = 0 // - dead
case @"b" : f = 0 // - dead
case @"o" : f = 1 // - live
case @"o" : f = 1 // - live
case else : // Ignore
case else : // Ignore
end select
end select
for j = 1 to rl // Fill array with run of chars
for j = 1 to rl // Fill array with run of chars
if f = -1
if f = -1
x = 0 : y ++ : v = 0 // New line
x = 0 : y ++ : v = 0 // New line