迷路作るコード
書けた。
「柱を倒す方法」なる用語からそのまんま単に柱を倒したら(見た感じ)出来てしまった。
このスクショではまだ端っこに閉じたマスがあるが。
特に何も見ずに書けたので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); } }