public int GetGoal(TermObject role) { HashSet<IProposition> goals = _propNet.GoalPropositions[role]; IProposition goal = goals.FirstOrDefault(g => g.Value); return goal == null ? 0 : GetGoalValue(goal); }
public static TermObject MakeTermObject(int token) { TermObject term; if (!ObjMemoMap.TryGetValue(token, out term)) { term = new TermObject(token); ObjMemoMap[token] = term; } return term; }
protected override int CompareTo(TermObject t) { // Obj < Func < Var return 1; }
protected override int CompareTo(TermObject t) { return Math.Sign(Token - t.Token); }
public virtual void InitializeGame(TermObject assignedRole, int playClock, GameInformation gameInformation) { MyRole = assignedRole; MyRoleStr = assignedRole.ToString(); PlayClock = playClock; Roles = gameInformation.GetRoles(); Prover = GameContainer.Prover; MyRoleIndex = FindRoleIndex(); SetupInitialState(); }
public IEnumerable<Fact> GetLegalMoves(TermObject role) { HashSet<IProposition> legals = _propNet.LegalPropositions[role]; return legals.Where(l => l.Value).Select(legal => legal.Name); }
public override void InitializeGame(TermObject assignedRole, int playClock, GameInformation gameInformation) { base.InitializeGame(assignedRole, playClock, gameInformation); GameInformation info = GameContainer.GameInformation; IEnumerable<Expression> expressions = info.GetRules().Concat<Expression>(info.GetAllGrounds()); _stateMachine.Initialize(expressions.ToList()); }