@Override public GameState apply(GameState state) { GameState newState = gather2.apply(gather1.apply(state)); newState.cost = state.cost + 1; newState.heuristic = newState.heuristic(); newState.parent = state; newState.cause.add(this); return newState; }
public String toString() { return "DoubleGather:\n\t" + gather1.toString() + "\n\t" + gather2.toString(); }
@Override public boolean preconditionsMet(GameState state) { // gather1 = generateGather(unit1, resource1, state); // gather2 = generateGather(unit2, resource2, state); return gather1.preconditionsMet(state) && gather2.preconditionsMet(state); }