Exemplo n.º 1
0
        public void AddNodeGroup(int myAnt, int theirAnt, IEnumerable <LinkOption> options)
        {
            if (!ours.ContainsKey(myAnt))
            {
                ours.Add(myAnt, new ControllableNode());
            }

            ControllableNode myAntNode = ours[myAnt];

            if (!theirs.ContainsKey(theirAnt))
            {
                theirs.Add(theirAnt, new Node());
            }

            Node theirAntNode = theirs[theirAnt];


            Link link = new Link();

            link.a       = myAntNode;
            link.b       = theirAntNode;
            link.options = options.ToArray();

            myAntNode.links.Add(link);
            theirAntNode.links.Add(link);
        }
Exemplo n.º 2
0
        public float GetEngagement(int antId)
        {
            ControllableNode myAnt = ours[antId];

            return(myAnt.links.Sum(l => l.options[(int)myAnt.direction].probability));
        }