Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - blazzed

Pages: [1]
1
Ааааа. Ну если мыслить частностями. Я же расчитываю на все случаи жизни. А если будет 12 на 12 ???

Тем более мне плевать какая там строка, всё равно перебираем переменные в цикле. Я к конкретной вручную не обращаюсь.
Что-то типа $map[$sost_X+$sost_Y*$max_X]

Ну если будет 12 на 12, то можно использовать 1000*$a+$b (1212 в данном случае, или 1001 для $a=1, $b=1). Данное соответствие необходимо больше для наглядности логики решения задачи, чем для какой-то функциональной нагрузки.

В любом случае, спасибо за скрипт. Там есть реализация того, что я хотел получить. Хотя и немного в другой форме. В свободное время попытаюсь осилить его и модифицировать под свои нужды  :)

2
Только не
Code: (clickermann) [Select]
$var[10*$a + $b]а
Code: (clickermann) [Select]
$var[6*$a + $b]

Как раз 10*$a, тогда у нас любая переменная будет иметь порядочный вид (12, 44, 32, 65, и т.д.) И мы сможем, зная место в массиве, вытащить её в любой момент.
Во всяком случае, для меня более понятная логика (первая цифра - ряд, вторая строка)

3
Посмотри здесь
http://crapware.aidf.org/forum/index.php?topic=1047.0

Огромное спасибо, даёт ответы на все мои вопросы  :D


Крис Тинка, спасибо за
Code: (clickermann) [Select]
$var[10*$a + $b]Его стоит взять на вооружение... Во всяком случае до тех пор, пока не будут реализованы двухмерные массивы

4
тебе нужно использовать массивы.

Да, но тут жёсткая привязка к расположению точек. Если бы можно было создать двумерный массив, то этого вопроса не было. А мне на основе каждой точки надо найти по определённым шаблонам две соседние, у которых такие же пиксели.
Пример:
Code: (clickermann) [Select]
FOR ($a, $a<6)
FOR ($b, $b<6)
IF (($var$a$b = $var$a-1$b+1) & ($var$a$b = $var$a$b+2))
LOGWRITE ("BINGO ", $a,$b, " ", $a+1,$b, " ", $a+1,$b+1)
HALT
END_IF
END_CYC
END_CYC

P.S. Это всё делается для игры 3 в ряд, где есть поле размером 6х6.

5
Доброго времени суток!
Возникла недавно задача считать 36 точек с экрана (квадрат 6х6) и найти одинаковые. Координаты точек я узнал, но как их получить?

Вот пример скрипта (цикл в цикле)
Code: (clickermann) [Select]
$x = 100
$y= 100
$c = -41
$d = -41

GETSCREEN

FOR ($a, $a <6)
   Inc ($d, 41)
   $c = -41
   FOR ($b, $b <6)
      Inc ($c, 41)
     
     
      $var$a$b = pxl ($x+307+$c,$y+144+$d)
      LOGWRITE ("a = ",$a , " b = ", $b, " " ,$var$a$b)
     
   END_CYC
END_CYC

Вызов любой переменной (к примеру, $var10) возвращает ноль.

Кто сталкивался с такой проблемой, подскажите, в чём ошибка?

Pages: [1]