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

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

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

> Описание: Несколько удачных повторов исполнения и ...
Albaz
Отправлено: 30 Августа, 2014 - 08:25:02
Post Id



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


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




[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
 
 Top
Kibor
Отправлено: 30 Августа, 2014 - 09:25:06
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




?
Ну ошибка... Если увижу код, то могу подсказать в чем именно...
 
 Top
Albaz
Отправлено: 30 Августа, 2014 - 18:09:27
Post Id



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


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




раз уж код... Прошу Вас, Kibor и прочих ударников ботоводства дать оценку коду.
Раньше все писал с goto. Сейчас осваиваю функции, потому делаю упор на них.
В общем, как можете охарактеризовать стиль, какие замарочки, что можно написать яснее, проще...
Удалено......
(Добавление)
КАРОЧЕ НЕ МОГУ ВЫЛОЖИТЬ = ТО БОЛЬШОЕ СООБЩЕНИЕ, ТО НЕ МОГУ ОТКОРРЕКТИРОВАТЬ
(Добавление)(для просмотра ссылки Вам необходимо авторизоваться)
как альтернатива - 6.84 KB
(Добавление)
прошу удалить куски кода

(Отредактировано автором: 30 Августа, 2014 - 18:14:25)

 
 Top
Kibor
Отправлено: 30 Августа, 2014 - 18:56:48
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Ну в принципе функции более менее верно использованы. только не надо в каждой функции загружать картинки. сделать для этого одну функцию. переменные в начале объявить в код а не в функции.


тут переменные

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

тут цикл бота вызов функций блоков:
a:
1функция();
2функция();
...
goto a;


тут сами функции

разбивать любое сложное действие на функции (блоки) и с них строить как из кирпичей

Ошибку тут я не могу найти.
 
 Top
Albaz
Отправлено: 30 Августа, 2014 - 19:29:36
Post Id



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


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




походу баг был со скобками - { либо одна лишняя, либо не достает }
CODE:
function timer(string xtimer);
{
//messagebox("Timer");
if(n>50)
{
exit(); // n>50 - показатель серьезной ошибки => выход
}
else
{
sleep(rand(500,1800));
n++;

if(xtimer == "tnachali")
{
nachali();
}

if(xtimer == "tvhodvlike")
{
vhodvlike();
}

if(xtimer == "tispolnvlike")
{
ispolnvlike();
}


if(xtimer == "tlovvstupi")
{
lovvstupi();
}

if(xtimer == "tpodtverdilike")
{
podtverdilike();
}



else exit();
}

 
 Top
Kibor
Отправлено: 30 Августа, 2014 - 19:40:38
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Albaz пишет:
function timer(string xtimer);
{
//messagebox("Timer");
if(n>50)
{
exit(); // n>50 - показатель серьезной ошибки => выход
}
else
{
sleep(rand(500,1800));
n++;
}тут
if(xtimer == "tnachali")
{
 
 Top
Albaz
Отправлено: 30 Августа, 2014 - 19:50:04
Post Id



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


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




не надо в каждой функции загружать картинки.
Почему? Ради читабельности или быстродействия?
Может это не верно, но я думаю - к чему загружать ВСЕ в начале, если оно может не понадобиться (сеть оборвется)? Хотя походу весь скрипт загружается в память сразу и лишний раз при очередном обращении к функции перезагружается то, что и так загружено (картинки)?
И походу так кажется удобнее - на лету все ляпаешь, без сортировки, по мере требования.)
вызов функции загрузки картинок - то же не понимаю. Зачем это дело совершать в функции?
Почему бы не свалить картинки в одну "кучу" с объявляемыми переменными?
Делитесь секретами))
 
 Top
Kibor
Отправлено: 30 Августа, 2014 - 20:20:46
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Ради удобства и быстродействия.
Зачем сто раз загружать если функция выполнится 100 раз??

загрузил все сразу и пользуй.

вот примерно так

 Цитата:
int a[20][20];
int b[20][20];
int x, y;
int n;

if (load_image()==-1){messagebox ("ошибка загрузки картинки"); goto er;}

l:
f1();
f2();
n=f3();
if (n==1)messagebox ("a");
if (n==2)messagebox ("b");
goto l;





er:;

function f1()
{
if (findimage(1, #a[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)
{
messagebox ("a1");
}
if (findimage(1, #b[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)
{
messagebox ("b1");
}
}

function f2()
{
if (findimage(1, #a[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)
{
messagebox ("a2");
}
if (findimage(1, #b[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)
{
messagebox ("b2");
}
}

function f3()
{
if (findimage(1, #a[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)return 1;
if (findimage(1, #b[0][0], 0, #x, #y, 0, 0, 1366, 768, -1)==1)return 2;
return 0;
}

function load_image()
{
if (loadimage (#a[0][0], "C:\a.bmp")<1) return -1;
if (loadimage (#b[0][0], "C:\b.bmp")<1) return -1;
return 1;
}
 
 Top
Albaz
Отправлено: 31 Августа, 2014 - 22:53:56
Post Id



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


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




Не пойму с параметрами возврата.
Хочу что бы вернула несколько величин.
Или хотя бы нечто такого:
CODE:
obsch_schet(1,2,3);
messagebox(time);

function obsch_schet(int time, int shag, int osh){
return time;
}
 
 Top
Kibor
Отправлено: 31 Августа, 2014 - 23:39:18
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Не верно.
Есть локальные, есть глобальные переменные.
Локальные то что объявлены в параметрах функции или в теле. Как тут.
Они видны исключительно в функции. Вот поэтому и не видно time вне (messagebox(time);)

А глобальные - видны везде.

Подробно -(для просмотра ссылки Вам необходимо авторизоваться)
А вот вообще верно вот
 Цитата:
messagebox(obsch_schet(1,2,3));
function obsch_schet(int time, int shag, int osh)
{
return time;
}


Несколько переменных вернуть нельзя. Только так
 Цитата:
int time, shag, osh;
obsch_schet();
messagebox(time);
messagebox(shag);
messagebox(osh);
function obsch_schet()
{
time=5;
shag=2;
osh=52;
}
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Отчет о ошибках »


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




Powered by