Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
nikitos9305
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44
29.07.2011, 18:26     Почему тормозит играаа??? #1
Добрый день - решил недавно создать игрушку (третяя на моем счету)...
но на этот раз игра не пошаговая - эдакое подобие бомбермена с инвентарем...

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

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

Также приношу просьбы всем у кого глаза начнут выпадать из глазниц - мигание раздражает + код огромен (создавал програму по принципу "снизу- вверх" вообще не советую , ибо дороже обойдеться)...
но прошу помнить что это мой третий игровой проэкт...
Вложения
Тип файла: txt map.txt (921 байт, 49 просмотров)
Тип файла: rar Desktop.rar (208.5 Кб, 53 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2011, 18:26     Почему тормозит играаа???
Посмотрите здесь:

Тормозит Borland C++ 3.1 C++
Почему не взяли на обучение в CQG, на сайте нашел испытательное задание, сделал и отослал. Не взяли и не объяснили почему. Хочу услышать мнения. C++
Почему MS-DOS не любит кириллицу ? (Или почему она не любит меня ?) C++
Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему? C++
Тормозит программа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
leoned
 Аватар для leoned
29 / 29 / 1
Регистрация: 30.06.2011
Сообщений: 467
29.07.2011, 18:54     Почему тормозит играаа??? #2
как мне кажеться тормоз из-за медленной перерисовки попробуйте поднять чистоту.
еще меня пророзило каличество if\else
Да кстати код реально огромен!
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
29.07.2011, 18:58     Почему тормозит играаа??? #3
не перерисовывай всю карту а только перерисовывай движения .

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

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

ну и мелочь - если карта не загрузилась уж сделай выход из игры. а не продолжение.
leoned
 Аватар для leoned
29 / 29 / 1
Регистрация: 30.06.2011
Сообщений: 467
29.07.2011, 19:01     Почему тормозит играаа??? #4
А я хотел просто предложить поднять честоту перерисовки до заветных 24 кадров в секунду)
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
29.07.2011, 19:06     Почему тормозит играаа??? #5
leoned, скорей всего не поможет а только мигать будет чаще. к тому же параллельностью там не пахнет - перерисовка прост с каждым шагов делается.
просто перерисовывать всю карту очень не рационально.

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

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

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

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

Ну а все же каков алгоритм для паралельности - может какие то специальные функции из win_api использовать нужно ?
leoned
 Аватар для leoned
29 / 29 / 1
Регистрация: 30.06.2011
Сообщений: 467
31.07.2011, 12:29     Почему тормозит играаа??? #10
Цитата Сообщение от nikitos9305 Посмотреть сообщение
win_api
зачем?это ж конслоль?
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
31.07.2011, 19:15     Почему тормозит играаа??? #11
Цитата Сообщение от leoned Посмотреть сообщение
зачем?
Цитата
Цитата Сообщение от nikitos9305 Посмотреть сообщение
Ну а все же каков алгоритм для паралельности - может какие то специальные функции из win_api использовать нужно ?
nikitos9305
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 44
31.07.2011, 22:40  [ТС]     Почему тормозит играаа??? #12
Ребята, а с ускорением то что делать ?
leoned
 Аватар для leoned
29 / 29 / 1
Регистрация: 30.06.2011
Сообщений: 467
01.08.2011, 11:21     Почему тормозит играаа??? #13
Цитата Сообщение от nikitos9305 Посмотреть сообщение
ускорением
Ускорением чего?врагов?
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
01.08.2011, 15:04     Почему тормозит играаа??? #14
Цитата Сообщение от nikitos9305 Посмотреть сообщение
(третяя на моем счету)...
предыдущие посмотреть можно?
leoned
 Аватар для leoned
29 / 29 / 1
Регистрация: 30.06.2011
Сообщений: 467
01.08.2011, 15:33     Почему тормозит играаа??? #15
Цитата Сообщение от Mayonez Посмотреть сообщение
предыдущие посмотреть можно?
да кстати очень интересно было-бы взглянуть
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
01.08.2011, 20:24     Почему тормозит играаа??? #16
nikitos9305 чисто интересно,сколько у Вас заняло написание этого кода с нуля?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2011, 00:02     Почему тормозит играаа???
Еще ссылки по теме:

SDL + C++ = Тормозит событие нажатия кнопки C++
C++ IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?
C++ Почему выводится в виде таблицы и почему не работает сортировка

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

Или воспользуйтесь поиском по форуму:
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
02.08.2011, 00:02     Почему тормозит играаа??? #17
Некоторые коммантарии на русском, некоторые на английском.
И реально много if/else. Особенно пугают условия где в if штук 40 или.
Yandex
Объявления
02.08.2011, 00:02     Почему тормозит играаа???
Ответ Создать тему
Опции темы

Текущее время: 18:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru