IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Маленькая мини-игра, Простенькая консольная мини-игра :)
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской
Реальное имя: Filin

Репутация: -  0  +


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

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

Сообщение отредактировано: Filin -


Прикрепленные файлы
Прикрепленный файл  Program1.pas ( 3.21 килобайт ) Кол-во скачиваний: 479
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 466
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Вы молодец, что учитесь.
На данном этапе обучения, в общем-то, безразлично, какой язык учить.
Начните, например, с 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.

Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 133
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


Цитата(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, где автоматика только для интерфейсов, и надо дублировать каждый класс интерфейсом, чтобы автоматика его обрабатывала. Может быть, когда-нибудь это изменится. В языке Ада счётчики ссылок требуют больше всего писанины, но это компенсируется лучшей реализацией модульности.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 133
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


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

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


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 17.01.2018 10:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"