– проанализировать предметную область и выделить перечень требований;
– провести обзор существующих программных продуктов;
– найти функциональность разрабатываемой системы;
– составить структуру программной части;
– построить алгоритм работы программы;
– выбрать программные средства разработки;
– разработка программного продукта;
– провести тестирование проекта.
Исходя из вышеуказанного, нужно разработать ПО, которое будет выполнять следующие задания:
– Электронная справка для транспортных перевозок.
– Электронная карта местности.
– Планирование оптимальных маршрутов.
– Поиск маршрутов.
– Поиск оптимального маршрута.
– Построение оптимального маршрута.
– Построение местности.
Ещё желательно минимизировать затраты на разработку компонентов данного проекта, но в то же момент не портить качеством используемые программные материалы и оборудования.
Глава 2. Особенности создания 2D-приложений на С#
С# («Си шарп») – это многофункциональный язык программирования, на котором пишутся разные программные продукты, начиная от небольших десктопы утилит до крупных WEB-порталов [9], WEB-сервисов, которые обслуживают каждый день больше миллиона пользователей. Для создания своей первой игры на языке С# не обязательно досконально знать этот язык. Так как для создания программного продукта необходимо владеть только набором несложных приемов, знать основные принципы по созданию игр, и так быстро достичь результата, создавая на С# свою 2D-игру. По написанию 2D нужно знать принципы объектно-ориентированного программирования [10], навыки написания игровых скриптов на C# станет базой и дадут возможность реализовать несложные проекты, игры и приложения собственной разработки.
Созданию игр с нуля на языке C# открывает для начинающих программистов новые горизонты, так как на одном этом языке можно создать любое приложение (для Windows, мобильное, веб, приложения для Android и iOS) и для любой платформы.
Cоздание игры в двумерной графике на C# (С Sharp) на базе современной среды разработки – это фундамент, позволяющий понять логику мощных, гибких и популярных языков программирования и перейти на более сложные уровни [11]. Освоить азы игровой разработки и создания игровых сценариев на этом современном, простом и удобном в использовании, можно любому человеку, имеющему базовые навыки пользователя ПК.
2D-игры используют плоскую графику, которая не имеет трехмерной геометрии. Спрайты в 2D-приложениях отображаются на экране в виде плоских изображений, а ортогональная проекция перспективы не имеет. 2D или двумерная графика взаимодействует с изображением, которое сформировано в двух измерениях – по высоте и по ширине. Изображение является объектом 3D, которое сформированное в трех измерениях: по высоте, по ширине, и по глубине. В 3D оценивается размер до объекта и расстояние. 2D-игры дают возможность сосредоточить на истории, деталях художества, и геймплее, не тратя много усилий на работу с моделями и трехмерной физикой.
Много игр были сделаны разработчиками за небольшое время, при этом они получают большую популярность за счет своей атмосферы и индивидуальных деталей. Если сделать программирование своей основной профессией, или просто попробовать себя в этом направлении, стоит остановиться на 2D, так как этот подход потребует меньше сил и ресурсов для реализации.
Еще немного о преимуществах С# в 2D: Асинхронное программирование, анонимные типы, лямбда выражения, функциональное программирование и ЦМО позволяют создавать легко поддерживаемый код, превращая в щедрое на ошибки программирование в простое и приятное занятие. С# сочетает простоту и выразительность современных объектно- ориентированных языков с богатством возможностей. Например, автоматическое управление памятью, тогда программисту не обязательно вручную управлять памятью, так как он имеет возможность сосредоточится на реальных задачах. С#-разработчики не ждут разрушений программы после её запуска, чтобы найти очевидные ошибки, так как это всё делает компилятор за них.