예제 #1
0
 public TripChain(TripCard initCard, int capacity)
 {
     _chain = new List <TripCard>(capacity);
     _chain.Add(initCard);
     _startCity = initCard.From;
     _endCity   = initCard.To;
 }
예제 #2
0
            /// <summary>
            /// Добавляет карточку путешествия к цепочке, если её пункт назначения или отправления соответствует текущему состоянию
            /// </summary>
            /// <param name="card">Карточка путешествия</param>
            /// <returns>Возвращает <c>true</c>, если карточка добавлена, в противном случае - <c>false</c></returns>
            public bool Add(TripCard card)
            {
                if (_startCity.Equals(card.To))
                {
                    //Добавляем карточку в начало
                    _chain.Insert(0, card);
                    _startCity = card.From;
                }
                else if (_endCity.Equals(card.From))
                {
                    //добавляем карточку в конец
                    _chain.Add(card);
                    _endCity = card.To;
                }
                else
                {
                    return(false);
                }

                return(true);
            }