public static void printActionValues() { TabularQLearningForTwo tq = tabularQLearnings.get(0); if (tq.isPriestessProtectionAddedToState()) { System.out.println("Opponent is protected by priestess"); State state = new State(Card.Soldier, Card.Soldier); state.setOpponentProtectedByPriestess(true); printActionValues(state); System.out.println("Opponent is not protected by priestess"); state = new State(Card.Soldier, Card.Soldier); state.setOpponentProtectedByPriestess(false); printActionValues(state); } else if (tq.isUsedCardsNumAddedToState()) { for (int i = 0; i <= 12; i++) { System.out.println(String.format("Number of used cards is %d", i)); State state = new State(Card.Soldier, Card.Soldier); state.setUsedCardsNum(i); printActionValues(state); } } else if (tq.isOpponentHandByClownAddedToState()) { System.out.println("Opponent hand is unknown"); State state = new State(Card.Soldier, Card.Soldier); state.setOpponentHand(null); printActionValues(state); for (Card opponentHand : Card.values()) { System.out.println(String.format("Opponent hand is %s", opponentHand)); state = new State(Card.Soldier, Card.Soldier); state.setOpponentHand(opponentHand); printActionValues(state); } } else { State state = new State(Card.Soldier, Card.Soldier); printActionValues(state); } }