Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Помогите с алгоритмом и желательно кодом опертора if!

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

1. Albaz - 01 Января, 2014 - 06:50:45 - перейти к сообщению
В определенном этапе браузерки возможны следующие варианты:
1)Гейм перерыв (на неопределенное время)
2)Гейм открыт для входа
3)Нет ни №1, ни №2 по пречине временного сбоя сети (потребна проверочная перезагрузка страницы X раз с интервалом времени t перед выходом)

begin:

Если №1 - то перед выходом целесообразна перезагрузка страницы X раз с интервалом времени t в поисках №2

Если №2 - то переходим к инструкции исполнения, по успешном завершении - возвращаемся к метке begin;

Если №3 - то перед выходом целесообразна перезагрузка страницы X раз с интервалом времени t чтобы убедиться в невозможности получить №1 и №2
____________________________________________________________________
2. Albaz - 01 Января, 2014 - 09:41:56 - перейти к сообщению
begin:
CODE:

sleep(rand(300, 800);

if(findimage(Image_№2)==1)
{
n=0;
m=0;
goto ispolnenie;
}

if(findimage(Image_№1)==1)
{
goto cikl1;
}

else goto cikl2;

cikl1:
if(m<220)
{
m=m+1;
goto begin;
}
else goto end;

cikl2:
if(n<220)
{
n=n+1;
goto begin;
}
else goto end;

end:
(Добавление)
Затруднение в том, что я хочу, чтобы отчет по выполнению поисков по парметрам №1 и №3 происходили развязанно друг от друга. Для этого два счетчика циклов с перемменными m и n. Т.е. надо 220 раз искать по случаю перерыва гейма и 220 раз в случае обрыва сетевого соединения. Но как-то это выглядит неуклюже, не гениально (просто). Можно бы использовать и один счетчик, но не желаю произвола ситуации, когда например вначале 120 повторов будет по случаю разрыва соединения, а следыющие 100 - по случаю паузы. Как-то надо сделать гибче.
И это не единственный счетчик циклов в программе. И везде я хочу использовать чтобы не запутаться одну переменную n. По этому в случае удачного перехода к другому (следующему) блоку я переменную n (и m) обнуляю, что бы в счетчике нового блока отсчет начинался с 0.
В идеале, если цикл идет по параметру №1 и мы работаем в цикле с переменной m желательно, чтобы остаток значения n!=0 тоже обнулялся. Как и в обратном случае - если считаем по №3 и имеем дело с n, то и m желательно обнулить.
Хотя слабая сторона данного решения - совокупность циклов может увести в бесконечность, если например сперва 219 насчитали по параметру №1, а потом ситуация поменялась и отсчет пошел по параметру №3 до 123, после чего ситуация вернулась к исходному на время, а потом к вновь к этому - и так до бесконечности.
Я понимаю, что в реальности вероятность осущетвления описанной картины маловероятна, но все же хочется обеспечить теоретическую надежность программы философски...
Можно попытаться над этими счетчиками поставить еще третий, наблюдающий, что суммарная величина пройденных циклов не превысила критический лимит. При этом принципиально желаю вести отчет по разным параметрам независимо. Но слишком сложное - есть малонадежное.
Помогите, как быть!!!!!
(Добавление)
Рад буду практическому и компромиссному решению(концепция прагматизма), однако более желаю рецепт, максимально гладкий с точки зрения теории. Надеюсь, хоть и не совсем ясным языком, но свою проблему я обрисовал.
3. Albaz - 01 Января, 2014 - 12:19:20 - перейти к сообщению
Думается, это система с обратной связью. Возможно, ответ следует искать в кибернетике?
Тогда вопрос к профессионалам программирования: "Что есть для вас кибернетика?".

Powered by ExBB FM 1.0 Final