Сейчас 21:52:32 Пятница, 19 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [НАРАБОТКА] Простой пример ИИ
[НАРАБОТКА] Простой пример ИИ
lawsonДата: Воскресенье, 11 Декабря 2011, 02:39:15 | Сообщение # 1
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Короче, не терпится вам показать свой новый, сильно переделанный ИИ, который недавно закончил.
Конечно, он не идеальный, так как я пытался выжать из себя все, что знаю про ИИ, его поведение и строение.
Сама карта - это клон Доты, я не ставил целью создать какую-то конкурентноспособную карту, я просто делал ИИ, и поэтому практически всех героев, предметы и скиллы взял из Доты, за это, пожалуйста, не бить. Я хочу, чтобы вы просто оценили ИИ, к тому же карта не закрытая, если что интересно - посмотреть прошу. Со временем я буду совершенствоваться и доделывать ИИ по мере изучения кода и самого ИИ, но на данный момент это лучшее, что у меня получилось.
Прощу оценить, готов к любым комментариям. Думаю, для тех, кто часто играет в Доту будет легко разобраться, что к чему. Если какие-то баги или еще чего - пишите. А для опытных кодеров типа дуосов, фкофов - лучше код не смотреть, есть пара утечек, я их со временем уберу, так как это просто рабочая версия пока.
Сама карта.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 11 Декабря 2011, 15:28:42
 

HexingДата: Воскресенье, 11 Декабря 2011, 07:51:21 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
без скринов нет не малейшого желания качать(несмотря на их бесполезность), а также ненавижу доту, поэтому 100% качать не буду
сделал бы ИИ для мили карт или для своей карты какойнибудь, взглянул бы fuckyeah


 

DiabfallДата: Воскресенье, 11 Декабря 2011, 11:10:44 | Сообщение # 3
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Посмотрел.
Выбрал режим 3х3. Мои боты хз почему сразу ломанулись по одной линии.)
Вообщем поиграл минут 8. Если сравнивать с Дотовским ИИ, то твой где-то в версии 6.45, что в принципе норм.

Про код.
Глянул, что ему конца и края не видно, поэтому не стал утруждать себя поиском логической последовательности. :)
 

lawsonДата: Воскресенье, 11 Декабря 2011, 13:12:38 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Diabfall)
Глянул, что ему конца и края не видно, поэтому не стал утруждать себя поиском логической последовательности.

Правильно , я уже сам в нем путаюсь.
Quote (Diabfall)
боты хз почему сразу ломанулись по одной линии

Исправим.

Добавлено (11 Декабрь 2011, 13:12:38)
---------------------------------------------

Quote (Hexing)
без скринов нет не малейшого желания качать

Друг я не заставляю.
Quote (lawson)
я не ставил целью создать какую - то конкурентно способную карту, я просто делал ИИ и поэтому практически всех героев, предметы и скилы взяты из доты

НУ извини тогда.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

HexingДата: Воскресенье, 11 Декабря 2011, 13:20:27 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (lawson)
Друг я не заставляю.

без проблем closedeyes




Сообщение отредактировал Hexing - Воскресенье, 11 Декабря 2011, 13:20:50
 

Ty3uKДата: Вторник, 13 Декабря 2011, 12:35:22 | Сообщение # 6
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson,
Code
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "You can choose any Hero from markets " + " and you can write -gold, -lvlup, -kill")

зачем?
Code
call DisplayTextToPlayer(GetLocalPlayer(), 0., 0., "You can choose any Hero from markets " + " and you can write -gold, -lvlup, -kill")

еще и cjass пошел юзать


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Вторник, 13 Декабря 2011, 12:37:22
 

SirNikolasДата: Вторник, 13 Декабря 2011, 12:41:53 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (lawson)
" + "
Мда.
Quote (Ty3uK)
еще и cjass пошел юзать
Здесь-то он зачем? Сейчас скачаю, попробую в чем-нибудь разобраться.


 

Ty3uKДата: Вторник, 13 Декабря 2011, 12:43:06 | Сообщение # 8
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, хз, но вставки разного кода типа
Code
l = 6
//some code//
set l = 3
///some code//
l--

цель такого "комбинирования" я не понимаю


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Вторник, 13 Декабря 2011, 12:47:58 | Сообщение # 9
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
цель такого "комбинирования" я не понимаю

