コード例 #1
0
ファイル: PropnetGamer.cs プロジェクト: druzil/nggp-base
        public int GetGoal(TermObject role)
        {
            HashSet<IProposition> goals = _propNet.GoalPropositions[role];
            IProposition goal = goals.FirstOrDefault(g => g.Value);

            return goal == null ? 0 : GetGoalValue(goal);
        }
コード例 #2
0
ファイル: TermObject.cs プロジェクト: druzil/nggp-base
        public static TermObject MakeTermObject(int token)
        {
            TermObject term;
            if (!ObjMemoMap.TryGetValue(token, out term))
            {
                term = new TermObject(token);
                ObjMemoMap[token] = term;
            }

            return term;
        }
コード例 #3
0
ファイル: TermFunction.cs プロジェクト: druzil/nggp-base
 protected override int CompareTo(TermObject t)
 {
     // Obj < Func < Var
     return 1;
 }
コード例 #4
0
ファイル: TermObject.cs プロジェクト: druzil/nggp-base
 protected override int CompareTo(TermObject t)
 {
     return Math.Sign(Token - t.Token);
 }
コード例 #5
0
ファイル: Gamer.cs プロジェクト: druzil/nggp-base
        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();
        }
コード例 #6
0
ファイル: PropnetGamer.cs プロジェクト: druzil/nggp-base
 public IEnumerable<Fact> GetLegalMoves(TermObject role)
 {
     HashSet<IProposition> legals = _propNet.LegalPropositions[role];
     return legals.Where(l => l.Value).Select(legal => legal.Name);
 }
コード例 #7
0
ファイル: PropnetGamer.cs プロジェクト: druzil/nggp-base
 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());
 }