Игра на С++ с использованием принципов ООП

Добрый день! Помогите определиться. Нужно написать программу на С++, чтобы были использованы основные принципы ООП - наследование, полиморфизм и декапсуляция. Это может быть просто органайзер или простейшая игра. В идеале нужна еще и графика, но мы этого не изучали вообще и я не совсем понимаю как вообще все это работает и как построить весь процесс создания приложения. Времени осталось совсем мало. А я ничего не могу придумать.

Занеси пакет/конверт преподу. Зачем мучиться?

Если необходимо что-то готовое и нет желания вникать в предмет, тогда вот консольная змейка.

Скрин окна игры

Там много исходников: Исходные тексты игр

beginer_38, в какой IDE планируете вести разработку, преподаватель давал рекомендации?

Обычно берут какую-нибудь библиотеку/фреймворк.

SFML, Qt, …

Как раз пытаюсь разобраться с SFML

Ну мы обучаемся на Visual Studio 2019. Преподаватель не давал рекомендаций по этому поводу, но наверно на ней буду делать, с другими я пока не сталкивался.

Как вообще должен выглядеть этот процесс? Сначала пишется код игры, потом скачивается графическая библиотека? Я не совсем понимаю как все воедино собирается?

Создается проект в студии. Далее, если выбрана библиотека SFML, по руководству Installing SFML настраивается проект.
Затем пишется код приложения…
Официальные руководства библиотеки: Tutorials for SFML

P. S.
Но цель то знакомство с принципами ООП, а не графикой.
А то выходит ушли от темы…
Графика в данном случае вторичная цель.

Ну так в С++ библиотеках обычно используют ООП, вот и знакомство на практике без всякого зоопарка :slight_smile:

“декапсуляция” :laughing: Есть инкапсуляция и декомпозиция.
Определения вам должны были давать на лекциях лучше брать от туда. На всякий случай можно выписать отсюда http://ccfit.nsu.ru/~rylov/OOP&OOD.PDF

С чего начать? Начать с поиска информации. Задача первого и второго курса научиться искать информацию. Причем можно самому или используя голову соседа.
Самое лучше в общаги сесть на лифт до ехать до студентов предыдущего курса и у них попросить готовые программы.
Второй способ гуглим “игра на Си++ за 20-60 минут” или серфим на ютуби, или ищем
на github.

У вас в игре есть персонаж или шарик или крестик или ещё кто. Его методы реализуешь через классы. При помощи наследования реализуешь костюмизацию героя. Каждый дочерний класс даёт разные свойства героям. Это насколько у вас фантазии хватит либо цвет по менять либо скорость либо силу или точность.

При помощи полиморфизма создаете врагов для вашего героя.
Аналогично тому как это делает Фаулер на примере магазина с классами продавца и покупателя:
Фаулер Мартин (Fowler Martiп)-Рефакторинг - улучшение существующего кода-Символ-Плюс (2003)

Для примера пару простых игр.

А теперь о главном. Запланируйте время. После того как вы оцените время на разработку умножьте его на 3 это будет реальный срок. Если посмотреть то обучающие туторилы занимают 60 и 180 минут. Плюс изучение книги от 1 часа для скорострелов и до недели чтения для черепах. Реальная разработка игры у вас займёт для самых простых от несколько дней до нескольких недель. А у вас сроки поджимают, так что марш заводить друзей со старших курсов. А вот для себя сделаете игру если захотите.

Да еще и ООП туда надо добавить. Так что ищите готовое и переделываете. Меняете рисунки добавляете звук правите меню. И шрифты у счетчика очков. Чуть не забыл игра появляется когда в ней начинает работать счётчик очков. Поэтому C++ Qt Game Tutorial можно изучать до 8-10 урока, а дальше лишняя информация.

На Delphi есть очень простая игра убей муху. На поле 4х4 появляется несколько мух и обратный отчет. И мышка в виде молотка при щелче над мухой вам добавляются очки.
Всё очень просто, вот только мышка случайным образом перескакивает с места на место и вы не успеваете попадать. Можно переделать в ТИР.

1 лайк