Langton's ant: Difference between revisions

m (→‎{{header|Sidef}}: minor code updates)
Line 152:
data b;
 
b = l_q_data(map, [y)];
w = b_character(b, [x >> 3)];
p = 1 << (7 - (x & 7));
b_replace(b, [x >> 3,] = w ^ p);
 
return !(w & p);
}
 
Line 164:
{
while (-1 < x && x < 100 && -1 < y && y < 100) {
ifd += (is_white(map, x, y)) {? 3 : 1;
d +&= 3;
d &= 3;
} else {
d += 1;
d &= 3;
}
 
if (d & 1) {
Line 189 ⟶ 184:
i = 100;
while (i) {
data b;
integer j;
 
i -= 1;
j =l_n_data(l, -1).run(13, 0);
while (j) {
j -= 1;
b_append(b, 0);
}
 
l_l_data(l, -1, b);
}
 
ant(50, 50, 2, l);
 
f_open(f, .create("ant.pbm", OPEN_CREATE | OPEN_TRUNCATE | OPEN_WRITEONLY, 00644);
 
f_text(f, .text("P4\n100 100\n");
il.ucall(f_data, =1, 100f);
while (i) {
f_b_post(f, l_q_data(l, -i));
i -= 1;
}
 
return 0;
}</lang>
 
Anonymous user