|
|
|
Научить пилот логике в игре Небеса |
|
|
Zeleax |
4.1.2013, 11:20
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Цитата(xolost @ 4.1.2013, 12:02) Хотя вот про это мне всё ещё хочется сильно узнать.
Представим что задача такая какой я понял её изначально. Т.е. мы имеем массив как на картинке, только вместо графических элементов - названия картинок. Как их сличивать?
Даю подсказку: - каждую картинку кодируете числом. Одинаковые картинки имеют одинаковое числовое значение - отличающиеся картинки имеют различный приоритет важности, т.е. одни картинки собирать предпочтительнее, чем другие, чтобы выиграть. - в итоге получаете матрицу 6x6 типа 1 1 2 3 4 3 1 3 5 7 4 5 ... 3 4 5 3 1 2 Осталось малое - написать логику перестановки соседних ячеек для достижения оптимального результата ) Не так сложно сделать, чтоб собирались по 3 одинаковые картинки рядом. Но это будет то же самое, как в шахматах просто тупо передвигать фигуры туда, куда они могут походить, а не куда разумно это сделать. Здесь нужно выбирать оптимальные перестановки и анализировать, что произойдет после их выполнения. Сообщение отредактировал Zeleax - 4.1.2013, 11:27
--------------------
|
|
|
|
xolost |
4.1.2013, 15:59
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Цитата(Zeleax @ 4.1.2013, 12:20) Даю подсказку: - каждую картинку кодируете числом. Одинаковые картинки имеют одинаковое числовое значение - отличающиеся картинки имеют различный приоритет важности, т.е. одни картинки собирать предпочтительнее, чем другие, чтобы выиграть. - в итоге получаете матрицу 6x6 типа
1 1 2 3 4 3 1 3 5 7 4 5 ... 3 4 5 3 1 2
Осталось малое - написать логику перестановки соседних ячеек для достижения оптимального результата )
Не так сложно сделать, чтоб собирались по 3 одинаковые картинки рядом. Но это будет то же самое, как в шахматах просто тупо передвигать фигуры туда, куда они могут походить, а не куда разумно это сделать. Здесь нужно выбирать оптимальные перестановки и анализировать, что произойдет после их выполнения.
1 1 2 3 4 3 1 3 5 7 4 5 ... 3 4 5 3 1 2 Именно так у меня и выглядит текущий массив, цифрами. Т.е. а дальше по прежнему иф на ифе ифом погоняет для этих перестановок? Цитата Я ради такого благого дела могу дать аакаунт с персом 2 уровня не требуется) я уже глянул в кратце, жестковато-то там) Цитата Да еще забыл сказать, в игре очень часто случаются тормоза. То есть,нашел нужный шарик, кликаешь переместить в нужную точку, и ни чего не происходит, так может продолжаться и 5 секунд, потом ход отвиснет и шар переместится. да это ерунда.
|
|
|
|
Санчес |
4.1.2013, 18:35
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Хм (IMG: style_emoticons/default/smile.gif) оказалось не только я этим занимаюсь..Ну тогда во первых всех с Новым Годом,а во вторых кое что напишу по теме... Пилот изучаю недавно и некоторые люди тут уже мне помогли советом,я тоже думал как решить "афк режим" для "Небес",уложился в 200 строк,один скрипт работает с учетом приоритетов по цветам(но не колличеству,пока не дописал еще за ненадобностью).Скрипт перебирает камни(не просто тычет беспорядочно как я думал сначала "отделаться",но из за тормозов сети получался бардак на поле),а теперь он тычет только если комбинация есть.Если интересно поделюсь опытом и кое какие нюансы расскажу (IMG: style_emoticons/default/wink.gif) Цитата(Zeleax @ 4.1.2013, 10:20) Даю подсказку: - каждую картинку кодируете числом. Одинаковые картинки имеют одинаковое числовое значение - отличающиеся картинки имеют различный приоритет важности, т.е. одни картинки собирать предпочтительнее, чем другие, чтобы выиграть. - в итоге получаете матрицу 6x6 типа
1 1 2 3 4 3 1 3 5 7 4 5 ... 3 4 5 3 1 2
Осталось малое - написать логику перестановки соседних ячеек для достижения оптимального результата )
Не так сложно сделать, чтоб собирались по 3 одинаковые картинки рядом. Но это будет то же самое, как в шахматах просто тупо передвигать фигуры туда, куда они могут походить, а не куда разумно это сделать. Здесь нужно выбирать оптимальные перестановки и анализировать, что произойдет после их выполнения.
Я разметил для себя это поле по принципу морсокого боя (IMG: style_emoticons/default/smile.gif) от A1 до F6,удобно.. Да..заклинания тоже включены в скрипт(сначала в разных делал) и работаю по приоритету с учетом уровня маны(правда не так точно как хотелось бы из за именяемого ее колличества) и камни перебираются только если заклинания не могут быть выполнены. ну и элики конечно тоже,но в принципе главной задачей было конечно разобраться камнями на поле.. так как про переменные мне тут доходчиво объяснили и их использование,как я и ожидал,упростили решение,скрипт получился короче чем в ранних его версиях,команды/операторы использовал простые - findcolor,repeat,if....
|
|
|
|
Санчес |
4.1.2013, 18:55
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
просчета нет,логика такова что в большинстве случаев после того как происходит правильная смена камней ход передается противнику,если же нет то скрипт начинает сначала с того же,в моем случае,поиска красных камней в первую очередь,потом желтых и теде.. я сделал так чтобы сначала искал красные(потому как они дают больше маны для заклинаний).Если находит комбинацию из красных то переставляет и возвращается в начало,если ход перешел противнику то ждем,если нет то снова ищет красные. так как на сам ход уходит некоторое время сделал задержку после того как переставил камни,если ход перешел то обычным "гото" скрипт стоит в начале и ждет пока снова ход не перейдет ко мне в целом добился полного "афк" в бою,ну и небольшие скриптики(отдельные) для других функций(выбор противника,начало боя,завершение,забор или продажа предметов,и снова выбор противника),но это уже другая история (IMG: style_emoticons/default/smile.gif) конечно хотелось бы укоротить и упростить скрипт(ы),над чем и работаю,но то что есть работает безупречно,за исключением ошибки памяти,которая благо редко выскакивает.Тестировал несколько раз разные варианты,за 10 десять часов подряд сбоев не было.
|
|
|
|
Санчес |
4.1.2013, 20:51
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Цитата Такой длинный топик получился, и ни одного примера, все одни слова. Только сведующие люди и понимают о чем вы все тут пишите. А простым смертным этих слов и не понять то.
Вейрон,я Саша,если че (IMG: style_emoticons/default/smile.gif) давай так,схема действий сначала а ответы потом ок ? Я написал в самом начале что у меня получилось и спросил кому интересно,ты ничего не написал,я не предлагаю потому как,повторюсь,только начинающий в этом деле,поэтому возможно то что я сделал кому то покажется громоздким например,а может много лишнего и именно поэтому я не выкладываю скрипт а пишу то решение которое я в нем реализовал.Я же прочитал то что было написано на предыдущих страницах,и не все что там написано я понял,поэтому,так как я не DarkMaster и Zeleax и не любой другой знающий чел а такой же,как ты выразился "смертный" то я тебя понимаю и готов помочь тем что знаю,ты главное конкретный вопрос задай,тебе нужно только "вот это" или "это,и это,и потом это".
|
|
|
|
Санчес |
4.1.2013, 21:06
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
независимо от вопроса скажу об одном нюансе,так получилось что когда писал этот скрипт то сделал так чтобы файндколор искал камни не на всем поле,а по рядам сверху вниз(хотя на мой взгляд было бы лучше,но у меня не вышло,ошибку написал,видать не предусмотрено или я просто не знаю пока как это сделать),и когда все заработало так как я хотел,я задался вопросом а почему по рядам?Решил подправить так чтобы все таки все поле охватить - не вышло,поэтому пока так и оставил.Все это к тому что если тебя устраивает такая схема - допустим: поиск цвета в 1ом ряду по горизонтали.. во 2ом... 3 4 5 6... Если не найдено ни одной комбинации (из трех камней),пять и четыре это дополнительные строки которые я пока не хочу добавлять,о другом думаю,ТО переход на другой цвет и снова сверху вниз по рядам. Хочешь - поделюсь (IMG: style_emoticons/default/smile.gif) у нас немного разные схемы,во первых я пользуюсь файндколором.потому как мне кажется это быстрее,и так как достаточно надежно я на нем и остался,во вторых ИФом,смотри.... Ищем цвет в ряду,если нет переходим на следующий ряд(но это else),основное же тело ИФа это проверить есть ли камни рядом для того чтобы сложилась комбинация из трех в ряд(ну или случайно из 4 или 5. конечно с файндимижджем поиск упрощается,потому как тебе не нужны некоторые параметры которые нужны при юзании файндколора,но так как я только изучаю все ето дело я воспользовался тем что мне подошло на тот момент.
|
|
|
|
veiron |
4.1.2013, 21:06
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(Санчес @ 4.1.2013, 22:04) независимо от вопроса скажу об одном нюансе,так получилось что когда писал этот скрипт то сделал так чтобы файндколор искал камни не на всем поле,а по рядам сверху вниз(хотя на мой взгляд было бы лучше,но у меня не вышло,ошибку написал,видать не предусмотрено или я просто не знаю пока как это сделать),и когда все заработало так как я хотел,я задался вопросом а почему по рядам?Решил подправить так чтобы все таки все поле охватить - не вышло,поэтому пока так и оставил.Все это к тому что если тебя устраивает такая схема - допустим: поиск цвета в 1ом ряду по горизонтали.. во 2ом... 3 4 5 6... Если не найдено ни одной комбинации (из трех камней),пять и четыре это дополнительные строки которые я пока не хочу добавлять,о другом думаю,ТО переход на другой цвет и снова сверху вниз по рядам. Хочешь - поделюсь (IMG: style_emoticons/default/smile.gif) у нас немного разные схемы,во первых я пользуюсь файндколором.потому как мне кажется это быстрее,и так как достаточно надежно я на нем и остался,во вторых ИФом,смотри.... Ищем цвет в ряду,если нет переходим на следующий ряд(но это else),основное же тело ИФа это проверить есть ли камни рядом для того чтобы сложилась комбинация из трех в ряд(ну или случайно из 4 или 5. Ты спрашиваешь хочу ли я) Меня устроит любой вариант. Мне вообще то и не нужен полноценный супер логический скрипт для этого боя. Если ты в нее играешь, то знаешь, что 2 пропущенных хода заканчиваются поражением, и если у тебя кончились крест и квадрат ты тоже ждешь 30 секунд. Так вот я хочу сделать скрипт что бы он не пропускал ходы, а складывал шарики и передавал ход. А завалить я его завалю своим дамагом.
|
|
|
|
Санчес |
4.1.2013, 21:17
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Меня волновал тот же вопрос что и тебя в общем,"Как объяснить шарику,именно тому шарику который был найден,а не тем которые рядом с ним,что Если(один из вариантов,всего их у меня получилось 16) через три ячейки от него шарик того же цвета и (and) через 2 ячейки тоже шарик того же цвета,то клик по нему и по соседней ячейке в направлении тех двух.Ща попробую закинуть картинку с шаблоном. Цитата знаешь, что 2 пропущенных хода заканчиваются поражением, и если у тебя кончились крест и квадрат ты тоже ждешь 30 секунд. Так вот я хочу сделать скрипт что бы он не пропускал ходы, а складывал шарики и передавал ход. Знаю и именно поэтому занялся вплотную этим вопросом,хотя сначала просто рандомно "лефтал" по полю со скростью 100мс и ничего хорошего из этого не вышло (IMG: style_emoticons/default/smile.gif) все камни скучковались в одной точке и фиг поймешь что там где,слишком много запросов на сервер видать он и виснет.. Ну а раз устроит то объясню.. меня еще один момент озадачил к этому это "Удачный ход" (IMG: style_emoticons/default/smile.gif) он тоже мешает потому как и крест и квадрат использованы,а у "Девы" нет другого заклинания завершающего ход(а даже если бы и был то не факт что не будет третьего удачного).
|
|
|
|
veiron |
4.1.2013, 21:18
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(Санчес @ 4.1.2013, 22:15) все камни скучковались в одной точке и фиг поймешь что там где,слишком много запросов на сервер видать он и виснет.. Ну а раз устроит то объясню.. меня еще один момент озадачил к этому это "Удачный ход"
Вот и я так поробовал, шарики собираются в кучи и толку нет. Пробовал найти 2 одного цвета потом по 3 точкам с одной сотороны кликнут, что бы если есть то пододвинуло 3 шар, из за тормозов сервака у меня ни чего не вышло и сча сижу в ступоре, что делать дальше, как пробовать нет ни одной мысли. Я против удачного хода, даже голым выходил на бой, что бы его не ловить, и все равно он выпадает, и 5 камней еще надаедают не меньше. Мне не бой важен, а пройгыш, но что бы быстрый. Мне надо, армии мультов поднять уровни.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|