![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#61 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Попробуйте добавить отладочную печать или приостановить выполнение кода и посмотреть, где именно происходит зацикливание. Я не могу скомпилировать ваш код, так как нет под рукой Borland C++, поэтому заменил графическую часть на OpenGL. В логической части расхождений не нахожу, но у меня противник "бегает" без проблем.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#62 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
![]()
Нажимаю F7 два раза программа зависает после выполнения функции Run().Не знаю как добавить отладочную печать.Как приостановить выполнение кода?Не могу понять в чем дело.
|
![]() |
![]() |
![]() |
#63 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Смог запустить ваш код (Visual Studio + OWLNext) с минимальными правками. Вы используете массив m в нескольких местах программы, но убрали его инициализацию из SetupWindow, поэтому выполнение зацикливается при выборе координат персонажа.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#64 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
![]()
Поставил инициализацию матрицы m[i][j] в SetupWindow() противник бегает .Файл pacmang.cpp работает по алгоритму,а в файле pacmang2.cpp с произвольным k=vars[rand()%vars_count] усовершенствованием противник ходит сквозь стены.Не пойму в чем дело?
|
![]() |
![]() |
![]() |
#65 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Потеряли обнуление vars_count:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#66 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
![]()
Программа работает.Противник бегает.Но как сделать так , чтобы он следил за игроком.
|
![]() |
![]() |
![]() |
#67 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 493
|
![]()
Timurkh77, очень просто. Необходимо каждый раз при перемещении игрока рассчитывать кратчайший путь от противника к игроку не меняя направление движения противника. Т.е. если противник движется по длинному коридору вправо, то он должен двигаться до конца коридора и не может вернуться в этот коридор, даже если игрок вошёл в этот коридор с обратной стороны.
стимулятор https://yoomoney.ru/to/41001303250491
Последний раз редактировалось Valick; 26.07.2022 в 09:51. |
![]() |
![]() |
![]() |
#68 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
![]()
Сделал вот так,противник слишком быстро съедает меня,что можно сделать?
do { do { bx=j; by=i; } while((j2==bx&&i2==by)||m[by][bx]=='.'); }while(!lee(j2,i2,bx,by)); |
![]() |
![]() |
![]() |
#69 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
С таким условием противник всегда следует по кратчайшему пути к игроку. Каким-либо способом "замедлите" противника: увеличьте интервал таймера, чтобы игрок шел быстрее, чем противник; меняйте направление противника, только когда он упирается в стену; выбирайте из всех свободных клеток вокруг противника одну для хода, но с чуть большим приоритетом ту, которая ближе к игроку. Почитайте, какое сложное поведение у противников в оригинальном пакмене (https://ru.wikipedia.org/wiki/Pac-Man).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#70 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 493
|
![]()
Скорость противника и скорость игрока - это вообще то что должно быть заложено изначально в игру. А ещё если не ошибаюсь в пакмане догоняет не только противник, иногда противник и убегает. Создание игры - это сложный и интересный процесс.
стимулятор https://yoomoney.ru/to/41001303250491
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с загрузкой звука в игре типа Pacman | Timurkh77 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 13.09.2018 05:23 |
Графическая ошибка в игре типа Pacman | Timurkh77 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 18.08.2018 22:08 |
Какие знания по php и mysql нужно иметь, что бы в игре сделать такой бой в онлайн текстовой игре | jonikster | Общие вопросы Web | 4 | 15.06.2016 18:10 |
Интеллект компьютера в игре покер на костях | Pepsy | Общие вопросы C/C++ | 1 | 06.04.2013 21:17 |
Зависание игры после отбивания шара (TShape) противником (Delphi) | alex 2000 | Помощь студентам | 0 | 06.02.2012 13:47 |