『ラングトンのアリの描画』投稿2

どう書く?.org』への投稿。

これまでお題に対する挑戦はPHPオンリーだったけど、ラングトンのアリを秀丸マクロで書いた。

秀丸マクロは今まで書いた事が無かったので、マクロヘルプを参照しつつコーディング。

お題:

http://ja.doukaku.org/276/

マクロを実行すると、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。まだまだ。
投稿:

http://ja.doukaku.org/comment/9424/