@Override
	public PokerAction makeDecision(Card[] table, int small, int big,
			int amount, int potSize, int chipCount, int numPlayers, boolean allowedBet) {
		double random = Math.random()/(this.aggressiveness);
		if(table == null){
			double winOdds = stats.getStat(numPlayers, currentHand);
			if(winOdds > 0.5 && allowedBet){
				return new PokerAction(Action.BET, calculateBet(amount, chipCount, big, winOdds, potSize, numPlayers));
			}else if(winOdds > 0.3){
				return new PokerAction(Action.CALL, amount);
			}else{
				return new PokerAction(Action.FOLD);
			}
		}else{
			double hs = HandStrength.calculateHandStrength(currentHand, table, numPlayers-1);
//			System.out.println("numplayers = " + numPlayers);
//			System.out.println(this + " : " + hs);
			boolean shouldFold = (hs*(potSize) - amount) <= 0;
			if(hs + random > 0.7 && allowedBet && !shouldFold){
				return new PokerAction(Action.BET, calculateBet(amount, chipCount, big, hs, potSize, numPlayers));
			}else if(hs + random > 0.3 && !shouldFold){
				return new PokerAction(Action.CALL, amount);
			}else{
				return new PokerAction(Action.FOLD);
			}
		}
	}