Помощь - Поиск - Пользователи - Календарь
Полная версия: Маленькая мини-игра
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
Filin
Здравствуйте, я написал простенькую консольную мини-игру, на звание полноценной игры она даже не претендует, я освоил Паскаль 2-3 дня назад, у меня есть вопрос, какой ЯП лучше подходит для разработки игр, С++? С#, а может Delphi?) Игра основа на генераторе псевдослучайных числах, одно число = одному своему событию, и каждый раз события не повторяются. Писал на PascalABC

P.S Не судите игру строго, я новичок.
P.S.S Буду рад если вы дадите объективные советы для улучшения стиля кода
Федосеев Павел
Вы молодец, что учитесь.
На данном этапе обучения, в общем-то, безразлично, какой язык учить.
Начните, например, с Pascal. В чём его плюсы - по сравнению с C/C++ более строгий синтаксис и более строгая типизация переменных. В переводе это означает, что компилятор не даст совершить многих ошибок, вы сэкономите время.
А потом будет видно, что осваивать. Стезя определяет выбор языка. И нет людей, которые бы ограничились только одним языком.
Тем более, что языки имеют много общего. Так PascalABC.NET расширен платформой .NET. Изучив которую, без труда (почти без труда) перейдёте к C#.

Если хотите, дам вам ссылку на уроки по написанию игры типа "рогалик". Там на BASIC, но вы заодно потренируетесь. http://free-basic.ru/g00.html
Оно кажется непонятным, но если пытаться реализовать самостоятельно, то получиться.
Я не надеюсь, что вы дойдёте до половины уроков, но тут главное стремление к решению сложных задач.

По поводу вашего кода.
1. Можно использовать форматирование, причём автоматическое. Форматтер кода.
Рекомендую JCF.

2. По оформлению кода Блог Gunsmoker о форматировании

3. Использование глобальных переменных - зло, нужно от этого отказаться, а в процедуры передавать параметры.

4. Отказаться максимально от Goto. Это на начальном этапе сложно, но потом само пройдёт.

5. Некоторые конструкции языка вам ещё не знакомы или непонятны, а они могли бы облегчить код
Например
      if a = 1 then
writeln('Вас убили');
if a = 2 then
writeln('Вас убили');
if a = 3 then
writeln('Вы убежали');
Можно заменить
  case a of
1, 2: writeln('Вас убили');
3: writeln('Вы убежали');
end;
Правда, тут вы вводите a1, но анализируете a.

Удачи!
OCTAGRAM
Цитата(Filin @ 30.11.2016 19:10) *

Здравствуйте, я написал простенькую консольную мини-игру, на звание полноценной игры она даже не претендует, я освоил Паскаль 2-3 дня назад, у меня есть вопрос, какой ЯП лучше подходит для разработки игр, С++? С#, а может Delphi?)

Из того, что я читал и сам пользовался, желательно без трассирующей сборки мусора. Она либо либо требует в 5 раз больше оперативной памяти, чем используется (консервативное управление памятью требует в 2 раза больше, чем используется), либо начинает вносить существенные протормаживания на трассирующую сборку мусора, а я к своему неудовольствию нередко наблюдаю и то, и другое, и не только в играх.

Во всём .NET сборка мусора принудительная, то есть разработчиков не спрашивают, нравится им это или нет, оно там просто есть, и не избавиться, можно только придумывать, как уменьшить количество живых объектов. Так что отпадает C#.

На всех остальных указанных, а также на Аде игры вполне себе пишутся. Ещё можно добавить Objective-C и Rust.

С точки зрения типизации и вменяемой модульности я бы расставил оставшиеся языки так:
Ada, Delphi, C++/CX, … Objective-C, C++

С точки зрения удобства управления памятью:
Delphi для мобильных, Objective-C, C++/CX, Delphi, … C++, Ada

Про Rust не знаю, но подозреваю, что он был бы рядом с Objective-C. C++/CX — доступен только для Windows 8-10. Delphi для мобильных (а также анонсированный компилятор для Linux) имеют поддержку ARC, как в Objective-C 2.0, в отличие от Delphi для Windows и Mac OS X, где автоматика только для интерфейсов, и надо дублировать каждый класс интерфейсом, чтобы автоматика его обрабатывала. Может быть, когда-нибудь это изменится. В языке Ада счётчики ссылок требуют больше всего писанины, но это компенсируется лучшей реализацией модульности.
OCTAGRAM
Кстати, почему такой жанр?

Я вот танчики на Turbo Pascal писал. Там можно было по кирпичным стенам стрелять, и они-таки разрушались после критического количества трещин в тайле, и можно было льду ездить, тоже оставляя трещины с перспективой провалиться. Графический платформер пытался сделать (не осилил быструю работу с графикой), потом арканоид на Delphi с другом делал. Волейбол был с графикой из Supaplex. Для змейки в QBASIC злого бота делал с телепортацией вместо врезания в стену. Ещё в текстовом режиме DOS на QBASIC игру делал, где можно было заходить в отрисованный псевдографикой дом, ездить вверх-вниз на лифте и мочить его обитателей из нескольких видов оружия. В скриптах Duke Nukem 3D копался, делал возможность стрелять пробелом из такого оружия, которого в норме у игрока быть не может. И те, кто при мне что-то делал, тоже что-то экшоновое старались обычно.
arcadibiulin
Лучшие игры это те, которые помимо положительных эмоций могут приносить еще и прибыль! Поэтому я выбираю игры в казино!В Bounty Casino играть можно как на деньги, так и в гостевом режиме, не пополняя свой депозит реальными деньгами и не рисковать!
samduh
Зарабатывать в казино может абсолютно любой желающий. Казино Вулкан Турбо https://vulkanturbo.top/ помог мне начать зарабатывать и осуществлять материальные мечты. Vulkan Turbo это место в котором огромное количество слотов и каждый найдет себе слоты по вкусу.
freshtunes
В поисках захватывающего азартного опыта, я предпочитаю играть в казино с бездепозитным бонусом за регистрацию с выводом. Бездепозитные бонусы в казино https://hyundai-kvist.ru/ – это отличная возможность попробовать удачу без риска собственных средств. Когда вы решаете начать играть, бездепозитный бонус за регистрацию становится ключом к захватывающим азартным приключениям.
freesync192
Игровые автоматы Fruit Cocktail genser-lobachevskogo114.ru предлагают захватывающий игровой процесс с сочными фруктовыми символами. Этот игровой слот пользуется огромной популярностью благодаря яркой графике и простому управлению. Чтобы играть бесплатно в Fruit Cocktail, вам достаточно выбрать демо-версию на любом игровом сайте.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.