/**
* 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;
}
}
}
}
}