32 lines
661 B
Plaintext
32 lines
661 B
Plaintext
var f = [[], DATA.lines.map {['', .chars..., '']}..., []];
|
|
|
|
10.times {
|
|
say f.map { .join(" ") + "\n" }.join;
|
|
var a = [[]];
|
|
for y in (1 .. f.end-1) {
|
|
var r = f[y];
|
|
var rr = [''];
|
|
for x in (1 .. r.end-1) {
|
|
var c = r[x];
|
|
rr << (
|
|
given(c) {
|
|
when('H') { 't' }
|
|
when('t') { '.' }
|
|
when('.') { <. H>[f.ft(y-1, y+1).map{.ft(x-1, x+1)...}.count('H') ~~ [1,2]] }
|
|
default { c }
|
|
}
|
|
)
|
|
}
|
|
rr << '';
|
|
a << rr;
|
|
}
|
|
f = [a..., []];
|
|
}
|
|
|
|
__DATA__
|
|
tH.........
|
|
. .
|
|
...
|
|
. .
|
|
Ht.. ......
|