public boolean canSwapTiles() {
		// find the minimum score and minimum-scored color
		int minColor = 0;
		int min = getScore(minColor);
		for (int color = 0; color < 6; color++) {
			if (getScore(color) < min) {
				minColor = color;
				min = getScore(color);
			}
		}
		// we have the minimum, now.
		// count how many colors have that same score
		int count = 0;
		for (int color = 0; color < 6; color++) {
			if (getScore(color) == min) {
				count++;
			}
		}
		
		if (count != 1) {
			return false;
		}
		for (int i = 0; i < getHand().size(); i++) {
			Tile tile = getHand().get(i);
			if (tile.getA() == minColor || tile.getB() == minColor) {
				return false;
			}
		}
		return true;
	}