Для создания игр на C++ достаточно знать всего 3 ключевых слова и двоеточие!
Почему-то принято считать, что программировать на C++ тяжело, и изучать язык тоже тяжело, у него много особенностей и так далее. Так вот, это все не совсем правда, и даже совсем не правда. Знать все особенности классно, но совершенно не нужно для того, чтобы делать игры…
Для того чтобы делать игры, достаточно знать о самом языке C++ что программы на C++ состоят из строчек, выполняющихся друг за другом. В строчке программы может стоять метка, и на такую метку можно перескочить из любого другого места в программе при помощи goto. А еще в программе могут быть целочисленные переменные, то есть именованные ячейки памяти в которые можно записать число. Ну и самая сложная из необходимых штука — условный оператор, проверяющий условие и выполняющий блок кода в фигурных скобках только если при проверке условия получилась "истина" или "не ноль". И все. Остальное в С++ можно не знать и при этом писать на С++ по несколько игр каждый день.
Единственной сложностью можно считать то, что сам по себе язык C++ не позволяет делать ничего интересного: чтобы узнать какую кнопку жмет пользователь, нарисовать на экране картинку, проиграть звук и так далее нужна библиотека, и в стандартный комплект поставки она не входит. А то что входит кроме как недоразумением назвать никак нельзя.
Итак, если взять хорошую библиотеку, то есть Arctic Engine, то игры на С++ можно делать используя только 3 ключевых слова. Наверное, в это никто не поверит, если я не покажу исходный код пары игр?
Следим за руками, краткий справочник по С++:
goto h;
Оператор безусловного перехода на строку с меткой h.
h:
Метка h.
int x;
Объявление целочисленной переменной x.
if(…) {. . }
Условный оператор, условие ставится в круглых скобках за if, если условие выполняется, то управление передается на оператор (операторы) , стоящий в фигурных скобках за условием. Если же оно не выполняется, то управление переходит к следующей за закрывающейся фигурной скобкой строке программы.
Все слова в приведенных далее программах, не вошедшие в этот справочник — это или имена переменных и меток, или имена функций библиотеки Arctic Engine. Функций библиотеки для создания игр может понадобиться примерно 18 штук, ну и для полного удовольствия еще пригодится строковой тип из стандартной библиотеки C++ (да, в C++ нельзя просто так взять и записать в любую переменную текст, для этого нужно объявить переменную специального библиотечного типа string) . Список нужных функций Arctic Engine с описаниями я опубликую если кто-нибудь попросит в коментариях.
А теперь давайте смотреть на исходный код игр и убеждаться что никакие дополнительные ключевые слова не используются.
Игра «Прыгун через камни»
Код написан исходя из предположения что его будут набирать 1 пальцем люди еще не выучившие английский, поэтому имена переменных однобуквенные. Чтобы как-то компенсировать это приведу описание переменных:
j — счетчик времени до конца прыжка.
b — координата знакоместа камня по горизонтальной оси (направлена слева направо) .
y — координата знакоместа персонажа игрока по вертикальной оси (направлена снизу вверх) .
Всего 30 строчек, из которых 5 состоят только из закрывающейся фигурной скобки! Игра простенькая, однокнопочная, нужно жать пробел чтобы перепрыгивать через камни.
Слишком просто, да? Давайте чуть посложнее игру сделаем! Как насчет игры в которой космический корабль летит слева-направо и уклоняется от метеоритов?
Игра «Метеориты»
p — координата звездолета игрока по вертикальной оси.
x — координата по горизональной оси целевого знакоместа в алгоритме перемещения содержимого экрана справа-налево
y — координата по вертикальной оси целевого знакоместа в алгоритме перемещения содержимого экрана справа-налево
Совсем другое дело, 35 строчек кода! Наверное, тоже слишком простая игра, и управление всего двумя кнопками, давайте что-нибудь впечатляющее сделаем. Например игру, в которой нужно писать программу для робота, а потом этот робот должен программу выполнять. Придумаем для программирования робота новый язык, который будет состоять только из значков, чтобы проще было его учить. Пусть в программе для робота будут символы <^>V которые будут как бы стрелочками указывающими направление в котором робот должен переместиться на один свой размер. Робота нужно довести до места помеченного крестом.
Игра «Программирование робота»
x — координата робота по горизонтальной оси
y — координата робота по вертикальной оси
p — координата указателя выполняемой роботом инструкции по горизонтальной оси
s — выполняемая инструкция программы робота (с 16 по 27 строки) или содержимое знакоместа, на которое собирается переместиться робот (с 28 по 43 строки)
m — смещение новой позиции робота по горизонтальной оси
n — смещение новой позиции робота по вертикальной оси
Вышло 58 строк.
Итак, для создания игр на C++ достаточно знать всего 3 ключевых слова и двоеточие! Почему я считаю это важным? Потому, что изучить 3 ключевых слова и научиться пользоваться справочником из 18 функций может не только бородатый программист, с этим отлично справляются даже первоклассники, и в результате вместо занудного изучения непонятно зачем нужных возможностей языка на примере абстрактных и скучных задач, можно изучать язык и алгоритмы программируя одну за другой игры в которых есть геймплей.