『ラングトンのアリの描画』投稿2
『どう書く?.org』への投稿。
これまでお題に対する挑戦はPHPオンリーだったけど、ラングトンのアリを秀丸マクロで書いた。
秀丸マクロは今まで書いた事が無かったので、マクロヘルプを参照しつつコーディング。
お題:
マクロを実行すると、100×100の全角スペースフィールドの中心に蟻(○)が落ちる。
#w = 100;
#dct = 0;
$sp = “ ”;
$line = “”;
#i = 0;
while (#i < #w) {
$line = $line+$sp;
#i = #i + 1;
}
$line = $line+”\n”;
#i = 0;
while (#i < #w) {
insert $line;
#i = #i + 1;
}
movetolineno #w,#w/2;
#i = 0;
while (1) {
$ant = gettext(x, y, x+2, y);
if ($ant == $sp) {
overwrite “○”;
#dct = (#dct+1)%4;
} else {
overwrite $sp;
#dct = (((#dct+1)%4)+2)%4;
}
left;
if (#dct == 0) {
up;
} else if (#dct == 1) {
right;
} else if (#dct == 2) {
down;
} else if (#dct == 3) {
left;
}
if ((x > #w*2-1)||(x == 0)||(y == 0)||(y > #w-1)) {
endmacro;
}
}
endmacro;
この投稿で、秀丸マクロの言語ランクは39。まだまだ。
投稿: