Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 8

Алгоритм А* (А стар)

21.10.2017, 23:50. Показов 6041. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу создать консольную игру (пишу с использованием библиотеки iostream) и мне надо реализовать движение солдата.
у меня есть массив 10 на 10, солдат имеющий свое обозначение в массиве и некоторые препятствия тоже имеющие свое обозначение в массиве.
У солдата есть координаты х и y, задаю x и y той точки в которую он должен прийти.
Я не могу реализовать алгоритм его движения, пожалуйста помогите мне с этим.
Скиньте простейший вид алгоритма используя то что я описал выше. Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2017, 23:50
Ответы с готовыми решениями:

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар)
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

Применение алоритма А-стар или Дейкстры для решения задачки игры "Пятнашки"
Игровое поле - двумерный массив, содержащий номера фишек Есть методы перемешать тайлы, булевая проверка на выигрыш, начало новой игры, и...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab () { int s1 = 0; int s2 =...

7
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.10.2017, 00:04
Все довольно просто, проверяете была ли нажата кнопка, если да то смещаете координаты вашего героя в нужную сторону
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 8
22.10.2017, 19:10  [ТС]
Простое движение персонажа по карте без каких либо препятствий я могу легко реализовать, а сама суть этой темы в том, что мне нужен алгоритм обхождения препятствий солдатом и его движение к заданной позиции.
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
22.10.2017, 19:59
Vova_Zhirnov, если представить чанки карты в виде графа без весов и добавить матрицу связи элементов, при этом препятствие будет как элемент без связей, то кратчайший путь от персонажа до цели с избеганием препятствия можно найти Поиском в глубину или ширину
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
22.10.2017, 23:22
Цитата Сообщение от DobroAlex Посмотреть сообщение
Vova_Zhirnov, если представить чанки карты в виде графа без весов и добавить матрицу связи элементов, при этом препятствие будет как элемент без связей, то кратчайший путь от персонажа до цели с избеганием препятствия можно найти Поиском в глубину или ширину
Поиск в глубину не оптимальный. Поиск в ширину намного медленее, чем A*
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
22.10.2017, 23:37
oldnewyear, действительно просмотрел
Vova_Zhirnov, уже смотрели ? https://ru.m.wikibooks.org/wik... _поиска_A*
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 8
23.10.2017, 15:28  [ТС]
Но у меня не статическая карта в ней меняются объекты, то создаются то разрушаются. Точнее это вообще будет стратегия, просто как реализовать все остальное мне и так понятно кроме движения.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
23.10.2017, 17:41
Цитата Сообщение от Vova_Zhirnov Посмотреть сообщение
Но у меня не статическая карта в ней меняются объекты, то создаются то разрушаются.
Это значит, что после рассчёта пути солдат начнёт переход из ячейки старта на первую ячейку пути. За это время пока он переходит в соседнюю ячейку ситуация на карте может измениться. Значит, вам придётся запускать рассчёт пути каждый раз перед началом движения солдата на следующую ячейку. Вам нужно сейчас хотя бы реализовать для статической карты.

Попробуйте готовую реализацию алгоритма Ли (волнового алгоритма). Он попроще в понимании, но, возможно, похуже в скорости, но может быть вам его скорости хватит. Исходники в описании под этим видео:
youtube
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2017, 17:41
Помогаю со студенческими работами здесь

Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм
Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм 1. Объясни, что будет напечатано программой Program...

Разработать алгоритм методом пошаговой детализации и программу, реализующую этот алгоритм
Расставить строки данной матрицы в порядке возрастания наибольших элементов в строках.

Построить алгоритм Маркова, который ищет НОД (Алгоритм Евклида)
Здравствуйте, ребята, выручайте. Весь инет перерыл, всю голову сломал, но не могу сделать. Суть в чем, надо построить алгорифм Маркова,...

Алгоритм устранения непродуктивных нетерминалов, алгоритм построения недостижимых символов
Задание: найдите лишние нетерминалы в следующей грамматике с начальным нетерминалом S и в соответствии с алгоритмом устранения лишних...

При каком минимальном значении n алгоритм с O=100n^2, работает быстрее, чем алгоритм с O=2n^2?
Всем, привет! Возможно, я не первый с таким вопросом по книге Кормена, но всё ... Есть там такое задание: Предположим, на одной и той...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru