public void moveOnFinalPath(int moveRemaning) {
		System.out.println("Coin.moveOnFinalPath() " + this);
		LudoRegion region = LudoRegion.values()[this.getBlockNo().getRegion() - 1];
		System.out.println(this.getBlockNo().getRegion() + " Coin.moveOnFinalPath() region " + region); 
		if(moveRemaning > 6){
		//invalid move
			return;
		}
		int x = 0 , y = 0;
		switch (this.getBlockNo().getRegion()) {
		case 12:
			x = region.getMinX() + moveRemaning;
			y = region.getMaxY();
			break;
		case 3:
			x = region.getMinX();
			y = region.getMinY() + moveRemaning;
			break;
		case 6:
			x = region.getMinX() - moveRemaning;
			y = region.getMinY();
			break;
		case 9:
			x = region.getMinX();
			y = region.getMinY() - moveRemaning;
		}
		System.out.println("movesReamaning " + moveRemaning);
		path.getElements().add(
				new LineTo(x * xWidth + radius, y * yHeight + radius));
		this.setBlockNo(new Cordenate(x, y));
	}