Давно я сюда ничего не писал, прошел уже почти месяц.
Но всё это время я не сидел без дела. У меня продолжаются модули по обучению C# и я, в рамках данных модулей, продолжаю клепать простенькие проектики, на которых набиваю руку.
Рука прям начинает набиваться хорошо. Чем больше пишу на шарпе, тем лучше начинаю его понимать и многие вещи, которые раньше казались очень сложными – становятся попроще.
Начал читать про паттерны разработки (ту самую книжку от банды четырех). У меня две книги по паттернам, обе лежат пылятся в стопке остальных книг. Неизвестно сколько бы они еще пролежали, если бы я не начал заниматься, т.к. читать их просто так было не совсем интересно, а применительно к проектам я вдруг начал понимать некоторые концепции, которые раньше были не вполне понятны.
Итак, по порядку.
Первый проект, который я реализовал, была обычная консольная змейка. Не сказать, что мне прям понравилось ее делать, т.к. игры в консоли – это прошлый век и вообще не особо интересно. Но для набивания руки и работой с координатами – неплохо. Получился вот такой проект:
Далее, я реализовал опять змейку, но уже используя библиотеку SFML (это простенькая, но очень помогающая в работе с мультимедиа, билиотека. Изначально была сделана под C++, но есть версия под C#)
Проект, сделанный на данной библиотеке уже выглядит гораздо приятнее, плюс анимация стала плавной и не такой дерганой, как в консольном приложении.
Следующий проект, который я сделал – это простенький платформер, где игрок отыгрывает за кошку (или кота, кому как удобнее), которая находится внутри блока из стен. Сверху постоянно генерятся враги – пылесос и собака, плюс еда. Задачей является уворачиваться от врагов и собирать еду.
Игра по сути – бесконечная, не сказать, чтобы прям разнообразная, по сути весь процесс – это собирать еду и уворачиваться от врагов. Но игра получилось интересная и атмосферная. Да и к тому же, это ведь учебный проект, а не AAA-игра.
На данном проекте мне удалось набить руку по работе с SFML-библиотекой (я использовал урезанную учебную версию), плюс реализовать анимацию. Причем до этой реализации я дошел, по сути, сам. И только потом, посмотрев различные гайды в интернете, понял, что сделал всё правильно.
Также я разобрался с паттерном «Фабрика», глубже стал понимать концепции ООП и как устроены игровые циклы.
В игре я реализовал стартовое окно с обучением:
Сама игра выглядит так:
При проигрыше появляется окно с отображением рекорда.
Посмотреть процесс игры можно в следующем ролике:
Следующая игра – была логической, я давно уже с такой встречался. Игра, в которой нужно выбирать цвет написанного слова.
Стартовое окно выглядит так:
Сам процесс игры вот такой:
В игре я сделал таймер на 30 секунд. Каждые десять секунд добавляются новые цвета и новые слова. К концу отсчета игроку уже приходится выбирать между 10-различными цветами. Реализовывал всё также с использованием SFML библиотеки.
Ну и наконец, еще одна логическая игра: Найди пару.
Суть игры тоже не новая – в начале уровня игроку открывается несколько различных пар объектов, затем данные объекты все закрываются и нужно по памяти выбирать последовательно пары объектов.
Выглядит это всё так:
Сперва необходимо выбрать уровень сложности. В зависимости от выбора будет различное количество пар.
Сперва открываются все объекты
Затем все объекты закрываются
При выборе пары, обе карты исчезают с экрана.
В игре реализован таймер, плюс подсчет количества очков. Если игрок выбрал верные пары объектов, то ему прибавляется два очка. В случае ошибки с выбором, два очка наоборот отнимаются. Задачей является за отмеренное время найти все пары объектов.
Вот столько всего я сделал за месяц, но это еще не все. В следующей статье я опишу проект, который меня зацепил самого и я его реализовывал с удовольствием и креативом. Это был Arcanoid, с использованием SFML.