private int findBestMove(int turns, int card){
		int max_pos = 0, discard;
		last_score = null;
		//Test every possible move
		for (int i=0; i<game.rack_size; i++){
			//See if the card is usable in this position
			if (game.card_count-card < game.rack_size-i-1 || card-1 < i)
				continue;
			//Swap card with this position
			discard = rack.swap(card, i);
			//Score the rack
			DataInstance d = scoreRack(turns);
			if (last_score == null || d.output > last_score.output){
				last_score = d;
				max_pos = i;
			}
			//Undo the swap
			rack.swap(discard, i);
		}
		return max_pos;
	}