package com.hearthsim.util.factory; import com.hearthsim.card.Deck; /** * A BoardStateFactory in which the minion placement is simplified in order to reduce simulation time */ public class SparseBoardStateFactory extends DepthBoardStateFactory { /** * Constructor * maxThinkTime defaults to 10000 milliseconds (10 seconds) */ public SparseBoardStateFactory(Deck deckPlayer0, Deck deckPlayer1, boolean useDuplicateNodePruning) { this(deckPlayer0, deckPlayer1, 10000, useDuplicateNodePruning); } /** * Constructor * * @param deckPlayer0 * @param deckPlayer1 * @param maxThinkTime The maximum amount of time in milliseconds the factory is allowed to spend on generating the simulation tree. */ public SparseBoardStateFactory(Deck deckPlayer0, Deck deckPlayer1, long maxThinkTime, boolean useDuplicateNodePruning) { super(deckPlayer0, deckPlayer1, maxThinkTime, useDuplicateNodePruning, new SparseChildNodeCreator(deckPlayer0, deckPlayer1)); } }