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 |
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 |
case @"b" : f = 0 // - dead |
||
case @"o" : f = 1 |
case @"o" : f = 1 // - live |
||
case else : |
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 |