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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 21:41   #1
Андрей!
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 45
Вопрос Нахождение кратчайшего пути по матрице, или передвижение привидений в игре Пакмен

Подскажите пожалуйста как правильно реализовать? Имеются координаты x,y пакмана и приведения.

Я использую такой алгоритм:

Код:
void Enemy::move(Map* map, Puckman* Puckman, Enemy* en)
{
    if(Puckman -> posX > posX && map -> map[en->posY][en->posX+1]->iCanEatThat) en->posX++;
    else if(Puckman -> posX < posX && map -> map[en->posY][en->posX-1]->iCanEatThat) en->posX--;
    else if(Puckman -> posY > posY && map -> map[en->posY+1][en->posX]->iCanEatThat) en->posY++;
    else if(Puckman -> posY < posY && map -> map[en->posY-1][en->posX]->iCanEatThat) en->posY--;
}
posX, posY - координаты
iCanEatThat - переменная отвечающая за то, можно ли съесть объект

Подскажите как можно улучшить алгоритм при встрече со стенкой, потому что при попадание в угол - привидение не двигается адекватно
Андрей! вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение кратчайшего пути на графе. Мария74 Помощь студентам 14 31.10.2012 21:36
создание графа по матрице и поиск кратчайшего пути из одного графа в другой lexflax Общие вопросы C/C++ 1 06.09.2012 07:32
Нахождение кратчайшего пути Grime Microsoft Office Excel 6 06.06.2012 08:46
Нахождение кратчайшего пути в графе Nata220 Помощь студентам 4 29.11.2010 14:54
Алгоритм Беллмана-форда,нахождение кратчайшего пути bakir Помощь студентам 1 13.01.2010 02:31