// Inherited from Condition_Action_Table
class
/*
protected Rule[] conditionActionRules;
*/
protected State state;
public Condition_Action_Table_with_State(Rule[]
r, State s) {
super(r);
state = s;
}
public State getState() { return state }
// Inherited from Condition_Action_Table
class
/*
public Condition_Action_Table (Rule[] r) {
conditionActionRules = r;
}
public Rule ruleMatch(Condition c) {
for (int i=0; i<conditionActionRules.length; i++)
if (c.matches(conditionActionRules[i].fetchCondition()))
return conditionActionRules[i];
return null;
}
// No updates - inherited
public void update (Percept p) {};
public void update (Action a) {};
*/
public abstract Rule ruleMatch(State);
// Overriding of public void
update (Percept p)
public void update (Percept
p) {
state.update(p);
}
}