Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Маленькая мини-игра

Автор: Filin 30.11.2016 19:10

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

P.S Не судите игру строго, я новичок.
P.S.S Буду рад если вы дадите объективные советы для улучшения стиля кода


Прикрепленные файлы
Прикрепленный файл  Program1.pas ( 3.21 килобайт ) Кол-во скачиваний: 995

Автор: Федосеев Павел 1.12.2016 2:55

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

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

По поводу вашего кода.
1. Можно использовать форматирование, причём автоматическое. http://forum.pascal.net.ru/index.php?showtopic=24653.
Рекомендую JCF.

2. По оформлению кода http://www.gunsmoker.ru/2011/01/blog-post.html

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 1.12.2016 11:36

Цитата(Filin @ 30.11.2016 19:10) *

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

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

Во всём .NET сборка мусора принудительная, то есть разработчиков не спрашивают, нравится им это или нет, оно там просто есть, и не избавиться, можно только http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/. Так что отпадает 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 2.12.2016 8:22

Кстати, почему такой жанр?

Я вот танчики на Turbo Pascal писал. Там можно было по кирпичным стенам стрелять, и они-таки разрушались после критического количества трещин в тайле, и можно было льду ездить, тоже оставляя трещины с перспективой провалиться. Графический платформер пытался сделать (не осилил быструю работу с графикой), потом арканоид на Delphi с другом делал. Волейбол был с графикой из Supaplex. Для змейки в QBASIC злого бота делал с телепортацией вместо врезания в стену. Ещё в текстовом режиме DOS на QBASIC игру делал, где можно было заходить в отрисованный псевдографикой дом, ездить вверх-вниз на лифте и мочить его обитателей из нескольких видов оружия. В скриптах Duke Nukem 3D копался, делал возможность стрелять пробелом из такого оружия, которого в норме у игрока быть не может. И те, кто при мне что-то делал, тоже что-то экшоновое старались обычно.

Автор: arcadibiulin 28.09.2022 20:42

Лучшие игры это те, которые помимо положительных эмоций могут приносить еще и прибыль! Поэтому я выбираю игры в казино!В https://bountycasino.cc/ можно как на деньги, так и в гостевом режиме, не пополняя свой депозит реальными деньгами и не рисковать!

Автор: samduh 5.10.2022 17:45

Зарабатывать в казино может абсолютно любой желающий. Казино Вулкан Турбо https://vulkanturbo.top/ помог мне начать зарабатывать и осуществлять материальные мечты. Vulkan Turbo это место в котором огромное количество слотов и каждый найдет себе слоты по вкусу.

Автор: freshtunes 12.01.2024 4:46

В поисках захватывающего азартного опыта, я предпочитаю играть в казино с бездепозитным бонусом за регистрацию с выводом. Бездепозитные бонусы в казино https://hyundai-kvist.ru/ – это отличная возможность попробовать удачу без риска собственных средств. Когда вы решаете начать играть, бездепозитный бонус за регистрацию становится ключом к захватывающим азартным приключениям.

Автор: freesync192 12.02.2024 20:19

Игровые автоматы Fruit Cocktail https://genser-lobachevskogo114.ru/ предлагают захватывающий игровой процесс с сочными фруктовыми символами. Этот игровой слот пользуется огромной популярностью благодаря яркой графике и простому управлению. Чтобы играть бесплатно в Fruit Cocktail, вам достаточно выбрать демо-версию на любом игровом сайте.