Професионална програма
Loading...
+ Нов въпрос
nickwork avatar nickwork 430 Точки
Best Answer

1 и 2 заедно https://easyupload.io/j1xzhg

0
Milko123 avatar Milko123 6 Точки

Благодаря! Честно казано въпреки, че ми даде готово решение, което работи, не мога да разбера как се получава връзката в контролера за принтиране с метода History. Също така къде открояваме кой робот на каква процедура принадлежи и каква е ролята на колекция procedures? 

0
nickwork avatar nickwork 430 Точки

Класът контролер има метод хистори, но ако погледнеш класа процедура, ще видиш ,че и там има също фунцкия с това име хистори, която има тази функционалност

 public abstract class Procedure : IProcedure

public string History()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"{this.GetType().Name}"); // дава името на процедурата

            foreach (var robot in this.robots)
            {
                sb.AppendLine($"{robot.ToString()}");               
            }

            return sb.ToString().TrimEnd();
        }

....тя пък от своя страна вика метод, който е от класа робот (override наToString() метода...името на процедурата я взимаме от тук  ($"{this.GetType().Name}")) който пък от своя страна дава инфо за робота (this.GetType().Name, this.Name, this.happiness, this.energy);)

 

0
Milko123 avatar Milko123 6 Точки

Добре, но примерно в условието пише при Hystory "Returns information about all robots which had current procedure type in the format:", което за мен значи, че  ако се извика команда Hystory Polish това значи, че трябва да се принтират всички роботи, които са преминали Polish. В такъв случай не разбирам листа за процедури в контролера как прави връзката с това, кои роботи каква процедура са преминали. Видях че има Dictionary, но и там не примерно не се казва Key - Procedure, Value - List<IRobot>, които са преминали процедура от даден тип. Може би не разбирам условието

0