このチェックでは、ファイルのすべての行が壁で始まり、最大で1つの入口、最大で1つの出口、壁で終わるようにする必要があります。私は条件を分けてテストすることができます。これは、CS = "WWWW"、 "WXW" のために失敗し、 "WWWWWWWWRWWWWWW"Java Regexが迷路の有効な文字を確認する
/**
* Check to ensure all lines are only composed of walls,
* entrance, exit, and space
*/
protected boolean invalidMazeCharacters(CharSequence cs) {
p = Pattern.compile("^W+(R??W*|X??|W*|\\s*W*)W+$");
m = p.matcher(cs);
if (!m.matches()) {
return true;
}
return false;
}
**あなたは?** – Ryan
をチェックしています。各行または文字列が 'W'で始まり、 'W'で終わり、 'R'または最大でも1つの 'X'が壁の間にあるかどうかを調べています。 – user1275127