public void dealClueCards() {

		Random hazard = new Random();
		int playerIndex = 0;
		Card someCard;

		dealDeck.addAll(deck);

		// create solution set
		while (true) {
			someCard = dealDeck.get(hazard.nextInt(dealDeck.size()));
			if (someCard.type == CardType.PERSON){
				dealDeck.remove(someCard);
				solution.add(someCard);
				break;
			}
		}
		while (true) {
			someCard = dealDeck.get(hazard.nextInt(dealDeck.size()));
			if (someCard.type == CardType.ROOM){
				dealDeck.remove(someCard);
				solution.add(someCard);
				break;
			}
		}
		while (true) {
			someCard = dealDeck.get(hazard.nextInt(dealDeck.size()));
			if (someCard.type == CardType.WEAPON){
				dealDeck.remove(someCard);
				solution.add(someCard);
				break;
			}
		}

		// deal out rest of cards
		while (!dealDeck.isEmpty()) {
			someCard = dealDeck.get(hazard.nextInt(dealDeck.size()));
			dealDeck.remove(someCard);
			allPlayers.get(playerIndex).cards.add(someCard);

			++playerIndex;
			if (playerIndex == allPlayers.size()) playerIndex = 0;
		}

//		for(Card temp : solution)      // print solution for testing
//			System.out.println(temp.name);
	}