@Override
	/**
	 * @see IPlayer#playTurn(Pile, Pile, int)
	 * 
	 * Return a card from our hand that we wish to play in the current trick. Use the cards already
	 * played in the trick, and who played what cards to make the decision. The variable whoPlayedFirstCard
	 * is the index of the player that played the first card in the trick. Note that with this, we can
	 * determine who played all the cards. Even if we are the last player in the trick, we know who played
	 * the first card, and by reduction know who played the second card.
	 */
	public Card playTurn(Pile hand,Pile cardsPlayed,int whoPlayedFirstCard)
	{
		/*
		 * The current AI tries to win every trick it can
		 * If it sees it cannot win the trick based on what has been played
		 * It will play the lowest card it can
		 * The next iteration of this code will try to keep track of what has been played
		 * And who is winning the trick, if the declarer has played, etc.
		 * 
		 * Additionally, this code should be refactored
		 * However, since the methods will be modified significantly for the next iteration
		 * That is, each game will be played out differently in terms of strategy
		 * The methods are left as-is
		 */
		
		if(currentGameType.getGameType() == GameTypeOptions.GameType.Null){
			return chooseCardNull(hand, cardsPlayed, whoPlayedFirstCard);
		}
		else if(currentGameType.getGameType() == GameTypeOptions.GameType.Grand){
			return chooseCardGrand(hand, cardsPlayed, whoPlayedFirstCard);
		}
		//this is guaranteed to be a suit game type
		//you cannot explicitly check with an else if otherwise java will want a return
		//in case no case is true, cause it won't check that itself
		else{ 
			return chooseCardSuit(hand, cardsPlayed, whoPlayedFirstCard);
		}
	}