使用数组实现人机下五子棋的效果(还没有写判断输赢的方法)

package com.wh.Arrays;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 王恒
 * @datetime 2017年4月27日 下午11:37:57
 * @description
 * 
 */
public class TestPlayChart {
	private static TestPlayChart p;
	private static Scanner sc=new Scanner(System.in);
	private static int boardSize = 10;
	private String[][] board;
	private String x="●";
	private String y="○";

	private TestPlayChart(){

	}
	
	public static TestPlayChart getInstance(){
		if(p==null){
			p=new TestPlayChart(); 
		}
		return p;
	}
	// 初始化棋盘
	public void initBoard() {
		board = new String[boardSize][boardSize];
		for (int i = 0; i < board.length; i++) {
//			Arrays.fill(board[i], "十");
			Arrays.fill(board[i], "+");
		}
	}

	// 打印输出棋盘
	public void printBoard() {
		for (int i = 0; i < board.length; i++) {
			for (int j = 0; j < board[i].length; j++) {
				System.out.print(board[i][j]);
			}
			System.out.println();
		}
	}
	
	//人下棋
	public void personPlays(){
		System.out.println("请输入你下棋的坐标(x,y):");
		String person=sc.next();
		String[] ps=person.split(",");
		int pX=Integer.parseInt(ps[0]);
		int pY=Integer.parseInt(ps[1]);
		if(isPlays(pX,pY)){
			System.out.println("你输入的棋子坐标有误,请重新输入!");
			personPlays();
		}
		//p.board[pX][pY]=p.x;
		p.board[pX][pY]="●";
	}
	
	//机器下棋
	public void machinePlays(){
		System.out.println("机器人下棋的坐标为(x,y):");
		int mX=(int)(Math.random()*boardSize); 
		int mY=(int)(Math.random()*boardSize);
		if(isPlays(mX,mY)){
			machinePlays();
		}
		//p.board[mX][mY]=p.y;
		p.board[mX][mY]="○";
		System.out.println(mX+","+mY);
	}
	
	//判断某一位置上是否有棋子
	public boolean isPlays(int x,int y){
		//if(!"十".equals(board[x][y])){
		if(!"+".equals(board[x][y])){
			return true;
		}
		return false;
	}

	/**
	 * 还差一个判断输赢的方式,即横、竖、左斜、右斜是否有五个在一起的棋子
	 * 
	 */
	
	
	
	//问题1:为什么将变量名赋值给常量,再将这个常量赋值比int小的基本数据类型,会报错???   int i=10,final int i2=i;byte b=i2;
	public static void main(String[] args) {
		TestPlayChart p2 =TestPlayChart.getInstance();
		p2.initBoard();
		while(true){
			p2.personPlays();
			p2.machinePlays();
			p2.printBoard();
		}
	}

}