Автор Тема: Массивы  (Прочитано 26663 раз)

0 Пользователей и 1 Гость просматривают эту тему.

aden

  • Оплот сообщества
  • ****
  • Сообщений: 363
    • Просмотр профиля
Re: Массивы
« Ответ #15 : Март 26, 2014, 02:49:56 pm »
« Последнее редактирование: Март 26, 2014, 02:52:12 pm от aden »
vk.com/clickermannclubskype: aden16rus
Скрипты для троецарствие | darkorbit | драконы вечности | timezero

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 2943
  • Лечу куда хочу. cman 4.11.003, xp32
    • Просмотр профиля
Re: Массивы
« Ответ #16 : Март 26, 2014, 03:57:30 pm »
О бох мой какая женщина, родите мне сына!!!

В очередь!

relic00

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Массивы
« Ответ #17 : Июль 11, 2014, 07:23:42 am »
А как передать массив в качестве параметра в процедуру?

aden

  • Оплот сообщества
  • ****
  • Сообщений: 363
    • Просмотр профиля
Re: Массивы
« Ответ #18 : Июль 11, 2014, 07:40:07 am »
А как передать массив в качестве параметра в процедуру?
ищите ответ в этой теме
http://crapware.aidf.org/forum/index.php?topic=1296.0
vk.com/clickermannclubskype: aden16rus
Скрипты для троецарствие | darkorbit | драконы вечности | timezero

Dampil

  • Освоившийся
  • **
  • Сообщений: 43
    • Просмотр профиля
Re: Массивы
« Ответ #19 : Август 13, 2014, 03:31:32 pm »
кстати, про явное объявление типа переменной в контексте доведения скриптового языка до языка программирования - идея неплохая, на мой взгляд. На данный момент, конечно, просто получается скрипт, но некоторые моменты удручают. Не в обиду автору, всё равно работа неслабая проделана. СПС "от сердца и почек" :D
« Последнее редактирование: Август 13, 2014, 03:43:56 pm от Dampil »
"Если вам кажется, что ситуация улучшается, значит, вы чего-то не заметили" Следствие из второго закона Чизхольма

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 2943
  • Лечу куда хочу. cman 4.11.003, xp32
    • Просмотр профиля
Re: Массивы
« Ответ #20 : Август 13, 2014, 04:18:32 pm »
кстати, про явное объявление типа переменной в контексте доведения скриптового языка до языка программирования - идея неплохая, на мой взгляд. На данный момент, конечно, просто получается скрипт, но некоторые моменты удручают. Не в обиду автору, всё равно работа неслабая проделана. СПС "от сердца и почек" :D
"явное объявление типа переменной" и так было в версиях 4.с мелочью, от них отказались и сделали динамическую типизацию. Кликер всё-таки не C++ и так новичкам трудно.

Dampil

  • Освоившийся
  • **
  • Сообщений: 43
    • Просмотр профиля
Re: Массивы
« Ответ #21 : Сентябрь 13, 2014, 11:33:33 pm »
"явное объявление типа переменной" и так было в версиях 4.с мелочью, от них отказались и сделали динамическую типизацию. Кликер всё-таки не C++ и так новичкам трудно.

"Согласные мы" :) Каждому - своё. Просто при некотором опыте С и иже с ним тоже достаточно сложно "вписаться" местами(см. мой пост "первый скрипт комом")
Как говорится, "в конце концов среди них же" просто выразил своё не претендующее на правоту мнение.
Да и в случае явного объявления придётся делать достаточно много функций преобразования между типами. Как бы то ни было, всё решит автор(не в обиду ни в коем случае) и наличие у него свободного времени
« Последнее редактирование: Сентябрь 13, 2014, 11:37:24 pm от Dampil »
"Если вам кажется, что ситуация улучшается, значит, вы чего-то не заметили" Следствие из второго закона Чизхольма

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 2924
  • Котэ
    • Просмотр профиля
Re: Массивы
« Ответ #22 : Сентябрь 15, 2014, 11:48:53 pm »
INT преобразует строки в числа.

Код: Clickermann
  1. ARRPUSH($arr, 4)
  2.  
  3. $a = INT(ARRPOP($arr))
  4. $b = $a + 1
  5. LOGWRITE ($b)
  6.  
  7. HALT

