Вчера началось интересное соревнование по программированию - AI Challenge, в этом году написанным игроками ботам предстоит играть в Ants.
Участникам соревнования предстоит реализовать алгоритм, который будет руководить колонией муравьев. На симметричной карте, состоящей из земли и воды (препятствия), каждому боту будут выделены один или несколько муравейников — места, в которых рождаются новые муравьи. Целью игры является захват и уничтожение муравейников противников при этом сохранение и защита своих. За уничтожение чужих муравейников начисляются очки, а за сдачу своего очки вычитаются.
что-то я малость не догоняю, а как на php то запустить? скачал старт пакет, там три файла Ants.php запускаешь - пусто. MyBot.php пишет ошибки и браузер виснет.
хорошо. сначала ставлю питон. предположим D:\Python27\
после качаю распаковываю tools предположим D:\ANT\
потом требуется запуск play_one_game.cmd
при запуске её, пишет что python не является командным файлом или еще там чемто.
ладно, запустил тогда из пуска Python (command line), в появившемся черном окошке вбил путь до play_one_game.cmd - пишет ошибка синтаксиса.
все. в корень питона надо было содержимое папки тулс закинуть...
ну или Path...
Добавлено через 10 минут
еще вопрос: там вроде четыре бота в смд файле. я хотел схитрить, удалить три зараза ругается.
можно ли так запустить? чтобы другие боты не отвлекали, посмотреть на развитие запустив только 1 бота.
Добавлено через 26 минут
ладно хрен с ним. поставил карту с 2 игроками. теперь как бота своего подключить? там что есть то питоновские боты, то есть с расширением .py - а как мне своего из папки php добавить? сейчас указываешь путь - игра не стартует. я так полагаю что нужно конвертануть из .php в этот .py?
__________________
хочу картинку в подпись!
Последний раз редактировалось SeregaZ, 25.10.2011 в 02:45.
Причина: Добавлено сообщение
SeregaZ, Там у тебя в папке Стартовой есть файл Makefile?
По идее нужно скомпилировать (Как с php не знаю), запихать куда поближе и проложить путь. Но у меня и на С++ и на Pascal Вузуализатор зависает и не хочет ничего делать.
неа, нету там только три файла:
Ants.php
MyBot.php
VERSION
да и смысл в них, если там в тулс есть своя папка PHP и в ней эти же файлы. не подходят ни стартовый пакет, ни указание с той родной тулс папки пхп файлов. видимо надо как-то конвертировать из пхп в путановский файл. батник тест бот тоже не пашет. пишет надо 2 ботов. я там малость не догнал как двух записывать...
Добавлено через 37 минут
все. догнал надо было изменить командный файл вместо:
ща болванки накатаю и засяду чуть не забыл! запускать сервер совсем не обязательно. он сам там с php любовью позанимался, и потом выдал результаты. стартовать аппач и все остальное не нужно. достаточно установить и потом указать путь до php.exe файла.
Добавлено через 2 минуты
кстати! вы в курсе, что при запросе в гугле - содерх вылезает на втором месте, после хабара? )))) давайте счетчик подкрутим, чтобы на первое место вылазил.
Добавлено через 2 часа 44 минуты
так. ладно. начнем разбираться, кто больше в этом соображает - подсказывайте
взял я файлик 0.replay, и посмотрел на код. так вот... были строчки:
разбито для удобства. первые координаты 51, 54 я полагаю координаты рождения муравейки? и по сути это же муравейник.
последняя циферка - 0, и 1 для второго муравейки - я так полагаю это принадлежность к команде?
третья циферка это похоже на время рождения, точней номер хода видимо, при котором муравейка родился.
а нахрена 124? что она дает?
дальше - всякие wensw это видимо команды на изменение координаты на единичку в направлении буквы - w - west - запад (вправо), e - east - восток (влево), n - north - север (вверх), s - south - саус парк (вниз)
первые две понятно координаты, 0 это время респауна жратвы. то есть 0 это значит еда уже была на момент создания карты, дальше 24 и 28 - появились на 24 и 28 ходу соответственно.
далее опять нахрена 124? или 110, или 2 или 12. что они означают?
далее пятая цифорка - я так полагаю что когда четыре это респаун, когда пять - это сожратие. то есть опять координаты, время сожратия, хрен знает параметр, и 0 или 1 - номер команды, которая сожрала.
тут пришла в голову идея, что та хрен значная цифорка айди муравьишки, который съел?
я все уточняю, чтобы понять что к чему потом надо понять как команды приходят в моего бота, и как отсылать. какой там синтаксис.
__________________
хочу картинку в подпись!
Последний раз редактировалось SeregaZ, 25.10.2011 в 17:50.
Причина: Добавлено сообщение
Добавлено через 4 минуты SeregaZ, Разбери пример бота, который в папке тулз. Я пытался Питона разобрать, пока не получается (Язык не знаю ж ведь) Вроде логику вижу, что он делает (Комментарии помагают) А вот, где он формирует команды не вижу...
интересно, а как реализовать debug? внес в пхп код, чтобы при поступлении команды doTurn( $ants ) - записывал её в тхт файл. но поскольку там походу стоит ретранслятор пхп, и там походу эта команда не поддерживается. и поэтому он скатина не пишет в мой файл ничего. без возможности посмотреть, что творится в моем коде, это дохлый номер...
issueOrder($aRow, $aCol, $direction) - это я так понимаю команда мурашу в данных координатах выдвинутся в одном из 4 направлений $direction.
passable($nRow, $nCol) - проверка на препятствие. в случае, если координаты следующего хода соответствуют препятствию (то есть воде), то хода не будет. и я так полагаю нужно будет муравьишке дать другое направление.
и как интересно получить предыдущее направление муравьишки, в случае если требуется продолжение движения именно в ту сторону? вести отдельный массив, куда будут записываться все мураши?
Добавлено через 1 час 50 минут
кароче без дебаггера ловить нефиг. ну написал я код, и что? как теперь узнать в какой линии ошибка?
__________________
хочу картинку в подпись!
Последний раз редактировалось SeregaZ, 25.10.2011 в 23:56.
Причина: Добавлено сообщение
чего чего? какой ещё ретранслятор? код выполняет твой php движок с твоего компа с твоими настройками, питоновский скрипт запускающий и взаимодействующий с ботами понятия не имеет на каком языке и через какой интерпретатор или без него выполняются боты)
Цитата:
Сообщение от SeregaZ
issueOrder($aRow, $aCol, $direction) - это я так понимаю команда мурашу в данных координатах выдвинутся в одном из 4 направлений $direction.
passable($nRow, $nCol) - проверка на препятствие. в случае, если координаты следующего хода соответствуют препятствию (то есть воде), то хода не будет. и я так полагаю нужно будет муравьишке дать другое направление.
всё так
Цитата:
Сообщение от SeregaZ
и как интересно получить предыдущее направление муравьишки, в случае если требуется продолжение движения именно в ту сторону? вести отдельный массив, куда будут записываться все мураши?
у меня в боте каждый муравей описывется классом с кучей полей, там и последнее направление движения, и последний рассчитанный для него путь к еде (не считать же его каждых ход заного), весовые коэффициенты указывающие на нежелательность перемещения во все 4 направления или оставаться на месте, и ещё много чего)
Цитата:
Сообщение от SeregaZ
кароче без дебаггера ловить нефиг. ну написал я код, и что? как теперь узнать в какой линии ошибка?
это 100%, но в файл писать точно можно, мой бот это делает спокойно)
Добавлено через 59 секунд
Цитата:
Сообщение от SeregaZ
взял я файлик 0.replay, и посмотрел на код. так вот... были строчки:
кстати формат этого файла не имеет практически ничего общего с форматом общения бота с сервером боя)
Добавлено через 16 часов 35 минут SeregaZ, вот новая статья о муравьях, очень хорошо всё описывает, так же там представлены базовые стратегии и даже пример бота на PHP который по заявлению автора держится в 50-60 местах. И там кстати про его отладку тоже написано.
Добавлено через 8 минут
интересный под конец бой http://aichallenge.org/visualizer.ph...6282&user=1234
пока рыжий атаковал своей ордой мой муравейник, а он каким то чудом стоял за счёт постоянного выплёвывания муравьёв, мои муравишьки подкрались к его респу)))
Добавлено через 4 минуты
хм, кстати получается что если много муравьев ожидают респа, то о защите муравейника в принципе можно не беспокоиться
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Последний раз редактировалось xkor, 26.10.2011 в 18:59.
Причина: Добавлено сообщение