/** * TextBoard クラスは、テキストの盤面を表します。 * @author Jiro Suzuki */ public class TextBoard{ /** 黒石 */ private final char BLACKSTONE='●'; /** 白石 */ private final char WHITESTONE='○'; /** テキスト碁盤 */ private final String[] initTextBoard= {"┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼・┼┼┼┼┼・┼┼┼┼┼・┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼・┼┼┼┼┼・┼┼┼┼┼・┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼・┼┼┼┼┼・┼┼┼┼┼・┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤", "└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘"}; private char[][] textBoard=new char[19][19]; /** * 石が置いていない空のインスタンスを生成します。 */ TextBoard() { initializeTextBoard(); } /** * 石を置いた状態のテキスト盤面データを返します。 * @param intBoard 盤面データ * @return 石を置いた状態のテキスト盤面データ */ public char[][] getTextBoard(IntBoard intBoard){ createTextBoard(intBoard); return textBoard; } private void initializeTextBoard(){ for(int i=0;i<19;i++){ textBoard[i]=initTextBoard[i].toCharArray(); } } private void createTextBoard(IntBoard intBoard){ int ban[][]=intBoard.getIntBoard(); initializeTextBoard(); for(int row=0;row<19;row++){ for(int col=0;col<19;col++){ switch (ban[row][col]){ case 0:break; case 1: case 11: textBoard[row][col]=BLACKSTONE; break; case 2: case 12: textBoard[row][col]=WHITESTONE; break; default:break; } } } } }