ずっと以前に紹介してたCGIの機能拡張です。
「罫線で模様をランダム生成」
境界条件を付け加えています。
境界条件は(閉、開、タイル)から選べます。
開は条件無しです。
閉は外側に繋がらないパターンになります。
タイルは上下左右が繋がるパターンになるのですが、生成成功率が低いですので何度も生成を押して試してみて下さい。
久々に自分の過去のプログラムをみて、コメントのあまりの少なさに諦めようかと思った。
それと、上手く生成されなかった場合のリトライのやり方がいまいちで今のところ回数を増やすことで解決。
縦横にスペースが並んでしまう問題もいつの間にか解決してあった。
以下、今回作れるようになったパターンの例:
[(16,16), ‘─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂’, open, 6.85 msec]
┷┻┥└┸┼─┸┐┏┥├─┬┴┼
┌┐│┌┰┼┐┌┘┗┷┷┳┷━┷
││├┴┸┼┴┘┌───╂┐┌┐
┼┴┘┌─┤┌─┘┌┐┏╋┿┷┥
┝┳━┥┏┷┿┯┓└┘┣┫├┬┤
┴┨┌┘┠─┘├┸──┨┠┘├┤
┬┸┘┏┫┌┰┼─┬┰╂╂┬┘├
┼┐┌╂╂┘┣┥┏┷╋╋╋┷┳┥
┷┿┿┛┠┰┨└┨┌┨┠╂┬┸┘
━┿┥┌╂┨┗━┻┿┫┗┻┿┳┓
─┴┤├┨┣┯┯┯┿┛┌─┼┨┣
┓┌┘├┸╂┼┘┝┥┌┤┏┥┠┸
╂┘┏┷┯┫└┬┤┝┿┷┫│┗┳
┗┓┗┓└╂┰┘│├┤┏┛├─╂
┳╋┓┗┯┛┃┏┿┷┿┛┏┥┌┨
┨┣╋┓┝━┻┛├─┤┌┨┝┷┫
┌┐│┌┰┼┐┌┘┗┷┷┳┷━┷
││├┴┸┼┴┘┌───╂┐┌┐
┼┴┘┌─┤┌─┘┌┐┏╋┿┷┥
┝┳━┥┏┷┿┯┓└┘┣┫├┬┤
┴┨┌┘┠─┘├┸──┨┠┘├┤
┬┸┘┏┫┌┰┼─┬┰╂╂┬┘├
┼┐┌╂╂┘┣┥┏┷╋╋╋┷┳┥
┷┿┿┛┠┰┨└┨┌┨┠╂┬┸┘
━┿┥┌╂┨┗━┻┿┫┗┻┿┳┓
─┴┤├┨┣┯┯┯┿┛┌─┼┨┣
┓┌┘├┸╂┼┘┝┥┌┤┏┥┠┸
╂┘┏┷┯┫└┬┤┝┿┷┫│┗┳
┗┓┗┓└╂┰┘│├┤┏┛├─╂
┳╋┓┗┯┛┃┏┿┷┿┛┏┥┌┨
┨┣╋┓┝━┻┛├─┤┌┨┝┷┫
[(20,20), ‘○─│┌┐┘└├┬┤┴┼━┃┏┓┛┗╋┿╂’, tile, 955.19 msec]
┿┓┗┛┗┓┏┓├┬┤┃┃├┬┤┏┓○┏
└╂┐┏┓┗┛┗┿┿┿┛┗┿┿┿┛┗┓┃
━╋┿╋┛○┏━┿┿┿┓┌┘└┤○┏╋╋
┌╂┘┗━━┛┌┘└┴╂┴┬─┼┐┗╋┛
├╂─┬┐○○└┐○○┗━┿┓├┼─╂┐
└╂┬┴┴─┐┏┿┓┌┬┬┼╂┼┘┏┛│
┌╂┘┌─┬┘┗┿╋┿┿┿┿╋┿━╋┓│
┿┛┏┿┓│┌─┤┗┿┿┿┿╋┿┓┃┗┿
┴┬╂┘┃└┤┏┿┓│└┤└╂┤┗┛○└
┌┤┃┌╂┐├╂┴╂┴─┴─╂┴─┬┐○
└┘┗┿┛├┴╂┬╂┐┏┓┌╂┐┌┘├┐
○┌─┘┌┘┏┛├╂┼╂╂┘┃└┘┌┴┘
○│○┌┤┌╂┬┴╂┴╂╂┬╂─┬┤┌┐
━┿┓└┘└╂┼┬╂┐┃┗┿╋━┿┿┿┿
○│┗━━━┛└┴╂┴╂┐├╂─┼┼┘│
┏┿━━┓┌─┬┐┗┓┃├┘┃┌┴┼┐│
╂┼┬┐┃├┐└┼┐┃┃└┐┗┿┓├┼┼
╂┤└┘┃└┘┏┿┿┛┃┏┿━┿┛└┘└
┗┿┓○┗━━┛││┌╂╂┤┏┿━━━┓
┌┘┃┏┓○○○├┴┼╂╂┤┗┿━━━┛
└╂┐┏┓┗┛┗┿┿┿┛┗┿┿┿┛┗┓┃
━╋┿╋┛○┏━┿┿┿┓┌┘└┤○┏╋╋
┌╂┘┗━━┛┌┘└┴╂┴┬─┼┐┗╋┛
├╂─┬┐○○└┐○○┗━┿┓├┼─╂┐
└╂┬┴┴─┐┏┿┓┌┬┬┼╂┼┘┏┛│
┌╂┘┌─┬┘┗┿╋┿┿┿┿╋┿━╋┓│
┿┛┏┿┓│┌─┤┗┿┿┿┿╋┿┓┃┗┿
┴┬╂┘┃└┤┏┿┓│└┤└╂┤┗┛○└
┌┤┃┌╂┐├╂┴╂┴─┴─╂┴─┬┐○
└┘┗┿┛├┴╂┬╂┐┏┓┌╂┐┌┘├┐
○┌─┘┌┘┏┛├╂┼╂╂┘┃└┘┌┴┘
○│○┌┤┌╂┬┴╂┴╂╂┬╂─┬┤┌┐
━┿┓└┘└╂┼┬╂┐┃┗┿╋━┿┿┿┿
○│┗━━━┛└┴╂┴╂┐├╂─┼┼┘│
┏┿━━┓┌─┬┐┗┓┃├┘┃┌┴┼┐│
╂┼┬┐┃├┐└┼┐┃┃└┐┗┿┓├┼┼
╂┤└┘┃└┘┏┿┿┛┃┏┿━┿┛└┘└
┗┿┓○┗━━┛││┌╂╂┤┏┿━━━┓
┌┘┃┏┓○○○├┴┼╂╂┤┗┿━━━┛
[(16,16), ‘─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┿╂’, open, 5.70 msec]
┿┫├╂┤│┗┫┏━┿┛┣┿┿┛
┿┫├╂┼┼─╂╂┐├─╂┴┼─
┿┛└╂┘│┏┫┗┿┿┓┗┓└┐
┼─┐┗┓└╂╂┐││┃┌╂┬┼
┤┏┿┳╋━╋┫├┤│┃├╂┴┼
┿┛├╂╂┬╂╂┤│└╂┼╂─┘
│┏┿┛┗┿┫┣┿┿┳╋┿┫┏━
┿┛├┬┐├╂╂┘├╂╂┴╂╂─
┿┳┿┿┿┿┻┫┏┿┫┗┳╋╋┓
┴╂┼┴┤└┐┗┫└╂─╂╂╂╂
┳┻┿┓└─┴─╂┐┣┓┣┛┗┛
┃┏┿┛┌┬┬─╂┼╂╂╂┐┏┓
┣┛├┐├┼┼─╂┘┣┻┫│┗┛
┃┌┤││├┘┏╋┓┃┏┻┿┳┳
┫├┼┴┼┼┬╂╂╂╂╂─┼╂╂
╋┿┿━┿┿┿┻╋┛┣┻━┿┛┣
┿┫├╂┼┼─╂╂┐├─╂┴┼─
┿┛└╂┘│┏┫┗┿┿┓┗┓└┐
┼─┐┗┓└╂╂┐││┃┌╂┬┼
┤┏┿┳╋━╋┫├┤│┃├╂┴┼
┿┛├╂╂┬╂╂┤│└╂┼╂─┘
│┏┿┛┗┿┫┣┿┿┳╋┿┫┏━
┿┛├┬┐├╂╂┘├╂╂┴╂╂─
┿┳┿┿┿┿┻┫┏┿┫┗┳╋╋┓
┴╂┼┴┤└┐┗┫└╂─╂╂╂╂
┳┻┿┓└─┴─╂┐┣┓┣┛┗┛
┃┏┿┛┌┬┬─╂┼╂╂╂┐┏┓
┣┛├┐├┼┼─╂┘┣┻┫│┗┛
┃┌┤││├┘┏╋┓┃┏┻┿┳┳
┫├┼┴┼┼┬╂╂╂╂╂─┼╂╂
╋┿┿━┿┿┿┻╋┛┣┻━┿┛┣
[(16,16), ‘○─│┼━┃╋┿╂’, tile, 25.88 msec]
┿┿╋╋━┿┿━┿━━━━┿╋╋
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
┼┼╂╂─┼┼─┼────┼╂╂
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
┼┼╂╂─┼┼─┼────┼╂╂
┿┿╋╋━┿┿━┿━━━━┿╋╋
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
┼┼╂╂─┼┼─┼────┼╂╂
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
││┃┃○││○│○○○○│┃┃
┿┿╋╋━┿┿━┿━━━━┿╋╋
┼┼╂╂─┼┼─┼────┼╂╂
┿┿╋╋━┿┿━┿━━━━┿╋╋
[(16,16), ‘┌┐┘└’, tile, 8.00 msec]
└┘┌┐└┐└┐┌┘└┘└┘└┘
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
└┘┌┐└┐└┐┌┘└┘└┘└┘
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
┘└┐┌┘┌┘┌┐└┘└┘└┘└
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
┘└┐┌┘┌┘┌┐└┘└┘└┘└
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
└┘┌┐└┐└┐┌┘└┘└┘└┘
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
└┘┌┐└┐└┐┌┘└┘└┘└┘
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
┘└┐┌┘┌┘┌┐└┘└┘└┘└
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
└┘┌┐└┐└┐┌┘└┘└┘└┘
┐┌┘└┐└┐└┘┌┐┌┐┌┐┌
┘└┐┌┘┌┘┌┐└┘└┘└┘└
┌┐└┘┌┘┌┘└┐┌┐┌┐┌┐
[(16,16), ‘○─│┌┐┘└┼╋┿╂’, tile, 19.95 msec]
┌╂┼┼┘┌─┼╂──╂╂┘┌┐
└╂┘└─┘○└╂┐┌╂╂─┘│
┌╂┐┌────╂┘└╂╂──┘
└╂┼┼┐○┌─╂──╂╂┐┌┐
┌╂┼┘│○│┌╂┐┌╂╂┼┘│
└╂┼─┼─┼┼╂┘└╂╂┼─┘
─╂┘○│┌┼┼╂┐┌╂╂┘┌─
┌╂──┘│└┼╂┘└╂╂─┼┐
└╂─┐┌┘┌┼╂┐┌╂╂─┼┘
┌╂─┘└─┼┼╂┘└╂╂┐└┐
└╂─┐┌┐└┼╂┐┌╂╂┼┐│
┌╂─┼┘└┐└╂┼┼╂╂┼┘│
└╂─┼─┐│┌╂┼┼╂╂┘○│
┌╂┐│○│└┼╂┘└╂╂──┘
┼╂┘│┌┼┐└╂┐┌╂╂─┐┌
└╂┐││└┘┌╂┘└╂╂┐└┘
何故か、横に太線が出ない。ロジックのバグか?