Кибор, я конечно понимаю что скрипт написан и работает но никак не могу понять как)))
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) |