Тузик ты логическую цепочку когда в коде найдешь, тогда и поймешь зачем мне надо чтобы цикл начинался с 3. ОК?
Quote (SirNikolas)
Здесь-то он зачем?

Ну так как я еще не привык к сжасс, (не давно скачал сборку жнпг с поддержкой сжасса) я еще не полностью его использую, а только в циклах и то только в тех которые писал после портирования на новую сборку.
не надо к никчему придиратся я же написал , это пока что просто рабочая версия, может когда приеду на выходных начну оптимизацией заниматся.
Тузик а вот ты попробуй не зная что делаешь делать правильно. Я ИИ делаю сам, парралельно изучая жасс, ни кто мне не помагает, ни где нет наработок даже примеров, а теперь попробуй сразу сделать все идеально.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Вторник, 13 Декабря 2011, 12:57:19
 

Ty3uKДата: Вторник, 13 Декабря 2011, 12:50:29 | Сообщение # 10
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson, и пробовал, и что? ты не понял, я про способы задания значений переменным. Сначала обычный жасс2, потом cjass (задание без приставки set), а после снова cjass (декремент --). Юзал бы уже что-то одно

Я учусь писать ИИ, пока паскудно, но что поделать. Я тебя понимаю, так что тут смысла выступать нет


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Вторник, 13 Декабря 2011, 12:51:26
 

lawsonДата: Вторник, 13 Декабря 2011, 12:52:59 | Сообщение # 11
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
GetLocalPlayer()

Да теперь я знаю это, но когда я писал код, еще не знал что такое локал плеер.

Добавлено (13 Декабрь 2011, 12:52:59)
---------------------------------------------
Quote (Ty3uK)
Юзал бы уже что-то одно

Я сжаас в онсновноv не использую, так как привык уже писать call, set , function мне сжасс удобен только в циклах i++, i--


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Вторник, 13 Декабря 2011, 12:54:08
 

LaondaДата: Среда, 14 Декабря 2011, 13:54:30 | Сообщение # 12
4 уровень
Группа: Пользователи
Сообщений: 81
Награды: 0
Репутация: 15
Блокировки:
Вовремя я на эту тему наткнулся)
Собсно ничего не зная в области ИИ я хотел двигаться своим путем и буду им двигаться, но сперва все же изучу твой метод.


Основатель команды "Компьютерные Акулы"
Г. Разработчик проекта: Forest: Dead Match
Признанный сансей картостроения в wc3
Ищу Дизайнеров/Художников на бесплатную основу. Скайп: Don.Laonda
В зависимости от качества и объема работ, можно говорить и о платной основе.
 

Ty3uKДата: Среда, 14 Декабря 2011, 13:59:07 | Сообщение # 13
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Laonda, там полно енужных конструкций из cJass, поэтому ориентируйся с умом

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Среда, 14 Декабря 2011, 13:59:17
 

LaondaДата: Среда, 14 Декабря 2011, 14:07:06 | Сообщение # 14
4 уровень
Группа: Пользователи
Сообщений: 81
Награды: 0
Репутация: 15
Блокировки:
Quote (Ty3uK)
Laonda, там полно енужных конструкций из cJass, поэтому ориентируйся с умом


>_< я произвожу впечатление глупого человека с первых же написанных строк?)) Хотя и вправду лишь глупец станет уверять, что он умён =\

Я не воровать собираюсь и даже не собираюсь брать его код, я вообще постараюсь сделать всё на GUI + CS
Просто для меня главная задача упростить триггеры изучения скиллов и их использования. Я впервые за ИИ берусь и пожалуй лишь это для меня пока не разведанно + я хочу узнать можно ли использовать редактор ИИ и модифицировать исходный файл редактора таким образом, чтоб увеличить древо изучения скиллов до 450ого уровня)

Я из тех, кто зная чуть более чем просто основы jass не горит фанатичной идеей устранения всевозможных утечек, считаю что на современных компьютерах они не заметны (если избегать критичных) и их устранение лишь отнимает наше дорогое время(хотя функции BJ я не люблю(( и со временем всеравно их переписываю).



Основатель команды "Компьютерные Акулы"
Г. Разработчик проекта: Forest: Dead Match
Признанный сансей картостроения в wc3
Ищу Дизайнеров/Художников на бесплатную основу. Скайп: Don.Laonda
В зависимости от качества и объема работ, можно говорить и о платной основе.
 

Ty3uKДата: Среда, 14 Декабря 2011, 14:08:05 | Сообщение # 15
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Laonda, я и не говорил, что ты глупый. Но скажу сразу - идея писать ИИ на гуи - это глупо, брось

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

LaondaДата: Среда, 14 Декабря 2011, 14:15:30 | Сообщение # 16
4 уровень
Группа: Пользователи
Сообщений: 81
Награды: 0
Репутация: 15
Блокировки:
не охота начинать холли вары)) Но я знаю и jass и свои функции на jass Писать умею. Да и читать умею, а вот вы видимо не разглядели моего текста до конца.

