package chessGame;

public abstract class ChessPiece {

	private String position;
	private ChessPlayer player;

	public ChessPlayer getPlayer() {
		return this.player;
	}

	public String getPosition() {
		return this.position;
	}

	/**
	 * 
	 * @param move
	 */
	public abstract boolean moveIsAvailable(String move);

	/**
	 * 
	 * @param move
	 */
	public void updatePosition(String move) {
		// TODO - implement ChessPiece.updatePosition
		throw new UnsupportedOperationException();
	}

}
@@ -237,18 +237,374 @@
 n;%0D%0A%09%7D%0D%0A
+%09%0D%0A%09/*If get available move is needed%0D%0A%09public abstract String%5B%5D getAvailableMoves();%0D%0A%09I am not quite sure how it works...moveIsAvailable call getAvailableMovies() for checking the movie is available?%0D%0A%09So both is abstruct? As the function for getting different chess available moves are different......%0D%0A%09Or, Only IsAvailable(String move) is needed?%0D%0A%09*/
 %0D%0A
-
 %09/**%0D%0A%09 
@@ -866,11 +866,262 @@
 );%0D%0A
+%09%09boolean start = moveIsAvailable(move);%0D%0A%09%09try%7B%0D%0A%09%09%09if (start)%7B%0D%0A%09%09%09%09this.position = move;%0D%0A%09%09%09%7D%0D%0A%09%09%09else%7B%0D%0A%09%09%09%09move = null;%0D%0A%09%09%09%09this.position = move;%0D%0A%09%09%09%7D%0D%0A%09%09%7D//Which class handle the unavailable move? chess controller? boolean updatePosition?%0D%0A
 %09%7D%0D%0A%0D%0A
-
 %7D
+%0D%0A

Update ChessPiece.java