迷路作るコード

書けた。

「柱を倒す方法」なる用語からそのまんま単に柱を倒したら(見た感じ)出来てしまった。
このスクショではまだ端っこに閉じたマスがあるが。
特に何も見ずに書けたのでGPLにひっかからないはずだ。

void CMakeMaze::do_makemaze()
{
	const int ddxx[4] = { 0, 0,-1, 1};
	const int ddyy[4] = {-1, 1, 0, 0};
	clear_to_val(CMAKEMAZENAMES::MMZSPACE);
	for(int i=0;i<h;i++)
	{
		for(int j=0;j<w;j++)
		{
			if (i == 0 || i == h-1 || j == 0 || j == w-1)
			{
				setMap_xy(j,i,CMAKEMAZENAMES::MMZBLOCK);
			}
		}
	}
	for(int yy=0;yy<h; )
	{
		for(int xx=0;xx<w; )
		{
			CPoint p(xx, yy);
			hashiras.push_back(p);
			xx += 2;
		}
		yy += 2;
	}
	for(int i=0;i<hashiras.size();i++)
	{
		int dirtmp = CMAKEMAZENAMES::randint0(4);
		int px = hashiras[i].x, py = hashiras[i].y;
		setMap_xy(px, py, CMAKEMAZENAMES::MMZBLOCK);
		setMap_xy(px+ddxx[dirtmp], py+ddyy[dirtmp], CMAKEMAZENAMES::MMZBLOCK);
	}
}