Quote (Laonda)
на GUI + CS

Приведите хоть 1 довод, почему это глупо.

Добавлено (14 Декабрь 2011, 14:15:30)
---------------------------------------------
Немного пораскинул мозгами и уверен что даже только на GUI можно сделать ИИ если очень захотеть и не скупиться на триггеры атак и побегов при помощи скиллов.


Основатель команды "Компьютерные Акулы"
Г. Разработчик проекта: Forest: Dead Match
Признанный сансей картостроения в wc3
Ищу Дизайнеров/Художников на бесплатную основу. Скайп: Don.Laonda
В зависимости от качества и объема работ, можно говорить и о платной основе.
 

Ty3uKДата: Среда, 14 Декабря 2011, 14:41:26 | Сообщение # 17
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Laonda, глупо, потому что гуи имеет кучу функций типа
Code
function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group
      local group g = CreateGroup()
      call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter)
      call DestroyBoolExpr(filter)
      return g
endfunction

не обнулена группа - утечка
Code
function TriggerRegisterEnterRectSimple takes trigger trig, rect r returns event
     local region rectRegion = CreateRegion()
     call RegionAddRect(rectRegion, r)
     return TriggerRegisterEnterRegion(trig, rectRegion, null)
endfunction

не обнулен регион. И совсем верх идиотизма
Code
function SaveUnitHandleBJ takes unit whichUnit, integer key, integer missionKey, hashtable table returns boolean
     return SaveUnitHandle(table, missionKey, key, whichUnit)
endfunction

А так да, можно юзать


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Среда, 14 Декабря 2011, 14:46:00 | Сообщение # 18
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
не обнулен регион.
И что? Он существует всю игру, так что не принципиально (по сравнению с первой функцией).
Quote (Laonda)
Немного пораскинул мозгами и уверен, что даже только на GUI можно сделать ИИ, если очень захотеть и не скупиться на триггеры атак и побегов при помощи скиллов.
Теоретически, можно, только как раз не через спам триггерами, а через грамотно поставленные условия.

lawson, по поводу cJASS - не все станут его ставить только из-за того, что тебе удобнее писать i++. Если бы все было на нем сделано (причем читабельно) - тогда другое дело.


 

Ty3uKДата: Среда, 14 Декабря 2011, 14:47:32 | Сообщение # 19
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, все дело в том, что многие юзают несколько раз функции с событием "юнит вошел в регион". И сколько тогда этих регионов будет?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Среда, 14 Декабря 2011, 14:49:31 | Сообщение # 20
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Laonda)
но сперва все же изучу твой метод.

даже зная жасс, ты всеравно долго будешь искать логическую последовательность действий в моем ИИ, мог бы просто меня попросить помочь объяснить. Я для этого и выложил карту сюда.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Среда, 14 Декабря 2011, 14:52:43
 

SirNikolasДата: Среда, 14 Декабря 2011, 14:49:54 | Сообщение # 21
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
По одному на каждое событие. А что в этом плохого? Они же при ините создаются. К тому же, как бы ты сделал на JASS без регионов?

 

lawsonДата: Среда, 14 Декабря 2011, 14:54:01 | Сообщение # 22
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Laonda)
триггеры изучения скиллов и их использования

Если ты только за этим, моя наработка тебе не поможет.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Среда, 14 Декабря 2011, 14:58:13 | Сообщение # 23
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, но он же локальный и не обнуляется. или я туплю?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Среда, 14 Декабря 2011, 15:04:51 | Сообщение # 24
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Обнулять критически важно то, что уничтожается, а он висит всю игру. И срабатывает только при инициализации, один раз. Если бы он был обнулен, было бы лучше, но и так ты практически ничего не теряешь.

 

Ty3uKДата: Среда, 14 Декабря 2011, 15:05:32 | Сообщение # 25
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, все, я понял. Спасибо за разъяснение ^_^

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [НАРАБОТКА] Простой пример ИИ
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz