Tutorial Break / Continue
Continuação do tutorial de Loop!
Break
Break's são usados em Loop's, podendo parar o processo do mesmo.
loop faz uma conta rápida de um numero a outro, exemplo: de 0 a 500, com o Break você poderá parar essa conta em qualquer numero entre 0 e 500...
Exemplo:
new string[20]; for(new i = 0; i < MAX_PLAYERS; i++) { if(i == GetMaxPlayers()) { format(string, sizeof(string), "Slots: {1E90FF}%d", i); SendClientMessageToAll(Branco, string); break; } }Esse Loop vai fazer a conta de 0 a 500(que é o valor máximo de slots), porem, quando o (i) que é a variável criada no loop chegar ao numero máximo de slots(do servidor) ele irá formatar uma string e mandar uma mensagem para todos com o numero de slots do servidor. Após isso, irá parar o loop usando break.
Já se você mudar a ordem do código, colocando o format e o SendClientMessage fora das chaves do if que compara a variável do loop com o numero máximo de slots, ele terá um resultado diferente.
Exemplo de como ficaria o código:
new string[20]; for(new i = 0; i < MAX_PLAYERS; i++) { if(i == GetMaxPlayers()) { break; } format(string, sizeof(string), "Slots: {1E90FF}%d", i); SendClientMessageToAll(Branco, string); }
No exemplo acima, ele não mandaria o resultado obtido e sim todos os resultados durante o progresso da conta, em um servidor de 3 slots por exemplo ele mandaria várias mensagems com a seguinte string:
0
1
2
Essa ordem ainda pode ser alterada, colocando o format e o SendClientMessage acima do if que contem o break, ficando assim:
new string[20]; for(new i = 0; i < MAX_PLAYERS; i++) { format(string, sizeof(string), "Slots: {1E90FF}%d", i); SendClientMessageToAll(Branco, string); if(i == GetMaxPlayers()) { break; } }
O resultado nesse caso seria:
0
1
2
3
4
5
Continue
Da mesma forma que à uma função que pare um loop também à uma que faça ele continuar, e o nome é bem apropriado. continue. O continue pode ser usado para pular um ou mais numeros no loop, exemplo:
new string[20]; for(new i = 0; i < 5; i++) { if(i == 3) { continue; } format(string, sizeof(string), "Slots: {1E90FF}%d", i); SendClientMessageToAll(Branco, string); } return 1; }
Neste exemplo, estariamos fazendo a conta com o resultado máximo de 5(que supostamente seria o numero de slots) então, o continue faria o loop pular o numero 3, o resultado seria esse:
0
1
2
4
Para pular mais de um numero é simples, você só precisa usar operadores ">, &&, <"
new string[20] for(new i = 0; i < 10; i++) { if(i > 3 && i < 7) { continue; } format(string, sizeof(string), "Slots: {1E90FF}%d", i); SendClientMessageToAll(Branco, string); } return 1; }
Neste caso, ele pularia após o numero 3 e antes do numero 7, tendo o resultado:
0
1
2
3
7
8
9
Bom, fiz este tutorial básico por que ao fazer a lista de tutoriais notei que não há nenhum tutorial sobre o assunto, apesar de ser uma coisa simples, por não haver muitos lugares com informações algumas pessoas não sabem que utilidade pode ter Break e Continue, então ai está =)
0 comentários:
Postar um comentário