|
|
  |
Научить пилот логике в игре Небеса |
|
|
Санчес |
4.1.2013, 21:25
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
тут напрямую картинку нельзя кинуть,только через урл?? Цитата из за тормозов сервака у меня ни чего не вышло и сча сижу в ступоре, что делать дальше, как пробовать нет ни одной мысли. вот поэтому я тоже решил сделать так чтобы не тыкал в каждый а проверял и только потом,в случае если условие ИФа соблюдено,тыкать. Вот таким шаблоном я пользовался,для наглядности выложил,чтобы проще было писать получается так что при одной из 4ех комбинаций,после того как файндколор нашел красный в первом ряду(учтено только три камня в ряд,если еще ставить приоритет на 5,4 а потом только три то добавится еще 12 выриантов)
Эскизы прикрепленных изображений
|
|
|
|
veiron |
4.1.2013, 21:27
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 4.1.2013, 22:25)  тут напрямую картинку нельзя кинуть,только через урл?? вот поэтому я тоже решил сделать так чтобы не тыкал в каждый а проверял и только потом,в случае если условие ИФа соблюдено,тыкать. Вот таким шаблоном я пользовался,для наглядности выложил,чтобы проще было писать получается так что при одной из 4ех комбинаций,после того как файндколор нашел красный в первом ряду(учтено только три камня в ряд,если еще ставить приоритет на 5,4 а потом только три то добавится еще 12 выриантов)
Так это получается 36 точек поиска + ему еще надо проверить каждый раз 7 точек вокруг. Тут наверно 30 секунд боя не хватит.
|
|
|
|
Санчес |
4.1.2013, 21:39
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Изначально не нужно было чтобы камень из С1 сдвинулся на С2 ,НО это нужно сделать только в том случае если есть два камня в д2 и е2,или в а2 и б2,или в с3 и с4..Файндколор обнаружив камень в с1 должен сделать его координаты как бы нулевыми иначе не предусмотреть все варианты,и именно поэтому пришлось задавать ему проверять именно по рядам а не все поле сразу.
Если бы он не успевал я бы не рассказывал об этом,в худшем случае,а это бывает Очень редко,он тратить 20 сек на проверку всех пяти видов фигур,есть еще нюанс это стрелочки которые появляются над фигурами на 20ой секунде,они не всегда позволяют распознать цвет,но это тоже очень редко.
так как проверять приходится по рядам то координаты задал не всего поля а только верхнего ряда,но это в первом файндколоре,есть еще и второй который будет отталкиваться от тех значений которые задал первый,это нужно для того чтобы скрипт перешел на второй ряд в случае если в первом нет НИ ОДНОГО камня.
переменные очень помогают в этом,потому как можно прибавлять не к изначальным значениям а к тем которые файндколор записал в эти переменные
|
|
|
|
veiron |
4.1.2013, 21:40
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 4.1.2013, 22:39)  Изначально не нужно было чтобы камень из С1 сдвинулся на С2 ,НО это нужно сделать только в том случае если есть два камня в д2 и е2,или в а2 и б2,или в с3 и с4..Файндколор обнаружив камень в с1 должен сделать его координаты как бы нулевыми иначе не предусмотреть все варианты,и именно поэтому пришлось задавать ему проверять именно по рядам а не все поле сразу.
Если бы он не успевал я бы не рассказывал об этом,в худшем случае,а это бывает Очень редко,он тратить 20 сек на проверку всех пяти видов фигур,есть еще нюанс это стрелочки которые появляются над фигурами на 20ой секунде,они не всегда позволяют распознать цвет,но это тоже очень редко.
так как проверять приходится по рядам то координаты задал не всего поля а только верхнего ряда,но это в первом файндколоре,есть еще и второй который будет отталкиваться от тех значений которые задал первый,это нужно для того чтобы скрипт перешел на второй ряд в случае если в первом нет НИ ОДНОГО камня.
переменные очень помогают в этом,потому как можно прибавлять не к изначальным значениям а к тем которые файндколор записал в эти переменные
Я такую задумку пытаюсь сделать с Findimage, но пока ни чего не выходит. Ты находишь каждый 1 шар, а Findimage можно найти 2, к примеру: d2 и e2, у тебя остается 5 точек поиска, это c1, d2, c3, f1, f3, но вот связать все это вместе не получается.
|
|
|
|
veiron |
4.1.2013, 21:45
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 4.1.2013, 22:44)  я пользуюсь массивом 1 1 и 1 2 и все,остальные не нужны так как файндколор проверяет ряд,находит три камня например,и когда проверяет первый из найденных и не находит комбинации то "убегает" в конец скрипта,там меняются координаты и поиск повторяется но не сначала а "после" этого первого камня.Короче замудрил я тут похоже (IMG: style_emoticons/default/smile.gif) Ну да, дело ясное, что дело темное) А так принцип тот же, я так понимаю. Тебе надо проверять ряды, а тут надо проверять как то точки возле найденных двух.
|
|
|
|
Санчес |
4.1.2013, 21:46
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Цитата не выходит. Ты находишь каждый 1 шар, а Findimage можно найти 2, фаиндколор также находит все камни в том ряду в котором задан поиск сет логгинг это показывает и очень хорошо что есть такая полезная вешь,респект автору (IMG: style_emoticons/default/smile.gif)
|
|
|
|
veiron |
4.1.2013, 21:58
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 4.1.2013, 22:52)  единственное отличие которое я вижу между твоей задей и моей в свое время,это искать третий по наличию двух,в то время как я "искал" два по наличию одного,хотя я пробовал и так как ты предлагаешь и скажу что для проверки всех "трех-каменых" комбинаций в квадрате 3*3=9 ячеек(а не 6*6=36) и только одного цвета,мне пришлось написать условия на 24 варианта,и когда я подумал сколько их придется писать на все поле,да еще и на пять цветов...я передумал (IMG: style_emoticons/default/smile.gif) И подумал что быстрее будет перейти на следующий ряд.. Принцип твоего скрипта понимаю, а как реализовать нет. Это та же картина что и я пытаюсь сделать, только наоборот. я ищу 2 и хочу добавить 3, а у тебя поиск 1 и добавляется 2.
|
|
|
|
Санчес |
4.1.2013, 22:10
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Я стараюсь не пользоваться словами которые могут применять в зарезевированых переменных и вообще английскими,хотя неплохо знаю его,именно по причине конфликтов поэтому попробуй любое другое слово даже на кирилице,это первое,во вторых... я не присваивал переменным записи в лог а просто писал сет логгинг Удача Цитата наоборот. я ищу 2 и хочу добавить 3, а у тебя поиск 1 и добавляется 2. Понимаешь в чем проблема основная я задаю двигать найденный камень а ты хочешь сдвинуть не просто соседний от найденного а возможно тот который находится аж через 3 ячейки от него,систему изменения координат сложнее продумать представь сколько вариантов нужно учесть при проверке соседних ячеек.. навскидку это... 12 вариантов,но при этом двигать с одной стороны нужно относительно первого камня,а если с другой стороны то относительно второго,и по вертикали также... я пока не совсем "вижу" схему действий.. нужно же чтобы все три камня "знали" о положении других относительно себя..
|
|
|
|
veiron |
4.1.2013, 22:50
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 4.1.2013, 23:34)  (IMG: style_emoticons/default/smile.gif) Я с ним тоже пока не разбирался,а насчет того что ты понял - координаты не каждой ячейки а области,в моем случае это один ряд из 6ти ячеек,а сколько их там надется и по каким координатам файндколор запишет в массив 1 1 и 1 2 если найден только один,если же найдено больше то тоже запишет в 21 22,31 32 и теде,но в моем случае мне важны только координаты первого найденного ты говоришь файндколору искать с а1 до ф1 и все что найдет записать в массив Вот что получилось, и так нада сделать 6 раз для всех от а1 до а6 ?? Код set $a findcolor (280, 204 365, 325 1 1 786554 %s 2) set #w size (%s) for #i 1 set #x %s [1 1] set #y %s [1 2] end_for
Только он нашел в одной линии 2 шара далеко друг от друга. С Findimage проще там нарезал картинку сразу на два шара. а как findcolor сделать, что бы он 2 вместе искал. Цитата(Zeleax @ 4.1.2013, 23:32)  Покажите, пожалуйста, любой пример с вики или с Полезных советов, где написано что-либо подобное: for #i #i + 1
... Ладно, можете не искать. Нет такого
Знаю, что нет. Это я от таймера пытался кусок кода добавить.
|
|
|
|
Санчес |
4.1.2013, 23:04
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Цитата Вот что получилось, и так нада сделать 6 раз для всех от а1 до а6 ?? Код
set $a findcolor (280, 204 365, 325 1 1 786554 %s 2) set #w size (%s) for #i 1 set #x %s [1 1] set #y %s [1 2] end_for
насчет фора ничего не скажу так как не понимаю его пока,а насчет фколора по идее координаты должны меняться только по горизонтали раз ты проверяешь ряд то есть 280, 204 365, 204! и шаг 1 1 может ошибочно найти два пикселя в одном камне а считать их за два камня Цитата что бы он 2 вместе искал.
фколор наверное не найдет два,но с помощью ифа можно проверить есть ли рядом с найденым еще один или больше
|
|
|
|
veiron |
4.1.2013, 23:13
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(Санчес @ 5.1.2013, 0:04)  насчет фора ничего не скажу так как не понимаю его пока,а насчет фколора по идее координаты должны меняться только по горизонтали раз ты проверяешь ряд то есть 280, 204 365, 204! и шаг 1 1 может ошибочно найти два пикселя в одном камне а считать их за два камня фколор наверное не найдет два,но с помощью ифа можно проверить есть ли рядом с найденым еще один или больше
Убрал фор,сделал шаг 1 2 задал область поиска от а1 до f1 , нашлось два шара нужного цвета, только находились они далеко друг от друга. Как с помощью ифа проверить что бы в этой линии искал два которых рядом ? Код set $a findcolor (278, 124 324, 371 1 1 786554 %s 2) if $a > 0 set #x %s [1 2] set #y %s [1 2] msg нашел // красный найден else msg красный не найден end_if
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|