AandD

  • Зашел в гости
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Массивы
« Ответ #23 : Сентябрь 19, 2014, 12:50:38 pm »
А зачем строгая типизация данных?
Достаточно к цифре хранить ее тип, тогда имеем
struct Nuber{
unsigned char type;
void * ptr;
}
да есть некий оверхед по простым обектам, но зато отказываемся от типизации.
Если такая проблема может имеет смысл посмотреть  в сторону js, lua? И заняться расширением функционала?
« Последнее редактирование: Сентябрь 19, 2014, 12:54:17 pm от AandD »

Aant

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Массивы
« Ответ #24 : Ноябрь 01, 2014, 11:53:37 pm »
Стоит добавить, что массивы, как и переменные хранят свои значения. Поэтому последовательный вызов двух scanpicture (например) без извлечения элементов через arrpop приведет к тому что у вас будет двойная очередь координат. Поэтому если вам для работы необходим «чистый» массив, то не забывайте высвобождать память, путем вызова undifine($var). Тут все как для переменных.

Я негодуэ.  :(
Совершенно не очевидно, что функция будет добавлять элементы в конец массива, а не переопределять его. ИМХО такой важный нюанс здорово было бы пометить в справке изначально. Хотя бы фразой не "... выводит координаты найденных экземпляров в массив", а "... добавляет координаты найденных экземпляров в массив", это дало бы мне шанс.
Особенно порадовала опечатка здесь "undifine" вместо правильного "undefine".

P.S. В целом хочу сказать автору спасибо за программу, но недоработки в ней очень сильно затрудняют работу.

UsefulCorpse

  • Зашел в гости
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Массивы
« Ответ #25 : Ноябрь 08, 2014, 06:53:12 pm »
Могу, конечно, ошибиться, но arrpop похожу удаляет элемент массива только в том случае, если есть куда передать вытаскиваемый элемент, т.е. logwrite(arrpop($var)) удалит элемент, а arrpop($var) - нет, что заставило меня долгое время чесать репу)

Johnny

  • Создатель
  • Оплот сообщества
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Массивы
« Ответ #26 : Ноябрь 09, 2014, 11:08:35 am »
Могу, конечно, ошибиться, но arrpop похожу удаляет элемент массива только в том случае, если есть куда передать вытаскиваемый элемент, т.е. logwrite(arrpop($var)) удалит элемент, а arrpop($var) - нет, что заставило меня долгое время чесать репу)

это стандартное поведение для всех функций

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 2924
  • Котэ
    • Просмотр профиля
Re: Массивы
« Ответ #27 : Январь 09, 2015, 01:13:39 pm »
При правильном подходе такого не возникает.

Код: Clickermann
  1. FOR($a=0,$a<7) // создаем массив
  2.   $arr[$a] = 0
  3. END_CYC
  4.  
  5. $arr[6] = 5
  6.  
  7. FOR($a=0,$a<7)
  8.   LOGWRITE ($arr[$a]) // смотрим что получилось
  9. END_CYC
  10.  
  11. HALT

Обычно массивы создаются и читаются в цикле, а не так просто неожиданно записывается [6] = 5

rulentus

  • Зашел в гости
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Массивы
« Ответ #28 : Март 18, 2015, 01:51:29 pm »
А есть ли возможность поместить в массив ивенты, то биш клики по скажем 5 заданным координатам, а потом рандомно через RNDFROM их оттуда вынимать

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 2924
  • Котэ
    • Просмотр профиля
Re: Массивы
« Ответ #29 : Март 18, 2015, 02:20:53 pm »
А есть ли возможность поместить в массив ивенты, то биш клики по скажем 5 заданным координатам, а потом рандомно через RNDFROM их оттуда вынимать

Проще это написать так

Код: Clickermann
  1. $r = RND(1,5)
  2. SWITCH($r)
  3. CASE(1)
  4.   LCLICK(100,100)
  5. CASE(2)
  6.   LCLICK(200,100)
  7. CASE(3)
  8.   LCLICK(300,100)
  9. CASE(4)
  10.   LCLICK(400,100)
  11. CASE(5)
  12.   LCLICK(500,100)
  13. DEFAULT
  14. END_SWITCH
  15. WAITMS(100)