Exemplo n.º 1
0
        public void CanContains()
        {
            var q = new CappedQueue <int>(3);

            q.Enqueue(1);
            q.Enqueue(2);
            q.Enqueue(3);
            q.Enqueue(4);

            Assert.False(q.Contains(1));
            Assert.True(q.Contains(2));
            Assert.True(q.Contains(3));
            Assert.True(q.Contains(4));
            Assert.False(q.Contains(5));

            var qq = new CappedQueue <string>(3);

            qq.Enqueue("one");
            qq.Enqueue("two");
            qq.Enqueue(null);

            Assert.True(qq.Contains("one"));
            Assert.True(qq.Contains("two"));
            Assert.True(qq.Contains(null));
            Assert.False(qq.Contains("three"));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Gets a random child assuring the new random is not the previous random picked.
 /// </summary>
 /// <returns></returns>
 private BehaviorNode GetRandomChild()
 {
     while (true)
     {
         int randomChildIndex = Random.Range(0, ChildrenNodes.Count);
         if (Agent.Memory.Contains(Agent.TargetProfessor))
         {
             return(ChildrenNodes.First(node => node.Professor == Agent.TargetProfessor));
         }
         if (ChildrenNodes[randomChildIndex] == _previousRandom ||
             _memory.Contains(ChildrenNodes[randomChildIndex].Professor))
         {
             continue;
         }
         return(ChildrenNodes[randomChildIndex]);
     }
 }