![]() |
![]() ![]() |
![]() |
compiler |
![]()
Сообщение
#1
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Добрый день!
Решил вот написать игру по типу atomic tanks(я в неё ещё под ДОСом играл, а тут нашел под линух и убил много времени)). Но возникли проблемы с определением куда будут стрелять танки, которые находятся под управлением компа.. Где бы можно было почитать про создание подобных "интиллектов"? а то смотреть чужие исходники очень тяжело, да и не нужен мне супер-пупер алгоритм... для тех кто не знает игры скрин: ![]() скачать можно тут заранее благодарен. -------------------- Спасибо!
Удачи! |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
а какие могут быть варианты? у каждого уровня сложности ставишь свою погрешность, и стреляешь по оптимальной траектории, смещенной на случайную величину с дисперсией, равной погрешности.
|
compiler |
![]()
Сообщение
#3
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
а какие могут быть варианты? у каждого уровня сложности ставишь свою погрешность, и стреляешь по оптимальной траектории, смещенной на случайную величину с дисперсией, равной погрешности. хм.. А как поступать когда вариантов выстрела с прямым попаданием несколько(напрямую и скажем с рикошетом от стенки)? И как получить это оптимальную траекторию?update и как выбрать по какому танку стрелять? одни вопросы?) Сообщение отредактировано: compiler - 8.03.2008 11:50 -------------------- Спасибо!
Удачи! |
Archon |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Можно например сделать так:
Каждый выстрел задается несколькими значениями (направление, тип оружия, сила выстрела... точно не помню) Можно сгенерировать набор выстрелов случайно, расчитать их и выбрать лучший по результату. Чтобы компьютер играл сильнее можно генерировать больше вариантов ![]() -------------------- Close the World...txeN eht nepO
|
compiler |
![]()
Сообщение
#5
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Каждый выстрел задается несколькими значениями (направление, тип оружия, сила выстрела... точно не помню) да, в оригинальной версии задаются эти три параметра..Можно сгенерировать набор выстрелов случайно Как? Если их бесчисленное множество.. можно делать упор на силу а можно на угол, можно стрелять напрямую а можно рикошетом от стенки... , расчитать их и выбрать лучший по результату. как выбрать лучшего среди бесконечности?)да и еще надо выбрать по кому стрелят... Сообщение отредактировано: compiler - 9.03.2008 14:06 -------------------- Спасибо!
Удачи! |
Archon |
![]()
Сообщение
#6
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
![]() Ну... Я же не предлагаю рассматривать ВСЕ возможные случаи. Скажем придумали мы 100 совершенно случайных выстрелов. Какой шанс, что хоть один из них окажется удачным? Думаю, достаточно большой. Вот и находим лучший из этих 100. Если нет ни одного попадания, ничего страшного, ведь компьютер тоже промахиваться должен, просто выбираем тот, который ближе к врагу. Можно развить идею. Например производим случайные выстрелы, пока один не попадет достаточно близко к какому-нибудь противнику. Затем проводим корректировку параметров, просто немного Увеличив/уменьшив параметры случайным образом. Признаю, мой вариант не совсем серьезный, гораздо круче было бы выбирать цель, расчитывать все возможные оптимальные попадания после чего вносить погрешность... но как вариант ![]() -------------------- Close the World...txeN eht nepO
|
compiler |
![]()
Сообщение
#7
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Есть идея создавать танчики со своим "характером".. Тоесть один будет предпочитать стрелять параболой с максимальной силой, а другой с минимальной(при этом подбирая другой угол), а третий будет любить рикошеты... А выбирать для цели будем наверное самого слабого(как в реальной жизни))
пойду читать теорию(мат часть+ физ часть) -------------------- Спасибо!
Удачи! |
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
При наличии нескольких равнозначных вариантов выбор между ними осуществляется одним из следующих способов:
1. Датчиком случайных чисел. 2. Приоритетным выбором. 3. Берется первый попавшийся (не в смысле "произвольный", а именно в смысле "первый из найденных"). |
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 17:37 |