Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 12:37   #31
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Это версия с 2 реализованными классами TEnemy и TVeapon.(без коллизии)
Появилась возможность стрелять очередями, а система, которую я реализовал дает возможность путем конфигурирования настроек создавать новые типы оружия.(там 2 exe файла,в одном пулемет, а в другом огнемет).
Вложения
Тип файла: rar Many Enemies + weapon.rar (648.8 Кб, 27 просмотров)
Вадим Буренков вне форума Ответить с цитированием
Старый 26.03.2009, 13:10   #32
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Урра я понял принцип! Спасибо всем!
Shadow_1329 вне форума Ответить с цитированием
Старый 26.03.2009, 14:05   #33
Алекс Ялта
Пользователь
 
Аватар для Алекс Ялта
 
Регистрация: 27.01.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Это версия с 2 реализованными классами TEnemy и TVeapon.(без коллизии)
Появилась возможность стрелять очередями, а система, которую я реализовал дает возможность путем конфигурирования настроек создавать новые типы оружия.(там 2 exe файла,в одном пулемет, а в другом огнемет).
Отлично выглядит стрельба очередьми)) Огнемет больше похож на меч Джедаев) Но , если картинку другую покрупнее сделать будет вообще жирно) Можно будет добавить к бонусам переключение видов оружия и оружие массового поражения, чтобы все юниты на дисплее уничтожались

Цитата:
Сообщение от Shadow_1329 Посмотреть сообщение
Урра я понял принцип! Спасибо всем!
Значит не зря старались)

Кстати, коллизию в таком случае можно будет сделать тоже универсальной. Можно попробовать прописать процедуру столкновения Объекта1 и Объекта2, а в ходе выполнения программы присваивать, к примеру, пуле значение объект1, а врагу значение объекта2

Последний раз редактировалось Stilet; 17.05.2010 в 08:46.
Алекс Ялта вне форума Ответить с цитированием
Старый 26.03.2009, 14:21   #34
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я сейчас делаю различные типы оружия. Ты можешь нарисовать сам или найти где-нибуть его изображения для интерфейса и выстрелов. Также не помешали бы эффекты взрывов на подобии того,что уже есть(я рисовать вообще не умею).
По поводу кода я создал еще тип TAmmo с характеристиками патронов, а тип TVeapon изменил так, что в нем хранятся параметры скорострельности и количества патронов в оружии.

Цитата:
Можно будет добавить к бонусам переключение видов оружия
Я уже сделал на кнопки, а бонусы буду делать в последнюю очередь.

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


Скоро опубликую еще одну версию.

Последний раз редактировалось Вадим Буренков; 26.03.2009 в 14:28.
Вадим Буренков вне форума Ответить с цитированием
Старый 26.03.2009, 14:39   #35
Алекс Ялта
Пользователь
 
Аватар для Алекс Ялта
 
Регистрация: 27.01.2009
Сообщений: 97
По умолчанию

Я бегло просмотрел твой исходник последний. Beermonza рекомендовал использовать тип юнитов record или packed record. Вот тут ссылочка http://www.delphibasics.ru/Record.php из раздела "Основы Delphi" этого сайта. Record вроде как приспособлен для хранения полей данных изходя из его определения "Структурный тип данных содержащий поля данных". Потом для оптимизации игры нам нужно будет все битмапы для юнитов создать в процедуре создания формы и прописать их уничтожение в процедуре OnClose или OnDestroy. А в дальнейшем в основном таймере просто включать или выключать их. Пример в моей теме про собственные типы есть.

Здесь еще несколько видов оружия. Эти же картинки можно и в менюшку всунуть
Вложения
Тип файла: zip Weapon pics.zip (3.1 Кб, 16 просмотров)

