Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44

Почему тормозит играаа???

29.07.2011, 18:26. Показов 2000. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день - решил недавно создать игрушку (третяя на моем счету)...
но на этот раз игра не пошаговая - эдакое подобие бомбермена с инвентарем...

Можете пожалуйста подсказать по какой причине игра может тормозить ?
(Возможно проблема в алгоритме - основная часть которого в мейн функции(это цикл)- пожалуйста обратите внимание)
Администрацию сайта просьба не переносить даное сообщение в раздел бета тестирования и suchlike...

PS :
могут возникнуть проблемы с winmm.h ... там нужно в настройках компилятора (и.или проекта- для удобства создайте новый и скопипастите содержимое .cpp дока) создать линк с файлом libwinmm.a

Также приношу просьбы всем у кого глаза начнут выпадать из глазниц - мигание раздражает + код огромен (создавал програму по принципу "снизу- вверх" вообще не советую , ибо дороже обойдеться)...
но прошу помнить что это мой третий игровой проэкт...
Вложения
Тип файла: txt map.txt (921 байт, 50 просмотров)
Тип файла: rar Desktop.rar (208.5 Кб, 54 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2011, 18:26
Ответы с готовыми решениями:

Почему тормозит BitArray
Вопрос и в том, почему может тормозить BitArray, и в том, как же это лучше исправить. Прилагаю анализ временных затрат и соответствующий...

Почему интернет тормозит???
День добрый всем. Помогите решить проблему с интернетом, что то не могу врубиться. Скорость интернета не соответствует оплачиваемому по...

Почему тормозит hdd
Как узнать в чем причина низкой скорости во время проверки ноутбука антивирусом mbam? Диспетчер задач показывает что загрузка диска около...

16
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
29.07.2011, 18:54
как мне кажеться тормоз из-за медленной перерисовки попробуйте поднять чистоту.
еще меня пророзило каличество if\else
Да кстати код реально огромен!
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
29.07.2011, 18:58
не перерисовывай всю карту а только перерисовывай движения .

жесть у тебя каждое движение отдельной функцией О_о
уж сделай движение функцией а параметр - направление. а внутри че-то типа функции checkEnemies() .. checkBomb() (не наступил ли на врага. не наступил ли на бомбу) и т.д.

у меня спустя 10 секунд мигания игра остановилась ваще)

ну и мелочь - если карта не загрузилась уж сделай выход из игры. а не продолжение.
0
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
29.07.2011, 19:01
А я хотел просто предложить поднять честоту перерисовки до заветных 24 кадров в секунду)
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
29.07.2011, 19:06
leoned, скорей всего не поможет а только мигать будет чаще. к тому же параллельностью там не пахнет - перерисовка прост с каждым шагов делается.
просто перерисовывать всю карту очень не рационально.

ага так и знал - system("cls"); ...
автор - юзай SetConsoleCursorPosition и закрашивай std::cout << ' '; затем с помощью этой же функции двигайся в бок и рисй опять человечка. и усё.
0
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
29.07.2011, 19:07
Цитата Сообщение от OstapBender Посмотреть сообщение
просто перерисовывать всю карту очень не рационально.
ну в принцепи так и есть это я чёт тупанул
0
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44
30.07.2011, 22:49  [ТС]
автор - юзай SetConsoleCursorPosition и закрашивай std::cout << ' '; затем с помощью этой же функции двигайся в бок и рисй опять человечка. и усё.
а можешь плз поподробнее написать - в часности что значит закрашивать std::cout<< ?
Что такое стд я знаю...

а в общем то что тормозит програму- из предложений я понял пока только частое перерисовывание карты...

+ как паралельность сделать ?
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
30.07.2011, 22:57
Цитата Сообщение от nikitos9305 Посмотреть сообщение
а можешь плз поподробнее написать - в часности что значит закрашивать std::cout<< ?
могу. эт значит что надо закрасить место на экране, где был моб пустым символом ' '.
Цитата Сообщение от nikitos9305 Посмотреть сообщение
+ как паралельность сделать ?
забей на это. тут это будет слишком круто.
0
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44
31.07.2011, 00:26  [ТС]
так у меня так оно и происходит - идея такова - есть каркас- цыфровое поле которое находиться под картой - при выводе цыфры преобразуються в символы акси...

про паралельность:
тобишь сам стиль написания кода делает паралельность труднодоступной ?

Ну а все же каков алгоритм для паралельности - может какие то специальные функции из win_api использовать нужно ?
0
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
31.07.2011, 12:29
Цитата Сообщение от nikitos9305 Посмотреть сообщение
win_api
зачем?это ж конслоль?
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
31.07.2011, 19:15
Цитата Сообщение от leoned Посмотреть сообщение
зачем?
Цитата
Цитата Сообщение от nikitos9305 Посмотреть сообщение
Ну а все же каков алгоритм для паралельности - может какие то специальные функции из win_api использовать нужно ?
0
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44
31.07.2011, 22:40  [ТС]
Ребята, а с ускорением то что делать ?
0
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
01.08.2011, 11:21
Цитата Сообщение от nikitos9305 Посмотреть сообщение
ускорением
Ускорением чего?врагов?
0
 Аватар для Mayonez
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
01.08.2011, 15:04
Цитата Сообщение от nikitos9305 Посмотреть сообщение
(третяя на моем счету)...
предыдущие посмотреть можно?
0
 Аватар для leoned
31 / 31 / 0
Регистрация: 30.06.2011
Сообщений: 467
01.08.2011, 15:33
Цитата Сообщение от Mayonez Посмотреть сообщение
предыдущие посмотреть можно?
да кстати очень интересно было-бы взглянуть
0
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
01.08.2011, 20:24
nikitos9305 чисто интересно,сколько у Вас заняло написание этого кода с нуля?
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
02.08.2011, 00:02
Некоторые коммантарии на русском, некоторые на английском.
И реально много if/else. Особенно пугают условия где в if штук 40 или.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.08.2011, 00:02
Помогаю со студенческими работами здесь

Почему тормозит комп
Кто может помочь тормозит комп рчень сильно хоть на хп хоть на 7 !!!! проц не грузится оператива то же в норме !!! комп интел пентиум дуал...

Почему тормозит background
Всем хорошего дня. Сделал по уроку задний фон которые двигается циклично имитируя движение в 2d игре. Обычный бокс, текстурка и скрипт в...

Почему тормозит компьютер?
Комп при жаре тормозит нереально. Смотреть видео онлайн невозможно, вкладки браузеров грузятся очень медленно. В Диспетчере задач...

Тормозит пк, непонятно почему
1)intel core i5 4570 2)msi z87m gaming 3)8 gb (kingston) 4)msi gtx 970 4g gaming 5)wd black wd1003fzex 6)Блок питания THERMALTAKE...

Комп почему он тормозит
Почему на моем компьютере тормозят почти все игры,Системные требования: AMD Athlon(tm)64X2 Dual Core Processor 5000+ 2.61ГГц,2,00ГБ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru