1
Общие вопросы / масив
« on: July 12, 2017, 10:29:43 PM »
не могу понять с этими циклами массивами а через условия много писать и редактировать не удобно
Code: (clickermann) [Select]
STRSEPARATE("св1,ОГ,СВ,ОГВ",",",$pzlo)
STRSEPARATE("19лвл,18лвл,17лвл,16лвл",",",$lvl)
//....
SUB(лвл)
go:
FOR($zlo=0,$zlo<ARRSIZE($pzlo))
GETSCREEN ($xx-34,$yy+372,$xx+132,$yy+546)
COLORMODE(7, $xx-34,$yy+372,$xx+132,$yy+546)
IF_PICTURE_IN($xx-34,$yy+372,$xx+132,$yy+546,STRCONCAT($pzlo[$zlo],".bmp"),-1,90) //проверяем не нашлась ли любая картинка из всего списка (pzlo) если нашлась любая из списка нападаем выходим из цикла
///
LOGWRITE ("моб подошел")
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
$tim1234 = $_time_t + 10
WHILE($tim1234 > $_time_t)
GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
$tim1234 = 0
INC($_zlo,1)
m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(3000,5000))
$hod_1=1
goto(hod)
ELSE
WAITMS(500)
END_IF
END_CYC
///
$zlo=99
ELSE
WAITMS(50)
END_IF
END_CYC
IF($zlo<99) // если не нашлась ни одна из списка (pzlo) проверяем другой список (lvl)
//
//SCREENSHOTEX($xx-34,$yy+372,$xx+132,$yy+546, "Image_", 0)
FOR($l_vl=0,$l_vl<ARRSIZE($lvl))
GETSCREEN ($xx-13,$yy+50, $xx+6,$yy+74)
IF_PICTURE_IN($xx-13,$yy+50, $xx+6,$yy+74,STRCONCAT($lvl[$l_vl],".bmp"),-1,90) //проверяем другой список если есть любая из этого списка выполняем и выходим из цыкла
//
LOGWRITE ("есть нужная")
GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
LOGWRITE ("таймер")
m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,1900))
WAITMS(10)
ELSE
прогон()
END_IF
//
$l_vl=999
ELSE
WAITMS(50)
END_IF
END_CYC
IF($l_vl<999) //если не нашлось и из этого списка (lvl) картинки делаем клик и возвращаемся в начало к проверке картинок из списка(pzlo)
LOGWRITE ("лвл не подошел")
m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,1900))
goto(go)
END_IF
END_IF
END_SUB
//....