/ it Новости / Игры, которые должен создать каждый программист

Игры, которые должен создать каждый программист

Игры, которые должен создать каждый программист

4 848 · 25 апреля 2018 в 14:54 ·
В программировании есть несколько игр, которые стоит создать каждому программисту. Мы расскажем про 5 игр, которые вам стоит сделать.

Большинство из нас при становлении на путь программиста просто следовали детской любви к головоломкам и играм. Очевидно, что при получении первых знаний в этой сфере большинство коллег стараются придумать игру или какое-то развлекательное приложение. Здесь представлено 5 игр, они дадут толчок для профессионального развития и помогут преодолеть длинный путь становления от новичка до ведущего разработчика. 

Быки и коровы

Суть игры: соперник пользователя, искусственный интеллект или друг, загадывает любое число из 4 цифр, единственное условие – цифры не должны повторяться.


Задача: игрок должен за минимальное количество ходов определить загаданное число. Подсказками являются «коровы» (угадывая цифру, позиция остаётся неизвестной) и «быки» (совпадение отмечается как у позиции, так и цифры).



На примере: была загадано число «8743», а ответ дали «1340». Программа должна обработать результат и выдать 1 корова (цифра «3») и 1 бык (цифра «4»).


Чем полезно: для создания игры нет необходимости в специфических знаниях. Подобную задачу можно написать практически на любом языке. Для обработки данных придётся использовать подавляющее большинство циклов и операторов базового уровня знаний. В результате получится достаточно неплохая игра, в которой можно скоротать час времени.


Как усложнить: программист может внедрить систему сохранения результатов, создать статистику, соревнование в компании друзей по кругу, турнирный режим, сетевая игра.

Текстовый квест

Суть игры: принципы можно регулировать самостоятельно, строгих требований не существует. Выбирается линейный или интерактивный сюжет, который изменяется в зависимости от действий пользователя. Более сложная и трудоёмкая работа – создание десятков исходов. Примером может послужить известное шоу «Миллионер», а также аналог «Dungeons & Dragons».


Чем полезно: программист, не пытавшийся создать искусственный интеллект или его подобие – ничего не добьётся в профессии. Текстовый квест помогает стать на путь создания ИИ. От программиста требуется дотошность, вычисление многочисленных вероятностей и реакции на изменения. Постоянное оперирование данными и необходимость прогнозировать следующий шаг – это полезные навыки в любой сфере работы. Игру удаётся создать и более просто, но всегда необходимо углублённое изучение классов, модулей и объектов. 



Как усложнить: самое сложное в создании искусственного интеллекта – научить робота импровизации.

Крестики-нолики

Суть игры: пользователю предоставляется поле, разделённое на 9 клеток, по 3 в высоту и ширину. Каждому пользователю, всего 2 участника, присваивается своя фигура: круг и крестик. Поочерёдно они заполняют поле. Начинает ход пользователь с крестиком. Победа присуждается тому, кто первый соберёт ряд из 3 собственных фигур, можно делать линию по вертикали, горизонтали и диагонали.



Чем полезно: при переходе к графическому типу игры придётся научиться базовым концепциям. Даже такая примитивная игра потребует много времени и строк кода. Ситуации однотипные, но исходов существует много. Программист точно успеет набить руку. Функциональный код – это более сложный вариант создания игры, но требует меньше времени.


Как усложнить: предусмотреть возможность увеличения поля и регулировки сложности.

Пятнашки (Змейка)

Суть игры: пятнашки иначе называют «Игры в 15» - это классическая головоломка. Задача пользователя заключается в необходимости за минимальное количество ходов расставить кости с точками (количество от 1 до 15) в квадрате 4 х 4. Одна ячейка пустая, в неё можно перемещать кубик с прилегающей стороны.


Змейка – это стандартная игра, знакомая многим из монохромных телефонов. В ней змейка движется по полю по осям X и Y. На поле случайным образом появляется точка, которую пользователю следует подобрать. После касания змейка увеличивается в размерах. Задача пользователя сводится к необходимости не врезаться в препятствия и границы поля, а также избегать попадания на собственный хвост.


Чем полезно: здесь потребуется более высокий уровень навыков в графической разработке. Алгоритм действий относительно прост, а анализ выполняется минимальным количеством кода.


Как усложнить: изменять форму поля, размещение стен, ускорять движение змейки.

Арканоид (Бильярд)

Суть игры: в основе игры лежит взаимодействие с множеством объектов, которые имеют уникальные инерционные и физические параметры. 


Чем полезно: потребуется не только сложная обработка графического объекта, но учёт физических характеристик: массы, скорости, траектории, формы. Основной проблемой разработчика станет сложность расчёта, так как цельные значения встречаются редко. В ходе работы потребуется работа с погрешностями, созданием моделей поведения на основании ряда факторов.


Как усложнить: достаточно выполнить арканоид, в котором подразумевается установка классического бонуса и изменение скорости движения объекта в зависимости от скорости. Сделайте русский бильярд и учтите силу трения с сукном стола.


Больше интересных новостей