Пример #1
0
        public Traverse(IState oldState, IState newState, int performer, int destination) : base(oldState, newState, performer)
        {
            v1    = Performer.Position;
            v2    = destination;
            visit = "";

            var edgeWeight = Performer.CalculateWeight(oldState.Graph.EdgeWeight(v1, v2));

            if (edgeWeight > 0)
            {
                Cost = edgeWeight;
                Performer.Position = destination;
                visit = Performer.Visit(NewState.Graph.Vertex(destination));
            }
            else
            {
                Cost = 1;
            }

            UpdateTime();
        }