Esempio n. 1
0
        public void Step()
        {
            ShortStop = false;

            AdvancePopulation();
            NewStates.CopyTo(CurrentStates, 0);

            string curr = GetStateString(CurrentStates);

            if (LastStates.Count == 10)
            {
                if (LastStates.Contains(curr))
                {
                    ShortStop = true;
                }

                LastStates.RemoveAt(0);
                LastStates.Add(curr);
            }
            else
            {
                LastStates.Add(curr);
            }
        }
Esempio n. 2
0
 public TransitionResult(bool fired, IEnumerable <IState <TState, TEvent> > newStates)
 {
     this.Fired     = fired;
     this.newStates = newStates.ToArray();
     this.NewState  = NewStates.FirstOrDefault();
 }