Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
0 Members and 6 Guests are viewing this topic.
В кликерманне линейные массивы. Можно сделать псевдо-многомерные массивы. Например псевдо-двумерный массив(таблица 100х100) ячейка 45х53Code: (clickermann) [Select]$a = 45$b = 53$var[100*$a + $b] = 254print ($var[4553])halt
$a = 45$b = 53$var[100*$a + $b] = 254print ($var[4553])halt
О бох мой какая женщина, родите мне сына!!!
А как передать массив в качестве параметра в процедуру?
кстати, про явное объявление типа переменной в контексте доведения скриптового языка до языка программирования - идея неплохая, на мой взгляд. На данный момент, конечно, просто получается скрипт, но некоторые моменты удручают. Не в обиду автору, всё равно работа неслабая проделана. СПС "от сердца и почек"
"явное объявление типа переменной" и так было в версиях 4.с мелочью, от них отказались и сделали динамическую типизацию. Кликер всё-таки не C++ и так новичкам трудно.
ARRPUSH($arr, 4)$a = INT(ARRPOP($arr))$b = $a + 1LOGWRITE ($b)HALT
Стоит добавить, что массивы, как и переменные хранят свои значения. Поэтому последовательный вызов двух scanpicture (например) без извлечения элементов через arrpop приведет к тому что у вас будет двойная очередь координат. Поэтому если вам для работы необходим «чистый» массив, то не забывайте высвобождать память, путем вызова undifine($var). Тут все как для переменных.
Могу, конечно, ошибиться, но arrpop похожу удаляет элемент массива только в том случае, если есть куда передать вытаскиваемый элемент, т.е. logwrite(arrpop($var)) удалит элемент, а arrpop($var) - нет, что заставило меня долгое время чесать репу)
FOR($a=0,$a<7) // создаем массив $arr[$a] = 0END_CYC$arr[6] = 5FOR($a=0,$a<7) LOGWRITE ($arr[$a]) // смотрим что получилосьEND_CYCHALT
А есть ли возможность поместить в массив ивенты, то биш клики по скажем 5 заданным координатам, а потом рандомно через RNDFROM их оттуда вынимать
$r = RND(1,5)SWITCH($r)CASE(1) LCLICK(100,100)CASE(2) LCLICK(200,100)CASE(3) LCLICK(300,100)CASE(4) LCLICK(400,100)CASE(5) LCLICK(500,100)DEFAULTEND_SWITCHWAITMS(100)