|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.02.2022, 09:12 | #61 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Попробуйте добавить отладочную печать или приостановить выполнение кода и посмотреть, где именно происходит зацикливание. Я не могу скомпилировать ваш код, так как нет под рукой Borland C++, поэтому заменил графическую часть на OpenGL. В логической части расхождений не нахожу, но у меня противник "бегает" без проблем.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
14.02.2022, 17:48 | #62 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
Нажимаю F7 два раза программа зависает после выполнения функции Run().Не знаю как добавить отладочную печать.Как приостановить выполнение кода?Не могу понять в чем дело.
|
17.02.2022, 12:30 | #63 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Смог запустить ваш код (Visual Studio + OWLNext) с минимальными правками. Вы используете массив m в нескольких местах программы, но убрали его инициализацию из SetupWindow, поэтому выполнение зацикливается при выборе координат персонажа.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
18.02.2022, 19:42 | #64 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
Поставил инициализацию матрицы m[i][j] в SetupWindow() противник бегает .Файл pacmang.cpp работает по алгоритму,а в файле pacmang2.cpp с произвольным k=vars[rand()%vars_count] усовершенствованием противник ходит сквозь стены.Не пойму в чем дело?
|
18.02.2022, 21:34 | #65 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Потеряли обнуление vars_count:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.07.2022, 19:07 | #66 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 169
|
Программа работает.Противник бегает.Но как сделать так , чтобы он следил за игроком.
|
26.07.2022, 09:47 | #67 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
Timurkh77, очень просто. Необходимо каждый раз при перемещении игрока рассчитывать кратчайший путь от противника к игроку не меняя направление движения противника. Т.е. если противник движется по длинному коридору вправо, то он должен двигаться до конца коридора и не может вернуться в этот коридор, даже если игрок вошёл в этот коридор с обратной стороны.
стимулятор https://yoomoney.ru/to/41001303250491
Последний раз редактировалось Valick; 26.07.2022 в 09:51. |
29.07.2022, 18:44 | #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)); |
02.08.2022, 03:15 | #69 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
С таким условием противник всегда следует по кратчайшему пути к игроку. Каким-либо способом "замедлите" противника: увеличьте интервал таймера, чтобы игрок шел быстрее, чем противник; меняйте направление противника, только когда он упирается в стену; выбирайте из всех свободных клеток вокруг противника одну для хода, но с чуть большим приоритетом ту, которая ближе к игроку. Почитайте, какое сложное поведение у противников в оригинальном пакмене (https://ru.wikipedia.org/wiki/Pac-Man).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
02.08.2022, 08:49 | #70 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
Скорость противника и скорость игрока - это вообще то что должно быть заложено изначально в игру. А ещё если не ошибаюсь в пакмане догоняет не только противник, иногда противник и убегает. Создание игры - это сложный и интересный процесс.
стимулятор 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 |