[Tutorial] Estruturas de Controle
#1

Oque й::
Estruturas de controle refere-se а ordem em que instruзхes, expressхes e chamadas de funзгo sгo executadas no script.



Oque serб aprendido::

Break
Continue
If
Else if
sleep
return



Observaзхes::

Nнvel do Tutorial: Intermediбrio.
Necessбrio saber: Loops, variбveis.
Boa aprendizagem!



Explicaзгo & Exemplos:



BREAK:

O Nome refere a "Pausa", e seu componente й o Continue. Break й usado Loops e em switch e se forem usados nos mesmos, eles o "pausam" continuando apenas se a funзгo Continue for chamada.

PHP код:
for (new 010s++)
{
    if (
== 5) break;

Acima, o loop ira girar 6 vezes, mas ao usar pausar(break), ele girarб apenas 5 vezes ao ser retomado.



Continue:

O Continue faz parte do Break, eles formam um lindo casal *-*, o continue serve para "despausar" oque o break fez. O nome mesmo ja diz, Continue, vem de continuar algo, algo que esteja parado.

PHP код:
for (new 03s++)
{
    if (
== 1) continue;
        
printf("Valor de S й: %d"s)

If e Else if:

Essa condicionais sгo muitas utilizadas em scripts, pois elas verificam se um valor й igual,maior,menor que o outro, dependendo da operaзгo usada.

Condicionais:

Код:
>= ( Maior ou igual que )
<= ( Menos ou igual que )
== ( Igual б )
<  ( Menos que )
>  ( Maior que )
PHP код:
if(GetPlayerHealth(playerid) == 10// Aqui o Operador IF, verifica se a funзгo nativa 'GetPlayerHealt' й igual a 10. 
// Se for igual a 10, executarб a funзгo aberta pela chave, no caso uma mensagem
        
SendClientMessage(playerid, -1"Vocк possui 10 de vida, vб se curar.");
// fechamos a funзгo.
else if(GetPlayerHealth(playerid) <= 20//O If acima executou se fosse igual a 10, caso nгo for, executarб o else if, que verificaria outra condiзгo, caso a mesma nгo seja, continuarб lendo atй chegar a uma condiзгo vбlida.
{
        
SendClientMessage(playerid, -1"Vocк possui menos de 20 de vida, vб se curar);
}
else if(GetPlayerHealth(playerid) >= 41) // Getarб se a vida do player for maior ou igual a 41, caso for, executarб o que estб entre as { chaves }.
{
 
        SetPlayerHealth(playerid, 100);
        SendClientMessage(playerid, -1, "
Vocк possui HP acima de 41vida setada a 100.");// Envia a Mensagem


Sleep:

A funзгo sleep, o prуprio nome ja diz, dormir. Ela serve para pausar um curto perнodo.

PHP код:
main() {
printf("Gamemode sendo executado, aguarde...");
sleep(3000); // O tempo й usado em milisegundo. 3000 = 3 segundos.
printf("Gamemode carregado");


Return:

O Return ao ser agregado a uma condiзгo favorбvel, termina a funзгo e nгo a deixa seguir em frente.

PHP код:
CMD:aniversariante(playerid) {
if(
Aniversariante[playerid] == 1) return SendClientMessage(playerid, -1"Parabйns aniversariante!");
SendClientMessage(playerid, -1"Vocк nгo й aniversariante");
return 
1;


Finalizaзгo:

Obrigado a todos que leram esse tutorial.
Nгo estб identado porque o tab nao funciona em pбginas '-'
Espero que ajudem-os!
Crйditos: ProKillerPa


Reply
#2

O Sleep sу funciona no main(), pelo que diz a wiki SAMP, fora isso, bom tutorial!
Reply
#3

Vocк se utilizou de alguns termos incorretos e tem alguns pequenos erros, entre eles citar que break й usado somente em loops, break tambйm pode ser utilizado juntamente com switch, para "cancelar" a verificaзгo que ainda resta.

A keyword continue nгo serve exatamente para pausar o que o break faz, mas sim serve para "pular" a verificaзгo, exemplo:

pawn Код:
for(new i; i < 6; i++)
{
     if(i == 2) continue;
     printf("%d",i);
}
Neste simples caso, quando i for igual a 2, ele vai "pular", e vai continuar para a prуxima verificaзгo, ou seja, chamar o 3° parвmetro da keyword for (i++).

O output(saнda) ficarб:
Quote:

0
1
3
4
5

De qualquer maneira bom tutorial, porйm falta adaptar alguns termos e explicar em uma linguagem mais formal e de fбcil entendimento.
Reply
#4

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Vocк se utilizou de alguns termos incorretos e tem alguns pequenos erros, entre eles citar que break й usado somente em loops, break tambйm pode ser utilizado juntamente com switch, para "cancelar" a verificaзгo que ainda resta.

De qualquer maneira bom tutorial, porйm falta adaptar alguns termos e explicar em uma linguagem mais formal e de fбcil entendimento.
Nгo tinha conhecimento disso, obrigado...
Reply
#5

Bom tuto!

parabens.
Reply
#6

Mal explicado, o break quebra a relaзгo de continuidade do LOOP, nгo tem essa de 'break pausa e continue despausa'.

E o teu exemplo do continue tб mal feito ou mal identado dependendo do que tu queria fazer ali.

O continue pula uma rodada do loop.

pawn Код:
if (i == 1) continue; // ele vai pular o i para a prуxima increment/decrement caso o i seja igual a 1
Deu pra ver que vocк nгo entende muito tambйm, quando quiser aprender o funcionamento bem, tu testa na prбtica, й a melhor forma.

E na teoria й bom ler livros especнficos sobre programaзгo ou qualquer linguagem, eles explicam estruturas de controle/repetiзгo, operadores e etc...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)