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

w4nesz

Заблокирован

w4nesz

Заблокирован
Не в сети
30 Сен 2019
123
44
  • w4nesz

  • 5 игр, которые должен создать каждый начинающий программист
    Обучение через развлечение.

    Многих из нас в профессию программиста привела детская любовь к играм и головоломкам. Поэтому нет ничего удивительного, что едва получив свои первые знания, мы начинаем придумывать им развлекательное применение. Вот 5 игр, которые помогут вам пройти путь от новичка до зрелого программиста (и будущего создателя игровых бестселлеров).

    Быки и коровы

    Суть игры: ваш соперник, будь то компьютер или друг, загадывает 4-значное число, состоящее из неповторяющихся цифр. Ваша задача - угадать его за ограниченное число ходов. В качестве подсказок выступают “коровы” (цифра угадана, но её позиция - нет) и “быки” (когда совпадает и цифра и её позиция). То есть если загадано число “1234”, а вы называете “6531”, то результатом будет 1 корова (цифра “1”) и 1 бык (цифра “3”) .

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

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



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

    Суть игры: строгих принципов нет, это может быть как линейный сюжет, требующий минимальных действий от игрока, так и полностью интерактивная забава, где количество возможных исходов исчисляется десятками. Классический пример первого типа - телевизионное шоу “Кто хочет стать миллионером?”, второго типа - настольная игра “Dungeons & Dragons”.

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

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

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

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

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

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

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

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

    Змейка - игра, в которой игровой объект (собственно, змейка), перемещаясь по игровому полю в вертикальном и горизонтальном направлениях, увеличивает свою длину после столкновения с единичными объектами (едой). Суть игры заключается в необходимости избегать препятствия, границы игрового поля, а также собственный “хвост”.

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

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



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

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

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

    Как усложнить: просто попробуйте сделать арканоид с классическими бонусами и изменением скорости полёта шарика. Бильярд сделать русским, а также учитывать взаимодействие шаров с покрытием.
     
    • Мне нравится
    Реакции: Lekss26