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

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

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

> Без описания
Cash
Отправлено: 17 Ноября, 2014 - 16:54:02
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 56
Дата рег-ции: Окт. 2014  
Репутация: 1




Кибор, я конечно понимаю что скрипт написан и работает но никак не могу понять как)))
CODE:

int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
int время_выполнения_милисек;
j: getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
время_выполнения_милисек=0;
int time;
....
if (Hour==10 && Minute>=00)время_выполнения_милисек=3600000; // 60*60*1000 час
if (время_выполнения_милисек!=0)
time=gettime();
a: if (gettime()-time<время_выполнения_милисек)
{
fight();
sleep(100);
goto a;
}
}
sleep(100);
goto j;

Понято что это вырванный код из общего кода но это сейчас не важно...
вот мы по порядку:
объявили переменые год месяц.... милисекунды
объявили переменную время_выполнения_милисек
получаем текущие год месяц...милисекунды
приравниваем время_выполнения_милисек=0

если (час равен 10 И минут больше 00) умножить? на время_выполнения_милисек (которые мы прировняли нулю)=36000000 //60секунд*60 минут*1000 мелисекунд = 36000000
если время_выполнения_милисек не равно 0
переменной time присваиваем текущее время "gettime"
если текущее время минус переменная время меньше переменной время_выполнения_милисек
выполняем правило в фигурных скобках а именно функцию файт сон и goto
далее опять спим и goto j


вопрос
1. откуда кибор знает что переменная время_выполнения_милисек это вообще время в милисекундах? Откуда он вообще понимает что это время?
2. Если мы только что присвоили переменной время_выполнения_милисек значение равное 0 и тут же просим выполнения функции если оно перестало быть равным 0 то каким образом оно вообще работает?
3. Как вообще понимать эту строчку
time=gettime();
a: if (gettime()-time<время_выполнения_милисек)
4. я тупой? (риторический вопрос. мнение со стороны) Растерялся

(Отредактировано автором: 17 Ноября, 2014 - 16:56:21)

 
 Top
Kibor
Отправлено: 17 Ноября, 2014 - 17:16:27
Post Id



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


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




int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
Взяли 8 ящиков для хранения чисел

int время_выполнения_милисек;
еще один взяли

j: getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
эта функция ложит в каждый ящик по числу дата время....

время_выполнения_милисек=0;
кинули в ящик число 0

int time;
еще один ящик склепали

if (Hour==10 && Minute>=00)время_выполнения_милисек=3600000; // 60*60*1000 час
если в этих язщиках валяются числа 10 и число более 0, кинем в ящик другой число 3600000


if (время_выполнения_милисек!=0)
тут открываем ящик и смотрим число. если оно не равно 0 выполняем функцию, а оно может быто не 0 если
в предыдущей строке в него кинули число 3600000, то есть если наступил час нужный 10ч +0 мин.


time=gettime();
функция эта ложит в ящик число милисек с момента запуска компьютера. для счетчика.


a: if (gettime()-time<время_выполнения_милисек)
проверяем сколько мсекунд прошло с запуска комп. срвниваем с временем в ящике которое было раньше
если сейчас время минус время которое в ящике лежит (мы в ящик положили число мсек с запуска комп)
меньше чем число в ящике время_выполнения_милисек вперед выполнять между скобками
 
 Top
Cash
Отправлено: 17 Ноября, 2014 - 19:20:58
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 56
Дата рег-ции: Окт. 2014  
Репутация: 1




1. Зачем тогда мы в начале ящику время_выполнения_милисек сначала присваиваем 0 а потом 3600000?
2. if (Hour==10 && Minute>=00)время_выполнения_милисек=3600000; // 60*60*1000 час
то есть никаких пробелов после скобки? никаких фигурных скобок? зачем же мы тогда после условия пишем {} если тут они не нужны?
3. a: if (gettime()-time<время_выполнения_милисек)
у нас time=gettime(); почему бы сразу не написать тогда if (0<время_выполнения_милисек)
 
 Top
Kibor
Отправлено: 17 Ноября, 2014 - 19:33:42
Post Id



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


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




 Cash пишет:
1. Зачем тогда мы в начале ящику время_выполнения_милисек сначала присваиваем 0 а потом 3600000?

мы не потом там присваиваем, а если

 Cash пишет:
2. if (Hour==10 && Minute>=00)время_выполнения_милисек=3600000; // 60*60*1000 час
то есть никаких пробелов после скобки? никаких фигурных скобок? зачем же мы тогда после условия пишем {} если тут они не нужны?
(для просмотра ссылки Вам необходимо авторизоваться)
 Cash пишет:
3. a: if (gettime()-time<время_выполнения_милисек)
у нас time=gettime(); почему бы сразу не написать тогда if (0<время_выполнения_милисек)

сразу равно, потом когда переходим на a разрыв то увеличивается
 
 Top
Cash
Отправлено: 17 Ноября, 2014 - 20:11:49
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 56
Дата рег-ции: Окт. 2014  
Репутация: 1




по пункту 2 все равно не вникаю.
тут(для просмотра ссылки Вам необходимо авторизоваться) нет ни одного примера где после if действия бы описывались без фигурных скобок.
четко описано, что после условия иф открываются круглые скобки в которых описывается само условие, а далее если условие выполняется, то в фигурных описываем действие
иначе опять фигурные скобки и другое действие (опционально). То есть по моей логике правильным было бы написание
if (Hour==10 && Minute>=00)
{время_выполнения_милисек=3600000};
 
 Top
Kibor
Отправлено: 17 Ноября, 2014 - 21:43:44
Post Id



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


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




 Cash пишет:
тут(для просмотра ссылки Вам необходимо авторизоваться) нет ни одного примера где после if действия бы описывались без фигурных скобок.


 Цитата:
int color=178898;
if (color==getcolor(10, 20))messagebox("совпадение цвета 178898 с цветом в экранных координатах 10, 20"Подмигивание;

одна инструкция когда можно без.

если много брать в скобки - блок кода
 
 Top
Cash
Отправлено: 17 Ноября, 2014 - 22:24:17
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 56
Дата рег-ции: Окт. 2014  
Репутация: 1




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


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




Powered by