|
|
|
Научить пилот логике в игре Небеса |
|
|
xolost |
4.1.2013, 5:43
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Арррр... Бросил все свои дела и занялся этой задачкой. На столько вот она меня заинтриговала. 2 часа бился с тем, что бы собрать в один массив все элементы. Когда понял почему результат был в корне неверный целый 1 час и 35 минут, чуть не лопнул! Вероятно из-за конвертации в гиф текущей картинки, все - абсолютно все ячейки очень конкретно отличаются друг от друга! ! ! поэтому пришлось тупо откопипастить все 5 элементов на все 36 ячейки. И всё сразу заработало как надо(IMG: style_emoticons/default/smile.gif) Осталось написать алгоритм передвижения ячеек. Как происходит процесс? Делаем 1 клик на одну ячейку, затем на соседнюю 1 клик и ячейки меняются местами? P.S. на скрипт сбора всех элементов в один массив уходит 171 мс (В моем случае). Интересно узнать сколько в ваших случаях получается.
|
|
|
|
xolost |
4.1.2013, 5:56
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Цитата Если вам конвертнуть содержимое сайта в транслит на китайский, то у вас проблем не возникнет?) Гиф не поддерживается. Только бмп. Неоффициально было обнаружено, что пнг кушает, но тут без гарантий. ХАхаха.. не.. тут по другому. Я скачал этот гиф, из него нарезал 5 видов шариков в бмп. Ну и ищу их в этой общей картинке. Цитата Тут очень много зависит от размера картинок. При вашем алгоритме полностью оставляется карта всего поля или только определенных шариков? Если вопрос я понял верно, то, разумеется всё поле. Т.е. получается массив с 36 ячейками как на картинке. Но что-то мне подсказывает, что неверно я его понял...
|
|
|
|
veiron |
4.1.2013, 9:42
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(xolost @ 4.1.2013, 6:43) 2 часа бился с тем, что бы собрать в один массив все элементы. Когда понял почему результат был в корне неверный целый 1 час и 35 минут, чуть не лопнул!
Огоооооо, если у Вас на это уходит столько времени, то у меня на это наверно уйдут ГОДЫ. Цитата Я скачал этот гиф, из него нарезал 5 видов шариков в бмп. Ну и ищу их в этой общей картинке. То есть, 2 шарика вместе не надо, надо както пытаться искать по одному? Цитата(DarkMaster @ 4.1.2013, 2:43) почему в фор единицы то? Вдумайтесь в механизм. Напишите для каждой единицы, почему вы считаете, что там должна быть единица. Скорее всего пока пишите, все поймете сами. Для сравнения массивов необходимо не только перебирать, но и сравнивать результаты. if в руки и вперед, результаты устраивающие пишите в новый массив.
Если я заменю единицу, то фор будет на одно действие выполнять много раз, а мне надо проверил и перешел дальше. Я попробовал, записать в массив найденных 2 шарика, потом потом одному шарику указал область поиска вокруг найденных двух. Ведь возле двух всего 6 точек нахождения 1 шара, который можно использовать, а потом попытался кликнуть в каждую точку из 6 и подвинуть к найденным 2 шарам. Первый раз вроде сработало, а потом не хочет, вроде есть шары, можно двигать, а он проходит мимо. Да и скрипт если взять все цветы выйдет такой длинный, что 30 секунд отведенных на бой не хватит.
|
|
|
|
xolost |
4.1.2013, 10:33
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Цитата(veiron @ 4.1.2013, 10:42) Огоооооо, если у Вас на это уходит столько времени, то у меня на это наверно уйдут ГОДЫ.
Неет. Я же говорю, на разработку логики и написание ушло 25 минут. А Остальное время - отладка, т.е. выяснение, почему же не работала логика. Оказалось всё просто, дело было не в бабине - дело было в картинке. )) Да и я ещё сам зелен, мне ещё учиться и учиться. Просто данная задачка для меня новая, ранее в ботах что я писал - не требовалось такой. Вот меня и заинтересовала она. Причем очень) Цитата То есть, 2 шарика вместе не надо, надо както пытаться искать по одному?
Ну, если искать только по два шарика, то как найти один, который нам нужно подвинуть к двум другим? Цитата Ведь возле двух всего 6 точек нахождения 1 шара, который можно использовать, а потом попытался кликнуть в каждую точку из 6 и подвинуть к найденным 2 шарам.
Стоп! Правильно ли я понял, при каких-то условиях шарики не будут двигаться? Я имею ввиду логику самой игры? вообще, можете правила чуть описать? что надо делать и что можно делать?
|
|
|
|
veiron |
4.1.2013, 10:43
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(xolost @ 4.1.2013, 11:33)
Ну, если искать только по два шарика, то как найти один, который нам нужно подвинуть к двум другим? Стоп! Правильно ли я понял, при каких-то условиях шарики не будут двигаться? Я имею ввиду логику самой игры? вообще, можете правила чуть описать? что надо делать и что можно делать?
Принцип боя прост. Собираешь красные, желтые, зеленые и тебе дается манна. Черепа это урон. А кресты это лечилки. Шарики не двигаются только в том случаи, если они немогут составится хотябы в одну тройку шаров, может быть составление от 3 до 6 шаров вместе. Вернее он двигается и сразу возвращается на свое место, если нет совпадения нужного цвета. ТАм больше чем 6 точек. Но если два шара находятся друг возле друга, то остается только 6 точек откуда можно подвинуть еще шар и тройка будет собрана(пример: имеем 2 шара вертикально,значит к нему можно прдставить только сверху слева и справа и по центру через одну клетку. Снизу точно также. Все остальные точки расположения одиночного шара, будут не срабатываемыми, для составления тройки.
|
|
|
|
xolost |
4.1.2013, 11:02
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Цитата(DarkMaster @ 2.1.2013, 22:21) 2) В найденном массиве сличаем элементы.
Хотя вот про это мне всё ещё хочется сильно узнать. Представим что задача такая какой я понял её изначально. Т.е. мы имеем массив как на картинке, только вместо графических элементов - названия картинок. Как их сличивать? Цитата Если напишите полноценный выигрышный алгоритм- сниму шляпу и поставлю пиво. З.Ы.: у меня не получилось ))
Ого!!! Ради такого стоит зайти туда и завершить дело))) Ясно дело что вы справитесь, если будет стоящая мотивация)) ВОобщем, попробую, скажу как что.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|