Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Chick
Отправлено: 26 Июня, 2020 - 04:50:56
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2020  
Репутация: 0




Приветствую.
Давненько я не задалбывал вас своими вопросами - стараюсь разобраться самостоятельно ))
Но вот возникла такая мысля - а что если ради упрощения кода сделать перебирать имена переменных в цикле?
Поясню. Есть переменные:
CODE:

int var1 = 11;
int var2 = 22;
int var3 = 33;


и есть некий код, одинаковый для них всех с той лишь разницей, что в нем используются разные переменные.

CODE:

messagebox(format(var1));
messagebox(format(var2));
messagebox(format(var3));


Можно ли сделать как-то примерно так:

CODE:

for(n=1;n<4;n++)
{
messagebox(format(varn)); //как то добавить счетчик к имени переменной
}


В некоторых случаях подобная конструкция значительно сократила бы количество строк кода...
 
 Top
Adomb
Отправлено: 26 Июня, 2020 - 06:44:03
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




Используйте массивы. Улыбка
 
 Top
Chick
Отправлено: 26 Июня, 2020 - 08:24:12
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2020  
Репутация: 0




 Adomb пишет:
Используйте массивы. Улыбка

Круто. А каким образом? Массивы массивов?
 
 Top
Nikanr
Отправлено: 26 Июня, 2020 - 10:05:23
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 231
Дата рег-ции: Март 2019  
Репутация: 5




 Chick пишет:
А каким образом


CODE:
int a[3]={1,2,3};

for(int i=0; i<3; i++){

messagebox(a[i]);

}


А для одинакового кода лучше использовать функции, например

CODE:
int a[3]={1,2,3};

for(int i=0; i<3; i++){

bla(a[i]);

}
function bla(int b){

messagebox(b+3);

}
 
 Top
Chick
Отправлено: 26 Июня, 2020 - 10:52:58
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2020  
Репутация: 0




Бро, да это для меня не секрет.
И массивы я использую и функции.

Поясню - у меня есть N видов картинок. И M их подвидов. Скажем, они называются

car_18L_1, car_18L_2, и т.д.
car_20L_1, car_20L_2, и т.д.
car_25L_1, car_25L_2, и т.д.
bus_60L_1, bus_68L_2 и т.д.

в общем, таких видов/подвидов целая куча.

и каждую эту картинку нужно сначала loadimage, а потом и findimage...
И как в таком случае поступить?

Сделать 5-ти мерный массив плюс в цикле еще и проверять вид картинки (ибо он текстовый)?
Может быть куда проще сделать так, как я изначально спросил?

CODE:
string transporttype[2] = {"car", "bus"};
int volume[100] = {13,15,18,20,25,60};
string fullname;

for(int n1=0; n1<100; n1++)
{
for(int n2=0; n2<100; n2++)
{
for(int n3=0; n3<100; n3++)
{
fullname = transporttype[n1]+"_"+format(volume[n2])+"L_"+format(n3);

// а далее как-то нужно прописать findimage с использованием fullname[0][0]
// и так и эдак получается пятимерный массив...
// но так было бы гораздо удобнее
// чем изначально объявлять массив и путаться в цифрах-индексах, забывая,
// где у меня car, где bus, а где троллейбус...

}
}
}

(Отредактировано автором: 26 Июня, 2020 - 10:53:35)

 
 Top
Zireael
Отправлено: 26 Июня, 2020 - 11:43:29
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Сделать 5-ти мерный массив

findimage работает только с двух и трехмерными массивами.
Либо создавать отдельные 3-х мерные, либо псевдо 4-х, 5-ти мерные используя индексацию в 3-х мерном массиве.
 
 Top
Chick
Отправлено: 26 Июня, 2020 - 11:54:28
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2020  
Репутация: 0




 Zireael пишет:
 Цитата:
Сделать 5-ти мерный массив

findimage работает только с двух и трехмерными массивами.
Либо создавать отдельные 3-х мерные, либо псевдо 4-х, 5-ти мерные используя индексацию в 3-х мерном массиве.


Понял. Спасибо!
(Добавление)
 Zireael пишет:

findimage работает только с двух и трехмерными массивами.
Либо создавать отдельные 3-х мерные, либо псевдо 4-х, 5-ти мерные используя индексацию в 3-х мерном массиве.


Вопрос то заключался в другом. Можно ли динамически менять имена переменных в функциях и операторах?
 
 Top
Zireael
Отправлено: 26 Июня, 2020 - 12:35:46
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Можно ли динамически менять имена переменных

Такого нельзя нигде.
 
 Top
Chick
Отправлено: 27 Июня, 2020 - 09:58:00
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2020  
Репутация: 0




 Zireael пишет:
 Цитата:
Можно ли динамически менять имена переменных

Такого нельзя нигде.

Можно ))
Кибор ведь не язык программирования, а среда разработки, а в ней можно реализовать всё, что душа пожелает ))
Как пример -
Скрытый текст:
Для просмотра Вам необходимо авторизоваться и оставить не менее 2000 сообщений
. Там такое возможно и это очень удобно!

(Отредактировано автором: 27 Июня, 2020 - 09:58:51)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by