![]() |
![]() ![]() |
![]() |
lrx2 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Доброго времени суток.
Пишу вот(пока еще на TP 7.1 ) игрушку танчики. Возникла проблема с реализацией многозадачности, чтоб всё двигалось одновременно и т.п. Сделал через пошаговое выполнение. Получилось нечто дико тормозное и совершенно неиграбельное.(следовало ожидать, но всё же) Мне нужно отрисовывать одновременно 5 танков и до 8 снарядов(возможен какой-то процент из них взрывов). Была дикая мысль сделать систему флагов и отрисовывать всё одновременно на одной странице..но в конце-концов мне , видимо, придётся перейти на FPC, а там есть потоки. Но пока не могу даже отдалённо представить, как пошагово будет выглядеть алгоритм отрисовки и обработки событий(клавиши управления, летящий снаряд, AI противников и пр), не говоря уже, как это будет на языке операторов(( Надеюсь на помощь уважаемых форумчан. Спасибо. P.S. почитал темы, но ответов на свои вопросы не нашёл. Если я слепой- ткните, плиз. Сообщение отредактировано: lrx2 - 3.05.2009 19:40 |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
А какие игры у вас уже были?
Игра в спички? Лабиринтики? Сразу не надо браться за то, что вы не понимаете. А то потоки вам понадобились зачем-то. Они вам ну никак не помогут, кстати говоря. -------------------- |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
lrx2, ты случайно с пользователем LRx2 с параллельного форума не знаком? Если имеется в виду твой проект, который ты выкладывал на Сурсах, то естественно, что оно тормозит. Тебе надо переделывать его. Я вот о чем: у тебя там неэффективная реализация: ты произвел выстрел одним из танков, и переходишь в процедуру контроля полета снаряда? Не надо этого делать. У тебя танк твой, танки вражеские и снаряды - это все объекты. Сделай объект Наблюдатель (ну, или как ты его там назовешь), который будет отслеживать местоположение всех вышеперечисленных объектов, а каждый из объектов (танки/снаряды) перепиши так, чтобы они меняли свое положение в зависимости от текущего времени. То есть, будет что-то типа:
tsupervisor = Метод UpdatePos в каждом объекте будет получать разность времени между предыдущим и последним обновлением, скорость объекта внутри него же известна, направление движения - тоже, то есть, можно вычислить новое положение, и перерисоваться... Ну, вот такой набросок... Подобным методом я когда-то делал отображение снежинок в своей новогодней программе, можешь посмотреть на форуме, до 3000 штук рисуется вполне сносно, без задержек... Но решать, конечно, тебе... |
lrx2 |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Случайно я.)
Ок{ "интересная конструкция"-просплюсь, потом разберёмся..)} Спасибо. |
lrx2 |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Здравствуйте.
Написал подобие наблюдателя, но, видимо, испортил идею, потому результат сносный, но не фонтан. Прошу оказать помощь в оптимизации) Он находится в модуле U_PLAY, процедуре play. Остальные баги(типо простреливания непреодолимой и неразрушимой преграды, странно затирающегося снаряда и т.п.) надеюсь найти сам. Найдёте еще какие- буду рад услышать. Спасибо. Прикрепленные файлы ![]() |
lrx2 |
![]() ![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Доделал игрушку.
Если будут какие-то замечания, буду рад услышать. (примечание: возможно будут проблемы с первой менюшкой- там полёт снаряда сделан через delay, который работает нестабильно..пробовал сделать через досовскую процедуру взятия времени, но рассчёты занимают изрядное количество времени, потому пришлось оставить. Есть еще баг неотловленный- иногда появляется серый прямоугольник 5х5 или закрашивается 50-100% поля(только на одной странице)..возможно, не все снаряды удаляются, хотя не раз проверял..баг плавучий походу. Больше никаких нестабильностей обнаружено не было) Прикрепленные файлы ![]() |
Polinom2686 |
![]()
Сообщение
#7
|
![]() Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: ![]() ![]() ![]() |
Адская игрушка! Я никак не могу компьютер обыграть. Скорость движения танка игрока вообще никакая. Пока я сдвинусь с места, танк компьютера уже всю карту проедет (
![]() ![]() |
SKVOZNJAK |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
В эмуляторе dosemu управление подтормаживает но кое-как по противнику попасть можно. Надо протестить в реальном досе
![]() |
![]() ![]() |
![]() |
Текстовая версия | 17.06.2024 16:04 |