public boolean put(int x, int y, int wOrB) {
		
		if (!canBePut(x, y, wOrB)) //该点不可落wOrB颜色的子，返回false
			return false;
		
		for (int i = 0; i <= 7; i++) {//同样要依次检测8个方向，对合法的方向进行变换
			boolean thisOk = false;// mark if this direction is legal
			
			checkPoint = new Point(x, y);//起始检测点
			do{
				if(!changeCheckPoint(checkPoint, i)) {
					thisOk = false; //pass
					break;
				}
				if(model[checkPoint.x][checkPoint.y] + wOrB == 0){
					thisOk = true;
				}else {
					break;
				}
			}while(true);
			
			if(thisOk && model[checkPoint.x][checkPoint.y] == wOrB){
				checkPoint = new Point(x,y);
				do{	//把这个方向上对手的棋都变成自己的			
					model[checkPoint.x][checkPoint.y] = wOrB;
					changeCheckPoint(checkPoint, i);				
				}while(model[checkPoint.x][checkPoint.y] + wOrB == 0);
			}		
			
		}
		countWhiteAndBlack();//重新计算黑棋白棋数
		checkPoint = new Point(x,y); //保存落子点
		return true;
	}