Большинство из нас при становлении на путь программиста просто следовали детской любви к головоломкам и играм. Очевидно, что при получении первых знаний в этой сфере большинство коллег стараются придумать игру или какое-то развлекательное приложение. Здесь представлено 5 игр, они дадут толчок для профессионального развития и помогут преодолеть длинный путь становления от новичка до ведущего разработчика.
Суть игры: соперник пользователя, искусственный интеллект или друг, загадывает любое число из 4 цифр, единственное условие – цифры не должны повторяться.
Задача: игрок должен за минимальное количество ходов определить загаданное число. Подсказками являются «коровы» (угадывая цифру, позиция остаётся неизвестной) и «быки» (совпадение отмечается как у позиции, так и цифры).
На примере: была загадано число «8743», а ответ дали «1340». Программа должна обработать результат и выдать 1 корова (цифра «3») и 1 бык (цифра «4»).
Чем полезно: для создания игры нет необходимости в специфических знаниях. Подобную задачу можно написать практически на
Как усложнить: программист может внедрить систему сохранения результатов, создать статистику, соревнование в компании друзей по кругу, турнирный режим, сетевая игра.
Суть игры: принципы можно регулировать самостоятельно, строгих требований не существует. Выбирается линейный или интерактивный сюжет, который изменяется в зависимости от действий пользователя. Более сложная и трудоёмкая работа – создание десятков исходов. Примером может послужить известное шоу «
Чем полезно: программист, не пытавшийся создать искусственный интеллект или его подобие – ничего не добьётся в профессии. Текстовый квест помогает стать на путь создания ИИ
. От программиста требуется дотошность, вычисление многочисленных вероятностей и реакции на изменения. Постоянное оперирование данными и необходимость прогнозировать следующий шаг – это полезные навыки в любой сфере работы. Игру удаётся создать и более просто, но всегда необходимо углублённое изучение классов, модулей и объектов.
Как усложнить: самое сложное в создании искусственного интеллекта – научить робота импровизации.
Суть игры: пользователю предоставляется поле, разделённое на 9 клеток, по 3 в высоту и ширину. Каждому пользователю, всего 2 участника, присваивается своя фигура: круг и крестик. Поочерёдно они заполняют поле. Начинает ход пользователь с крестиком. Победа присуждается тому, кто первый соберёт ряд из 3 собственных фигур, можно делать линию по вертикали, горизонтали и диагонали.
Чем полезно: при переходе к графическому типу игры придётся научиться базовым концепциям. Даже такая примитивная игра потребует много времени и строк кода. Ситуации однотипные, но исходов существует много. Программист точно успеет набить руку. Функциональный код – это более сложный вариант создания игры, но требует меньше времени.
Как усложнить: предусмотреть возможность увеличения поля и регулировки сложности.
Суть игры: пятнашки иначе называют «Игры в 15» - это классическая головоломка. Задача пользователя заключается в необходимости за минимальное количество ходов расставить кости с точками (количество от 1 до 15) в квадрате 4 х 4. Одна ячейка пустая, в неё можно перемещать кубик с прилегающей стороны.
Чем полезно: здесь потребуется более высокий уровень навыков в графической разработке. Алгоритм действий относительно прост, а анализ выполняется минимальным количеством кода.
Как усложнить: изменять форму поля, размещение стен, ускорять движение змейки.
Суть игры: в основе игры лежит взаимодействие с множеством объектов, которые имеют уникальные инерционные и физические параметры.
Чем полезно: потребуется не только сложная обработка графического объекта, но учёт физических характеристик: массы, скорости, траектории, формы. Основной проблемой разработчика станет сложность расчёта, так как цельные значения встречаются редко. В ходе работы потребуется работа с погрешностями, созданием моделей поведения на основании ряда факторов.
Как усложнить: достаточно выполнить арканоид, в котором подразумевается установка классического бонуса и изменение скорости движения объекта в зависимости от скорости. Сделайте русский бильярд и учтите силу трения с сукном стола.