01. Contar "X" vezes e depois passar.
- Passo 01 - Crie uma variável para definir o limite de contagem. Você pode usá-la como um parâmetro de entrada e para otimização em seu código.
- Passo 02 - Crie outra variável para armazenar o limite contado (quantas vezes já foi contado).
- Passo 03 - Quando o Contador igualar seu limite de contagem, significa que é hora de passar o bloco de código que você especificou.
- Passo 04 - Após passar o código, não se esqueça de resetar o contador. Caso contrário, ele contará infinitamente (nesse caso).
Você também pode definir condições de filtragem para o bloco do contador, como: >> "SE isso for verdade, então conte uma vez."
input int count = 50; // Defina o limite de contagem como uma entrada int Counter; // variável do contador // Inicializando o Expert -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Desinicializando o Expert ------------------- void OnDeinit(const int reason) { } // OnTick do Expert -------------------------- void OnTick() { Counter ++; // adicione 1 ao contador a cada tick. Comment("Contagem Atual -:", Counter); if(Counter == count) // Conte "X" vezes e passe | Este bloco é executado apenas uma vez por contagem. { // Seu código vai aqui...... Alert(count," Vezes contadas"); Counter = 0; // Reset o contador ao final do seu bloco de código. Isso é necessário. } } // Fim do OnTick <<----------------------
02. Passar "X" vezes e depois Esperar "X" vezes.
Esse método pode ser usado como esperar e passar, passar e esperar.
- Passo 01 - Crie uma variável para definir o limite de contagem e o limite de espera. Você pode usá-las como parâmetros de entrada e para otimização em seu código.
- Passo 02 - Crie outra variável para armazenar os limites contados e de espera (quantas vezes foi contado e quantas vezes esperou).
- Passo 03 - Quando o Contador igualar seu limite de contagem, significa que é hora de passar o bloco de código que você especificou.
- Passo 04 - Quando o esperador igualar seu limite de espera, significa que é hora de esperar um pouco.
- Passo 05 - Quando o limite de espera for alcançado, não se esqueça de resetar o contador e o esperador também. Caso contrário, ele deixará de funcionar (nesse caso).
Você pode definir condições de filtragem para os blocos do contador e do esperador também, como: >> "SE isso for verdade, espere um pouco."
input int count = 50; // Defina o limite de contagem como uma entrada input int wait = 50; // Defina o limite de espera como uma entrada int Counter; // variável do contador, valor padrão é "0" int Waiter; // variável do esperador, valor padrão é "0" // Inicializando o Expert -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Desinicializando o Expert ------------------- void OnDeinit(const int reason) { } // OnTick do Expert -------------------------- void OnTick() { Comment("Ticks Contados -: ", Counter, "\n", "Ticks Esperados -: ", Waiter); if(Counter < count) // Passar "X" vezes { Counter++; // atualiza o contador // Seu código vai aqui. } else if(Waiter < wait) // Esperar por "X" vezes { Waiter++; // atualiza o esperador // Seu código vai aqui. } if(Waiter == wait) // Limite de espera alcançado { Counter = 0; // resetar contador Waiter = 0; // resetar esperador } } // Fim do OnTick <<---------------------- //+------------------------------------------------------------------+
Especial -:
Você pode programar o "Passar X vezes e parar" modificando o código acima, removendo o bloco de espera. Assim, ele contará por um número específico e parará até que o contador seja resetado. Você pode resetá-lo em qualquer lugar no seu código se criar essas variáveis em uma escala global. (variáveis globais)