16
Использование / Re: «Pearls before swine»
« on: November 30, 2018, 08:26:36 PM »Если кто предложит вариант попроще - можно попробовать.
При 6 колормоде сканпикчер довольно хорошо находит. Правда, если рядов шесть, то в последнем графика чуть меняется (пришлось сделать два шаблона жемчужин). В целом, ручной режим с подсказками готов.
Code: (clickermann) [Select]
GETSCREEN
colormode(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "base.bmp", -1, 90)
// print("base+")
$x_b=$_return1
$y_b=$_return2
end_if
WHILE(1)
$l[0] = 0
$l[1] = 0
$l[2] = 0
$l[3] = 0
$l[4] = 0
$l[5] = 0
$l[6] = 0
UNDEFINE($ARR_SCAN) //т.к. тут лежат координаты жемчужин, лучше будем чистить в начале, чтобы в будущем в автоматическом режиме не сильно мучиться с тем, куда кликать (сдвигать где-то на +3, +3)
SCANPICTURE($ARR_SCAN, $x_b-55,$y_b+15,$x_b+694,$y_b+200, "pearl.bmp", -1, 98)
SCANPICTURE($ARR_SCAN, $x_b-55,$y_b+120,$x_b+694,$y_b+200, "pearl2.bmp", -1, 97)
Print(ARRSIZE($ARR_SCAN)/2)
$A=$ARR_SCAN[1]
$b=0
FOR ($i=1,$i < ARRSIZE($ARR_SCAN),2)
If($a<$ARR_SCAN[$i])
$a=$ARR_SCAN[$I]
INC($b,1)
End_if
$l[$b]=$l[$b]+1
End_cyc
//Print(" ",ARRSIZE($l))
print($l[0] , " ", $l[1], " ",$l[2], " ", $l[3], " ",$l[4], " ", $l[5], " ",$l[6])
$i = 0
$l_mem = $l[$i]
WHILE($l[0] ^ $l[1] ^ $l[2] ^ $l[3] ^ $l[4] ^ $l[5] ^ $l[6]) //
$l[$i] = $l[$i] - 1
IF($l[$i] = -1)
$l[$i] = $l_mem
inc($i)
$l_mem = $l[$i]
END_IF
END_CYC
If(($l[0]<2)&($l[1]<2)&($l[2]<2)&($l[3]<2)&($l[4]<2)&($l[5]<2)&($l[6]<2))
Print("1 или 1-1-1 или 1-1-1-1-1")
Else
print($l[0] , " ", $l[1], " ",$l[2], " ", $l[3], " ",$l[4], " ", $l[5], " ",$l[6])
End_if
Print("для продолжения нажмите SHIFT")
WHILE(ISKEYDOWN(#shift)=0)
waitms(50)
END_CYC
WHILE(ISKEYDOWN(#shift)=1)
waitms(50)
END_CYC
GETSCREEN ($x_b-55,$y_b+15,$x_b+694,$y_b+200)
colormode(6,$x_b-55,$y_b+15,$x_b+694,$y_b+200)
END_CYC
halt
P.S. dramster, как в голову вообще могло прийти такое решение? Великолепно же! Я два дня рылась в справке, пытаясь понять, что там происходит и почему вообще это может работать , уже была готова сдаться и просить объяснений)