На этой неделе, мой коллега. Заметил, что неплохо описано, однако нету конкретики и конкретных примеров. Я его понимаю, как важность выдержки времени, а также подготовки материала к публикации. Однако, хочу отметить то, что у меня в планах сделать игру «Виселица» с исходным кодом, при этом проявить и выразить разные реализации самой игры в плане интерфейса и т.д. Однако, обо всем по немногу.
Вступление в тему
Для расскажу о самой программе. Она будет игрой на основе старой, народной игры «Виселица», где отгадывается слово и рисуется человечек с виселицей по ходу появления ошибок в буквах, которые есть в загаданном слове. При этом, эта игра мною была сделана на Си шарпе для изучения понятия движка и для практики применения классов в Си. Игра удалась на славу, усовершенствовать ее можно было бесконечно (редактор тоже был), однако цель самой программы — учебная. Так что, дальше написания самой программы дело не пошло, поэтому распространения она от меня не получила и давно потерялся код на Си шарпе. Особенно после того, как отказался от него в последствии, вернувшись к Си++.
Однако, несмотря на это, до сих пор, помню примерно, как строился принцип работы движка (как механизма), да как сам это делал, а точный исходный код уже не так важен. Т.к. все равно, напишу с нуля и будет с учетом уже всего моего накопленного опыта, а это с 2006 года, в общем 10 лет прошло. Только, забавно то, что реализацию простой игры выбрал для отработки умения создавать игры на Си++ и OpenGL. Однако, к OpenGL со временем интерес пропал, так что начальный код был переписан с Си++ на Си шарпе, где и достиг своего финала. А теперь, сделаю обратный ход, применив исходный код программы в качестве учебного примера для новичков. Заодно, обкатаю игру с новыми возможностями в программном плане. И оставлю, закладку для ее возможного развития, чтобы другим была возможность поучиться дальше, применяя пример, как отправную точку.
Немного, конкретики по сути и смыслу темы
Ладно, я вас, малость просветил, для начала, о истории моего исходного кода. А теперь, немного конкретики. Учебный проект «Виселица» будет проходить несколько стадий своей реализации, при этом каждая стадия будет отражать свои интересные стороны и моменты, при разработке программного обеспечения, то бишь прикладной программы, а говоря конкретнее игры. Примерный список этапов учебного проекта «Виселица», такой.
- Постановка проекта с нуля или как правильно начать свою программу.
- Определение основного алгоритма игрового процесса или как правильно обобщать исходный код в блок-схемы.
- Определение начальных свойств и методов механизма игры, или как правильно начать строить механику программы с нуля.
- Определение классов для движка игры или как правильно определиться с тем, чего начинать строить систему механики игры на программном уровне.
- Созидание механики движка или тернистости пути разработчика ПО.
- Интерфейс пользователя или как правильно начать развивающийся интерфейс пользователя.
- Псевдографический интерфейс пользователя или как это делается.
- Развиваем движок в ядро или в чем разница между ними.
- Определение классов взаимодействия интерфейса и ядра.
- Созидание механики взаимодействия интерфейса и ядра.
В конечном итоге, десятый этап — финальный, в которой перед нами предстанет нормальным образом написанный исходный код, компилирующийся в консольную программу-игру «Виселица». При этом, программа визуально будет оформлена цветным текстом, с актуально меняющейся информацией о ходе игрового процесса, а также будет доступно управление через клавиши.
Также отмечу, что программа будет писаться на Линуксе с применением компилятора GNU C++ и простого редактора. Дабы не отвлекаться на более современные возможности и познать на учебной практике, как сам процесс создания нормальной программы, так увидеть применение Си++ на практике. И разумеется, простота самой программы в плане игрового процесса, дает возможность отработать много чего помимо описанного выше, например сделать сетевой режим игры на перегонки. Мол, кто быстрее отгадает.
В заключение
Итак, направление учебного проекта «Виселица» мною задана. Так что, по мере подведения тем в рубрике по языку Си++ к конкретным тем, начиная от общих, и по мере накопления самого материала, буду публиковать учебный проект по этапам с обозначением этих этапов в теме записи, например: «Учебный проект Виселица, Псевдографический интерфейс пользователя или как это делается».
И, всем, спасибо за внимание. С вами был, Мирра Андрюхан.
Ссылка на репозиторий с исходными программными кодами по данному циклу статей.
Проект закрыт. Будет пересоздан на новом проекте.