Здравейте! Надявам се да ми помогнете с една задачка на C++, която ме затруднява. Ако има някой заинтересован, ето условието:
Следната диаграма се казва графика. Кръговете са разклонения а линиите са краища.
Може да си обясниш графиката като пъзел от стаи и коридори. Кръговете може да са стаи и един край свързва една стая с друга. Една стая може да има максимум 4 края.
Да се напише C++ програма която изпълнява пъзел използвайки обекти и указатели. Всяка стая от графиката ще отговаря на стая от кода изпълнен във формата на обект. Краищата ще отговарят на bi-directional връзки с указатели които ще сочат пътя от една стая до друга. Стартира се от стая A. Целта е да се завърши в стая L. Програмата трябва да извежда възможни ходове на изток, запад, север и юг. Примерно изпълнение на програмата е показано долу:
Ти си в стая A. Можеш да отидеш на (Е)изток, (S)Юг, или (Q)изход.
E
Ти си в стая B.
Можеш да отидеш на (W)запад, (S)Юг, или (Q)изход.
S
Ти си в стая F.
Можеш да отидеш на (N)север, (E)изток, или (Q)изход.
E
Всяка стая може да бъде съставена от един клас и ти трябва да решиш какви атрибути и методи този клас ще има. Може да се използва наследяване (за по висока оценка) където стаите са изградени от основен клас където под-класове съдържат различен номер указатели. При изпълнение, първата част на програмата трябва да изгради графиката и втората част да стартира играта през серийна структура докато се достигне стая L или потребителя избере да излезе. Подходящи съобщения трябва да се извеждат на дисплея.