Последний раз редактировалось Stilet; 17.05.2010 в 08:46.
Алекс Ялта вне форума Ответить с цитированием
Старый 26.03.2009, 15:40   #36
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Пост №36.
Цитата:
TVeapon
Оружие на английском - Weapon, а никак не Veapon.
P.S. Простите, за флуд.
Манжосов Денис :) вне форума Ответить с цитированием
Старый 26.03.2009, 15:48   #37
Алекс Ялта
Пользователь
 
Аватар для Алекс Ялта
 
Регистрация: 27.01.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Манжосов Денис :) Посмотреть сообщение
Пост №36.

Оружие на английском - Weapon, а никак не Veapon.
P.S. Простите, за флуд.
За флуд прощаем, Errare Humanum est) На ход выполнения программы не влияет, поэтому не столь важно)
Алекс Ялта вне форума Ответить с цитированием
Старый 26.03.2009, 18:23   #38
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Я бегло просмотрел твой исходник последний....про собственные типы есть.
Я использую классы, а не типы. Может быть я в чем-то и не прав, поскольку все мои знания об ООП, классах и типах от паскаля.
Насколько я знаю класс отличается от типа тем, что у него помимо переменных есть процедуры и функции, а также наследование.Ты работал раньше с классами?

Цитата:
Потом для оптимизации игры нам нужно будет все битмапы для юнитов создать в процедуре создания формы
Для создания и освобождения битмапа я создаю процедуры типа LoadMem и FreeMem в каждом классе и использую их в OnCreate и OnDestroy(я так и делаю как ты написал), благодаря чему у меня нет утечек памяти.

Насчет Beermonza, record и packed record я не читал, и наверное не собираюсь(времени нет + желания нет + у меня и так все работает).Я считаю что данный код работает нормально и без ошибок, так что изменять врядли что-то буду.Но если есть серьезные аргументы в пользу record и packed record готов почитать

Последний раз редактировалось Вадим Буренков; 26.03.2009 в 18:34.
Вадим Буренков вне форума Ответить с цитированием
Старый 26.03.2009, 19:01   #39
Алекс Ялта
Пользователь
 
Аватар для Алекс Ялта
 
Регистрация: 27.01.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Я использую классы, а не типы. Может быть я в чем-то и не прав, поскольку все мои знания об ООП, классах и типах от паскаля.
Насколько я знаю класс отличается от типа тем, что у него помимо переменных есть процедуры и функции, а также наследование.Ты работал раньше с классами?
С классами мы работаем с самого начала изучения VCL, если смотрим не только на форму, но и в код. Так выглядит тип record
Код:
type
  TGUnit = record
Так тип class
Код:
type
  TForm1 = class(TForm)
То есть и то и другое относится к type. Type - Определяет новую категорию переменной или процесса. Я не критикую твой код. Если он работает без ошибок - это хорошо.
Алекс Ялта вне форума Ответить с цитированием
Старый 26.03.2009, 20:23   #40
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
... Насчет Beermonza, record и packed record я не читал, и наверное не собираюсь(времени нет + желания нет + у меня и так все работает).Я считаю что данный код работает нормально и без ошибок, так что изменять врядли что-то буду.Но если есть серьезные аргументы в пользу record и packed record готов почитать
record - сохраняет записи в их исходном виде, они будут в памяти занимать ровно столько байт, сколько весят.
packed record - сохраняет записи в сжатом виде, экономя память, но при их использовании потребуется чуть больше времени. Использование того или иного в основном - компромисс. Если нужен быстрый доступ - это record, если данных много и нужно экономить - это packed record.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моя первая программа igroman Софт 27 12.03.2009 20:23
моя первая програма... maziLa Общие вопросы C/C++ 7 12.03.2009 08:14
Моя первая программа)) Dr.Badnezz Софт 9 06.12.2008 14:39
Моя первая и последняя игра. BangBangFM Gamedev - cоздание игр: Unity, OpenGL, DirectX 13 05.12.2008 22:12
Моя первая программа NikLik Софт 4 20.07.2008 00:24