private boolean validMovesExist(){

	 List<Integer> diceOptions = diceRoll;
		 
	 //Check bar
	 Location barOfPlayerInTurn = getBarOfPlayerInTurn();
	 int barCount = getCount(barOfPlayerInTurn);
	 if(barCount > 0){
		 for(int j = 0; j < diceOptions.size(); j++){
			 Location to = getToLocationFromBar(diceOptions.get(j));
			 if(moveValidator.isValid(barOfPlayerInTurn, to)){
				 return true;
			 }
		 }
	 }
	 //Check Rest of Locations if Bar is empty
	 else{
		 for(Location frmLoc : Location.values()){
			 if(getCount(frmLoc) > 0 && getColor(frmLoc) == playerInTurn){
				 for(int j = 0; j < diceOptions.size(); j++){
					 Location to = Location.findLocation(playerInTurn, frmLoc, diceOptions.get(j));
					 if(moveValidator.isValid(frmLoc, to)){
						 return true;
					 }
				 }
			 }
		 }
		 
	 }
	//No valid moves:
	return false;
	  
  }