Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
117 / 117 / 30
Регистрация: 21.10.2011
Сообщений: 308

Алгоритм выбора противника

15.02.2016, 16:14. Показов 1057. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дано 1 противник сила,ловкость,интеллект,защита. представление 8635 соответственно. генерируются 4 противника, с параметрами от 3 до 9. (6548,6358,8735,6549). есть ли какой нибудь проверенный математический алгоритм который определит наиболее подходящего противника из 4 претендентов?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2016, 16:14
Ответы с готовыми решениями:

Алгоритм выбора книги
Здравствуйте. Искал себе очередную книгу (как всегда завис на минут 30 так ничего и не выбрав) и задумался над тем, что неплохо было бы...

Алгоритм для выбора чисел из набора
Доброго времени суток, я тут новичек и это моя первая тема. Помогите пожалуйста определить алгоритм для данной задачи. 'Задается...

Алгоритм выбора наиболее эффективной команды героев
Интересуют ваши размышления, предложения или даже решения поставленной задачи. Задача поставлена (придумана) мной. Существует много...

3
 Аватар для Rayne
76 / 62 / 23
Регистрация: 11.07.2009
Сообщений: 730
15.02.2016, 17:58
Это для какой-то рпг алгоритм, на спаун ботов? Если да - то смотреть по ситуации. Да и в каком смысле подходящий - которого сложнее победить, или наоборот? Вообще, по опыту игры могут сказать что например 9111 может свалить 4444 без проблем, но проиграть с 7217. Нужна статистика боёв, и по ней уже вырабатывать алгоритм.
Но если вот так, на том что есть: задаётся некая общая сумма стат-поинтов, и её уже надо распределять. Это само собой как бы. Другое дело, что надо знать сколько один балл в статах добавит шансов на победу. Допустим, что поровну. Тогда без разницы как расставлять. Опять, выходит - мало информации.

Добавлено через 15 минут
Ну а если издалека начать, то я бы сделал нечто подобное:
Допустим, разрабатывается обычная hack&slash игра на исключительно ближний бой. У каждого игрока есть значение aspd - скорость атаки, а так же flee - шанс уворота от следующего удара. Аспд и фли зависят от ловкости. Сила удара - от силы, соответственно, и защиты, та снижает урон. Интеллект не знаю как сюда привязать. Ну и считай тогда - с учётом заданных констант, при выбранных аспд-фли игрока и противника, а так же здоровье (думаю оно предполагается под силой или защитой), кто кого победит.

Добавлено через 27 минут
Можно усложнять, для дальнего боя например - тут придётся учитывать стопрейт, т.е. снижение скорости движения до врага, когда тот стреляет. Ну так принято у некоторых. Но в целом есть так боя, определяемый наивысшей скоростью атаки (для массовых боёв в том числе), и по нему уже стоит считать приблизительные шансы на победу. Если совсем упрощённо:

Игрок А:
Здоровье - 20 000
Сила атаки - 100 000
Скорость атаки - 0.00027 (1 удар в час).

Игрок Б:
Здоровье - 1
Сила атаки - 1
Скорость атаки - 20 000 (20 000 в секунду).

Очевидно что несмотря на низкие хп, игрок Б выиграет просто по скорости атаки.
1
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
15.02.2016, 19:43
Параметры игрока 8635
Сильный любой параметр:N-+ рендом от 1 до 2
Средний N-от 2 до 3 или +-
Слабый N-от 3 до 5
Значит сильный будет 8+-2***=9***
Средний =6***
Слабый=4***
0
117 / 117 / 30
Регистрация: 21.10.2011
Сообщений: 308
15.02.2016, 20:47  [ТС]
бой происходит как то так
для игрока 8635 создается массив
[сила,сила,сила,сила,сила,сила,сила,сила, ловкость,ловкость,ловкость,ловкость,ловк ость,ловкость,интеллект,интеллект,интелл ект,защита,защита,защита,защита,защита]
происходит раунд силы
у игрока случайно выбирается 4 элемента из массива, если есть элемент силы игрок выиграл, если нет удаляется 1 элемент массива из этих 4 и раунд повторяется.
потом идет раунд ловкости,интеллекта и защиты.
если в 4 раундах выиграл значит победил, если закончились элементы раньше - проиграл.

Добавлено через 11 минут
з.ы. противник с силой 6, ловкости 5, интеллекта 4, защиты 3 то есть порядок раундов. соответственно чем больше силы тем выше шанс пробраться в раунд ловкости с большим числом элементов и т.д.
по сути 7896 это шансы выпадения параметра 70% 80% 90% 60%

Добавлено через 7 минут
ах да, можно выбирать какой из элементов удалить, если нет нужного, соответственно во втором раунде можно ждать ловкости тратя сэкономленные элементы силы

Добавлено через 2 минуты
или если много защиты сливать ее за ненадобностью допустим 1 вообще на 4 раунд оставить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2016, 20:47
Помогаю со студенческими работами здесь

Алгоритм выбора попарно разных значений с n строк
Есть n строк, нужно взять с каждой такое число , чтобы между всех выбранных не было одинаковых, или же вывести, что это невозможно. ...

Алгоритм выбора случайного значения с учётом его "веса"
Есть хэш таблица: Значение - Вес, соответствующий значению Например, А 6 Б 0 В 1 Г 2 Нужно выбирать в...

Алгоритм выбора записи
Есть довольно сложная задача по реализации хранения и выбора из базы данных. Нужно решить, как хранить сложную структуру записей....

алгоритм простого выбора - матрица
Добрый день всем ;) Помогите,пожалуйста,с задачей : Дана действительная матрица размером MxN. Упорядочить (переставить) строки матрицы...

Алгоритм выбора контейнера STL
Привет. Существует ли некая таблица по таким контейнерам с кратким описанием плюсов и минусов каждого по сравнению с другими? И в обще...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru