Estruturas de Controle -
ProKillerpa - 31.12.2013
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 s = 0; s < 10; s++)
{
if (s == 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 s = 0; s < 3; s++)
{
if (s == 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 41, vida 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
Re: Estruturas de Controle -
Juniiro3 - 31.12.2013
O Sleep sу funciona no main(), pelo que diz a wiki SAMP, fora isso, bom tutorial!
Re: Estruturas de Controle -
Dolby - 31.12.2013
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б:
De qualquer maneira bom tutorial, porйm falta adaptar alguns termos e explicar em uma linguagem mais formal e de fбcil entendimento.
Re: Estruturas de Controle -
ProKillerpa - 31.12.2013
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...
Re: Estruturas de Controle -
PT - 31.12.2013
Bom tuto!
parabens.
Re: Estruturas de Controle -
WLSF - 31.12.2013
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...