public void dealCards() {
		List<Enums.Weapon> weaponCards = Enums.Weapon.toList();
		List<Enums.RoomName> roomCards = Enums.RoomName.toList();
		for (int i = 0; i < roomCards.size(); i++)
			if (roomCards.get(i) == Enums.RoomName.SWIMMING_POOL) {
				roomCards.remove(i);
				break;
			}

		List<Enums.Character> characterCards = Enums.Character.toList();

		Collections.shuffle(weaponCards);
		Collections.shuffle(roomCards);
		Collections.shuffle(characterCards);

		weaponSolution = weaponCards.remove(0);
		roomSolution = roomCards.remove(0);
		characterSolution = characterCards.remove(0);

		// Loops through all the players adding cards until all the lists are
		// empty
		int i = 0;
		while (true)
			for (Player p : players)
				if (p.isControlled()) {
					if (weaponCards.size() > 0)
						p.getWeaponCards().add(weaponCards.remove(0));
					else if (characterCards.size() > 0)
						p.getCharacterCards().add(characterCards.remove(0));
					else if (roomCards.size() > 0)
						p.getRoomCards().add(roomCards.remove(0));
					else
						return;
				}

	}