Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2021, 07:20   #11
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Timurkh77, массивы нужно обернуть в классы, чтобы сделать объекты, внутри которых будет контролироваться выход за край. После этого код перестанет быть похож на лапшу, а половина ошибок найдётся сами классами
Алексей1153 вне форума Ответить с цитированием
Старый 11.12.2021, 22:16   #12
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 137
По умолчанию

У меня код написанный для pacman такой же,ничего не переполняется.
Timurkh77 вне форума Ответить с цитированием
Старый 11.12.2021, 22:32   #13
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Нет, из-за проверок STATE и key для пакмана в стек будет класться только одна точка, а для противника не одна. Добавьте печать l2 и k2 в консоль в EvTimer и увидите.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 12.12.2021, 08:14   #14
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Цитата:
Сообщение от Timurkh77 Посмотреть сообщение
У меня код написанный для pacman такой же,ничего не переполняется.
несерьёзная отмазка. Можно же просто попробовать по-человечески сделать инкапсуляцию и проверить ассертами
А пока в коде будет такая сишная лапша - всегда будут проблемы. Классы не просто так изобрели
Алексей1153 вне форума Ответить с цитированием
Старый 12.12.2021, 20:07   #15
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 137
По умолчанию

А как надо сделать , чтобы стек не переполнялся?
Timurkh77 вне форума Ответить с цитированием
Старый 12.12.2021, 20:21   #16
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 137
По умолчанию

Как написать без if выбор пустой клетки?
Timurkh77 вне форума Ответить с цитированием
Старый 12.12.2021, 20:35   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Попробуйте так выбирать клетку для шага (оставив if):
Код:
i2 = stekE1[rand() % l2];
j2 = stekE2[rand() % k2];
l2 = 0;
k2 = 0;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 12.12.2021, 21:54   #18
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 137
По умолчанию

if(s2==1)
{
Invalidate(FALSE);
i2=stekE1[rand()%l2];
j2=stekE2[rand()%k2];
l2=0;
k2=0;
}

Сделал так,все равно проходит сквозь стены.

Последний раз редактировалось Timurkh77; 12.12.2021 в 22:06.
Timurkh77 вне форума Ответить с цитированием
Старый 13.12.2021, 04:36   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Да, что-то я с двумя рандомами поторопился. Вот так:
Код:
        int p = rand() % l2;
        i2 = stekE1[p];
        j2 = stekE2[p];
        l2 = 0;
        k2 = 0;
Кстати, клетка (14, 21) это стена, т.е. противник изначально стоит в стене. И не забудьте закрыть в самой правой стене дыру.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 27.01.2022, 20:02   #20
Timurkh77
Форумчанин
 
Регистрация: 16.02.2013
Сообщений: 137
По умолчанию

У меня не работал компьютер.Сделал так как вы сказали все равно проходит сквозь стены.
Timurkh77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с загрузкой звука в игре типа 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